Cloud Parts

SST

A TypeScript framework that defines a whole app, from Next.js front end to functions, containers and databases, in one config file and deploys it to your own AWS or Cloudflare account.

Type
Open source
Made by
Anomaly Innovations
License
MIT
Facts checked
6 October 2026

What it is

An SST app is described in one file, sst.config.ts. Instead of listing low-level resources, you create components: sst.aws.Nextjs for a front end with its domain, sst.aws.Function for a Lambda function, sst.aws.Service for an always-on container on ECS and Fargate, plus buckets, Postgres databases, cron jobs, and Cloudflare Workers. Each component creates the underlying resources with sensible defaults, and a transform option lets you change any of them. Beyond the built-in AWS and Cloudflare components you can use resources from any of the 150+ Pulumi and Terraform providers, such as Stripe, Vercel or PlanetScale.

Under the hood SST uses Pulumi’s deployment engine with Terraform-based providers. It runs from your machine or CI, keeps its state file locally and backs it up to a bucket in your account, with secrets in the state encrypted by a passphrase stored in SSM. Two features target the inner loop. Linking (link: [bucket]) grants a function or site permission to a resource and gives your code typed access to it, as Resource.MyBucket.name. sst dev deploys the app to a development stage and proxies its Lambda invocations to your laptop, so code changes take effect without a redeploy.

SST is open source under MIT, built by Anomaly Innovations, which also makes opencode, OpenNext and OpenAuth and sells the optional SST Console for logs, issues and automatic deploys. Versions 1 and 2 were built on the AWS CDK and CloudFormation; version 3 (2024) replaced both, and version 4 (February 2026) moved to version 7 of the Pulumi AWS provider. The latest release is 4.17.1, from July 2026.

Why teams pick it

  • High-level components for frameworks like Next.js, Remix, Astro and SvelteKit, so a full-stack app is a few lines of config
  • Live Lambda development: sst dev runs functions locally against real AWS events, with breakpoints and the function’s real IAM permissions
  • Resource linking replaces hand-written IAM policies and environment variables, with typed SDKs for JS/TS, Python, Go and Rust
  • No CloudFormation underneath since v3: no stacks, no 500-resource limit per stack, and any Pulumi or Terraform provider

Watch out for

  • Major versions have meant migrations: v3 dropped CDK constructs, which had to be rewritten, and v4 needs a one-way state refresh on every stage
  • Built-in components exist only for AWS and Cloudflare; anything else is lower-level provider resources
  • The config is TypeScript, and the project depends on one small company whose team also works on other products
  • Another layer between you and the cloud: when a component’s defaults don’t fit, you debug its generated Pulumi resources

Alternatives

What all infrastructure as code have in common →

How it fits with other technologies

sst.config.ts: a bucket linked to a function with a public URL · ts

/// <reference path="./.sst/platform/config.d.ts" />
export default $config({
  app(input) {
    return { name: "receipts", home: "aws" };  // state lives in your AWS account
  },
  async run() {
    const bucket = new sst.aws.Bucket("Uploads");
    const api = new sst.aws.Function("Api", {
      handler: "src/api.handler",
      url: true,
      link: [bucket],  // IAM access + typed Resource.Uploads in the handler
    });
    return { url: api.url };
  },
});
// $ sst dev       deploys a dev stage, runs functions live on your machine
// $ sst deploy --stage production

See it in a real stack

No architecture uses SST yet. Drop it into the playground and wire it up yourself.Open playground →
Where it came from2020–2026

SST started in 2020 as Serverless Stack, a framework for building serverless apps on AWS that launched publicly in 2021. It was built on the AWS CDK, so its constructs generated CloudFormation templates that AWS then deployed. In June 2022 it renamed itself SST, partly to stop being confused with the Serverless Framework, and moved to sst.dev; v1 had shipped that May and a rewritten v2 followed in February 2023.

After nearly three years on CDK and CloudFormation, the team decided the foundations were the problem. A January 2024 post listed what they kept hitting: CloudFormation runs as a black box on AWS’s side, failed deployments can get stuck rolling back, every stack is limited to 500 resources (a Next.js site alone created around 68), and supporting a non-AWS provider such as Cloudflare would need custom-resource hacks. They began a new engine, code-named Ion, built on Pulumi and Terraform providers.

Ion was released as SST v3 in August 2024, with no CDK, no CloudFormation and support for 150+ providers. SST v4, in February 2026, was a smaller step that moved to the Pulumi AWS provider v7. Meanwhile the company behind it, Anomaly, broadened its work to opencode, an open-source AI coding agent, alongside OpenNext and OpenAuth.

Why it’s built this way

Start on top of the AWS CDK
CDK already modelled every AWS resource and deployed through CloudFormation, so a small team could focus on higher-level constructs and live development instead of a deployment engine.
Replace CDK and CloudFormation with Pulumi and Terraform providers
CloudFormation’s opaque execution, slow and sometimes stuck rollbacks and 500-resource stack limit kept hurting users, and it couldn’t deploy to providers like Cloudflare without workarounds.
Run Lambda functions on the developer’s machine during development
Redeploying a function to test every change is slow. Proxying invocations from AWS to the laptop gives sub-second reloads and real breakpoints while still using real events and permissions.
Link resources instead of wiring permissions by hand
Connecting a function to a bucket normally means an IAM policy plus an environment variable with the bucket’s name. One link does both and gives the code typed access.

Timeline

  1. 2020

    Repository created as Serverless Stack, built on the AWS CDK

  2. 2022

    SST v1 in May; renamed from Serverless Stack to SST in June

  3. 2023

    SST v2, a rewrite into a single sst package, in February

  4. 2024

    Team announces Ion in January; released as SST v3 in August

  5. 2026

    SST v4 moves to the Pulumi AWS provider v7 in February

Sources15 · facts checked 6 October 2026

Improve this page on GitHub