English for SST Ion
Learn the English vocabulary for SST Ion infrastructure-as-code: components, linking, live Lambda development, and stages, explained for developers deploying to AWS.
SST Ion rebuilt SST on top of Pulumi rather than CloudFormation, and along with the rewrite came a refreshed vocabulary for how teams describe their infrastructure. Terms like “component,” “linking,” and “live Lambda development” now carry specific meanings in SST conversations that differ subtly from general AWS or Terraform terminology. This guide covers what you need to talk about SST Ion projects clearly.
Key Vocabulary
Component — a reusable, high-level building block in SST (like sst.aws.Function or sst.aws.Nextjs) that wraps the underlying cloud resources needed to run a particular kind of service, without requiring you to configure each resource manually.
“Instead of wiring up API Gateway and Lambda by hand, we just used the Function component and let SST handle the plumbing.”
Linking — SST’s mechanism for granting one resource typed, permission-scoped access to another (like a function to a database) automatically, without manually writing IAM policies. “We linked the queue to the function, so SST generated the IAM permissions and typed access for us instead of us hand-writing a policy.”
Live Lambda development — a feature that proxies real AWS Lambda invocations to your local machine during development, so you can debug and iterate against actual cloud infrastructure without redeploying on every change. “With live Lambda development, we can set breakpoints locally and still have real requests from the deployed API hit our code.”
Stage — an isolated deployment environment (like dev, staging, or a developer’s personal stage) that gets its own independent set of cloud resources, letting multiple people or environments coexist without collisions.
“Each engineer gets their own stage, so nobody’s local testing accidentally breaks the shared staging environment.”
Pulumi provider — the underlying engine SST Ion uses to provision and manage cloud resources, replacing the CloudFormation-based approach of earlier SST versions. “Since the move to the Pulumi provider, deploys are noticeably faster and diffs are easier to reason about before applying.”
Resource binding — accessing a linked resource’s configuration (like a table name or bucket ARN) inside your application code through a typed, generated interface, instead of reading raw environment variables. “Resource binding gives us autocomplete and type safety for the table name, so a typo gets caught at compile time instead of at runtime.”
Common Phrases
- “Did you link the two resources, or are we still passing the ARN through an environment variable manually?”
- “Spin up your own stage for this feature branch so you’re not deploying over someone else’s testing.”
- “Use live Lambda development so we can actually debug this instead of guessing from CloudWatch logs.”
- “Check the component’s default configuration before writing a custom one from scratch.”
- “Resource binding caught that typo in the table name before we even deployed.”
Example Sentences
Onboarding a new engineer:
“Every developer gets their own stage when they run sst dev, so you can deploy and test freely without affecting anyone else’s environment. Live Lambda development means your local breakpoints work even though the function is technically running in AWS.”
Explaining an infrastructure change: “We linked the new S3 bucket to the upload function, so SST automatically generated the correct IAM permissions — there’s no policy to hand-write or review separately.”
Describing the migration rationale: “Moving to SST Ion’s Pulumi provider gave us faster deploys and clearer diffs before applying changes, compared to the CloudFormation-based version we were using before.”
Professional Tips
- Say “linking” specifically when describing SST’s automatic permission-and-access wiring — it’s more precise than “we connected them,” which could mean anything from networking to IAM.
- Mention stages explicitly when discussing environment isolation; it signals you understand SST’s per-developer or per-branch deployment model rather than a single shared staging environment.
- Use “live Lambda development” when explaining your debugging workflow to a teammate coming from a different framework — it’s a distinctive SST feature worth naming directly.
- Distinguish a component (SST’s high-level abstraction) from the underlying cloud resources it provisions when documenting architecture, so readers know which layer they’re modifying.
Practice Exercise
- Explain, in two sentences, what linking does and why it’s useful compared to manually writing IAM policies.
- Write a one-sentence onboarding note explaining what a stage is to a new engineer.
- Describe the benefit of live Lambda development to a teammate used to redeploying after every code change.