Serverless Stack (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
npx create-serverless-stack@latest my-sst-app
cd my-sst-app
# Start Live Lambda Dev
npx sst start
# Open the SST Console
open console.serverless-stack.com
# Deploy to prod
npx sst deploy --stage prod
Follow us on Twitter and subscribe to our newsletter for updates.
We think SST can make it dramatically easier to build serverless apps.
The 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!
Read more about Live Lambda Development.
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
Read more about the SST Console.
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
- 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!
SST also comes with a few other niceties:
Internally, SST uses the CDK CLI to invoke the various CDK commands.