SST is a framework that makes it easy to build serverless apps. It's an extension of AWS CDK and it features:
- A Live Lambda Development environment
- A web based dashboard to manage your apps
- Support for setting breakpoints and debugging in VS Code
- Higher-level constructs designed specifically for serverless apps
- Zero-config support for JS and TS (using esbuild), Go, Python, C#, and F#
Create your first SST app.
# Create a new SST app npm init sst cd my-sst-app # Start Live Lambda Dev npm start # Open the SST Console open console.sst.dev # Deploy to prod npx sst deploy --stage prod
We think SST can make it dramatically easier to build serverless apps.
Live Lambda Development
sst start command starts up a local development environment that opens a WebSocket connection to your deployed app and proxies any Lambda requests to your local machine.
This allows you to:
- Work on your Lambda functions locally
- Supports all Lambda triggers, so there's no need to mock API Gateway, SQS, SNS, etc.
- Supports real Lambda environment variables and Lambda IAM permissions
- And it's fast. There's nothing to deploy when you make a change!
The SST Console is a web based dashboard to manage your SST apps.
It allows you to:
- Invoke functions and replay them
- Make HTTP requests and test your APIs
- Scan, query, and edit items in DynamoDB
- Query the GraphQL endpoints in your app
- Upload and delete files from your buckets
- Create and delete users in your User Pools
- Query your RDS databases and run migrations
Composable serverless constructs
SST also comes with a set of serverless specific higher-level CDK constructs. This includes:
- Api for building APIs
- Cron for building cron jobs
- Queue for creating queues
- Bucket for adding S3 buckets
- Auth for configuring authentication
- Table for adding DynamoDB tables
- Topic for creating pub/sub systems
- RemixSite for creating Next.js websites
- StaticSite for creating static websites
- NextjsSite for creating Next.js websites
- Script for running scripts while deploying
- ViteStaticSite for static sites built with Vite
- KinesisStream for real-time data streaming
- RDS for creating an RDS Serverless Cluster
- WebSocketApi for creating WebSocket APIs
- GraphQLApi for using GraphQL with Lambda
- EventBus for creating EventBridge Event buses
- AppSyncApi for creating AppSync GraphQL APIs
- ApiGatewayV1Api for using AWS API Gateway v1
- ReactStaticSite for static sites built with Create React App
SST also supports deploying your CloudFormation stacks asynchronously. Seed natively supports concurrent asynchronous deployments for your SST apps. And SST deployments on Seed are free!
Internally, SST uses the CDK CLI to invoke the various CDK commands.