用SST构建全栈应用:比Serverless Framework更简单的基础设施即代码方案
用SST构建全栈应用比Serverless Framework更简单的基础设施即代码方案为什么需要基础设施即代码IaC独立开发者的早期阶段通常手动在AWS/GCP控制台点击创建资源如创建一个DynamoDB表、配置一个S3桶。但当你的产品有10个AWS资源时手动管理会出问题不可复现你忘了当时是怎么配置这个S3桶的权限环境不一致开发环境和生产环境的配置不同导致在我机器上能跑协作困难团队成员无法看到你的基础设施配置IaC工具对比工具学习曲线配置语言适合场景Terraform陡HCL多云平台、大型项目Serverless Framework中YAML/TSServerless应用SST低TypeScript全栈应用、独立开发者Pulumi中TS/Python/Go多语言团队SST的优势用TypeScript定义基础设施且和应用代码在同一个仓库——你不需要切换上下文。SST核心概念Stack、Resource、BindingStack栈一组相关资源的集合如生产环境栈、开发环境栈。Resource资源一个AWS资源如DynamoDB表、S3桶、Lambda函数。Binding绑定让应用代码能安全访问基础设施资源如这个函数需要访问这个DynamoDB表。项目结构my-sst-app/ ├── sst.config.ts # SST配置文件 ├── packages/ │ ├── functions/ # Lambda函数 │ └── frontend/ # 前端Next.js/Remix └── sst.env.ts # 自动生成的类型绑定实战用SST Next.js DynamoDB构建全栈应用第一步初始化SST项目# 创建SST项目会选择前端框架 npx create-sstlatest # 选择 # - Template: Next.js (App Router) # - TypeScript: Yes # - ESLint/Prettier: Yes cd my-sst-app npm install第二步配置基础设施sst.config.ts// sst.config.ts import { Config, StackContext, Nextjs, DynamoDB } from sst/constructs; export default async function (app: StackContext) { // 1. 创建DynamoDB表 const table new DynamoDB(app, PostsTable, { fields: { pk: string, sk: string, }, primaryIndex: { partitionKey: pk, sortKey: sk }, }); // 2. 创建Next.js应用 const site new Nextjs(app, Site, { bind: [table], // 关键绑定table让Next.js能访问 environment: { POSTS_TABLE_NAME: table.tableName, }, }); // 3. 输出有用信息 app.addOutputs({ SiteURL: site.url, TableName: table.tableName, }); }关键bind: [table]会自动给Next.js函数API Routes授予访问这个DynamoDB表的IAM权限——你不需要手动写IAM策略。第三步在Next.js里访问DynamoDB// packages/functions/src/posts.ts import { DynamoDBClient, PutItemCommand } from aws-sdk/client-dynamodb; import { marshall } from aws-sdk/util-dynamodb; // SST会自动注入AWS凭证通过binding const dynamoDB new DynamoDBClient({}); export async function createPost(post: { id: string; title: string; content: string }) { await dynamoDB.send( new PutItemCommand({ TableName: process.env.POSTS_TABLE_NAME!, Item: marshall({ pk: POST#${post.id}, sk: POST#${post.id}, title: post.title, content: post.content, createdAt: new Date().toISOString(), }), }) ); }第四步本地开发# 启动本地开发环境会启动Next.js dev server 本地DynamoDB模拟器 npx sst devSST的dev命令会启动Next.js开发服务器通常是localhost:3000启动本地AWS资源模拟器如DynamoDB Local自动注入AWS凭证指向本地模拟器这让你能完全本地开发不需要每次都部署到AWS。部署从开发到生产部署到开发环境npx sst deploy --stage dev部署到生产环境npx sst deploy --stage prodSST会打包并上传你的函数和资源更新CloudFormation堆栈输出部署结果如SiteURL: https://xyz.cloudfront.net查看部署日志npx sst logs --stage prod高级功能自定义域名、CI/CD、Secret管理自定义域名// sst.config.ts import { Nextjs } from sst/constructs; new Nextjs(app, Site, { bind: [table], customDomain: { domainName: app.yourproduct.com, hostedZone: yourproduct.com, // 需要在Route 53有这个Hosted Zone }, });Secret管理import { Secret } from sst/constructs; // 定义SecretSST会存储在AWS Secrets Manager const stripeKey new Secret(app, STRIPE_KEY); // 绑定到函数 new Nextjs(app, Site, { bind: [table, stripeKey], }); // 在函数里访问 console.log(process.env.STRIPE_KEY); // SST自动注入设置Secret值npx sst secret set STRIPE_KEY sk_live_xxx --stage prodSST v32024从CDK迁移到Prob星系SST v32024年发布从基于AWS CDK迁移到基于Prob星系Pulumi的竞品。这带来了更快的部署不需要合成CloudFormation模板直接应用变更更好的本地开发本地模拟器更完整多云支持实验性不只AWS还支持Azure、GCP迁移到v3# 更新SST npm install sstlatest # 运行迁移向导 npx sst upgrade成本优化SST AWS无服务器 vs 传统VPS成本对比月访问10万次方案计算成本数据库成本总额SST Lambda DynamoDB$0.20前100万次免费$025GB免费$0.20VPS如DigitalOcean $20/月$20包含在VPS$20HerokuStandard 0$25$15Postgres Add-on$40关键AWS无服务器的按使用量计费对独立开发者极友好——早期几乎免费增长后才需要付费。成本优化技巧用DynamoDB On-demand模式按请求数计费适合流量波动大的产品用Lambda Provisioned Concurrency如果流量稳定可以预置并发降低成本用CloudFront缓存减少Lambda调用次数结论SST是独立开发者的AWS最佳伴侣如果你在做全栈应用且需要AWS服务如DynamoDB、S3、CognitoSST是比Terraform/Serverless Framework更好的选择——它更简单易用且和应用代码集成更紧密。最小可行架构MVP用SST定义Next.js DynamoDB S3用sst dev本地开发用sst deploy部署到AWS这套架构能支撑月访问100万次的产品——且成本$50/月。下一步把你的Next.js应用从自托管VPS迁移到SST AWS无服务器——你会立即感受到不用运维的自由。

相关新闻

Claude API调用实战:官方接口与国内中转服务技术选型指南

Claude API调用实战:官方接口与国内中转服务技术选型指南

最近在调试一个需要调用 Claude 模型的自动化脚本时,遇到了一个典型问题:脚本在本地开发环境运行正常,但一到生产服务器就频繁报错unable to connect to anthropic services。排查后发现不是代码问题,而是网络连接稳定性导致的。这…

2026/7/26 21:05:45阅读更多 →
3步入门Lucy Edit Dev:从视频编辑新手到AI模型贡献者的蜕变之路

3步入门Lucy Edit Dev:从视频编辑新手到AI模型贡献者的蜕变之路

3步入门Lucy Edit Dev:从视频编辑新手到AI模型贡献者的蜕变之路 【免费下载链接】Lucy-Edit-Dev 项目地址: https://ai.gitcode.com/hf_mirrors/decart-ai/Lucy-Edit-Dev 你是否曾经看着短视频平台上那些炫酷的特效变换,心想"要是我也能这样…

2026/7/26 21:05:45阅读更多 →
5分钟快速上手:Docling Serve 文档转换与OCR处理的终极解决方案

5分钟快速上手:Docling Serve 文档转换与OCR处理的终极解决方案

5分钟快速上手:Docling Serve 文档转换与OCR处理的终极解决方案 【免费下载链接】docling-serve Running Docling as an API service 项目地址: https://gitcode.com/gh_mirrors/do/docling-serve 在数字化时代,文档处理是企业和开发者面临的常见…

2026/7/26 21:05:45阅读更多 →
编辑距离(Levenshtein Distance)如何计算?它的主要应用是什么?

编辑距离(Levenshtein Distance)如何计算?它的主要应用是什么?

编辑距离(Levenshtein Distance) 一、定义 编辑距离是指将一个字符串变换为另一个字符串所需的最少单字符编辑操作次数。允许的三种操作: 操作含义示例(s→t)插入(Insertion)在 s 中插入一个…

2026/7/26 22:28:00阅读更多 →
Kubernetes Pod

Kubernetes Pod

Kubernetes Pod:最小部署单元的深度解析 什么是 Pod?Pod 是 Kubernetes 中最基本、最小的可部署和可调度单元。它封装了一个或多个容器(通常是一个容器)、存储资源、一个唯一的网络 IP 以及控制容器运行方式的选项。Pod 的设计理念…

2026/7/26 22:28:00阅读更多 →
2026年毕业论文写作工具排行榜:学范文等五家降重查重实测对比

2026年毕业论文写作工具排行榜:学范文等五家降重查重实测对比

又到一年毕设季,后台私信被“毕业论文写作”相关提问轰炸。作为写了8年毕设指导、测评过上百款工具的行业老兵,今年带团队实测了市面上主流的毕业论文写作工具,结论先行:学范文、知网研学、笔杆网凭借不同的核心优势杀入前三——学…

2026/7/26 22:28:00阅读更多 →
2026毕业论文写作技巧工具深度横评,学范文领衔五强避坑指南

2026毕业论文写作技巧工具深度横评,学范文领衔五强避坑指南

2026年的毕业季还没到,但毕业论文的焦虑已经提前蔓延。打开社交平台,“毕业论文写作技巧”相关话题浏览量破亿,无数毕业生一边在深夜emo一边疯狂收藏各种攻略。作为在写作辅助行业摸爬滚打多年的技术顾问,我见过太多被不良工具坑到…

2026/7/26 22:28:00阅读更多 →
揭秘10ten-ja-reader:让日语阅读无障碍的强大浏览器插件

揭秘10ten-ja-reader:让日语阅读无障碍的强大浏览器插件

揭秘10ten-ja-reader:让日语阅读无障碍的强大浏览器插件 【免费下载链接】10ten-ja-reader A browser extension to translate Japanese by hovering over words. 项目地址: https://gitcode.com/gh_mirrors/10/10ten-ja-reader 10ten-ja-reader是一款专为日…

2026/7/26 22:28:00阅读更多 →
whisper.rn核心功能解析:Whisper与Parakeet双模型助力多语言ASR

whisper.rn核心功能解析:Whisper与Parakeet双模型助力多语言ASR

whisper.rn核心功能解析:Whisper与Parakeet双模型助力多语言ASR 【免费下载链接】whisper.rn React Native binding of whisper.cpp. 项目地址: https://gitcode.com/gh_mirrors/wh/whisper.rn whisper.rn是一个基于React Native的语音识别项目,它…

2026/7/26 22:26:00阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/25 23:03:25阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/26 19:05:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/26 19:05:21阅读更多 →