从单体到Serverless · 实战迁移指南
📘 30章完整目录
友好色
01
单体架构的困境:为什么我们要离开舒适区?
成本·扩展性·运维压力,剖析痛点
02
Serverless 初探:它真的不需要服务器?
FaaS / BaaS 核心概念与价值主张
03
迁移前的准备:评估你的单体应用
哪些模块适合Serverless?绊脚石
04
架构设计原则:巨石→微服务→函数
如何拆解?定义函数边界
05
第一个Serverless函数:AWS Lambda
手把手创建并部署第一个函数
06
API网关集成:构建RESTful API
API Gateway 暴露函数
07
数据层迁移:RDS → Aurora Serverless / DynamoDB
托管数据库与NoSQL
08
文件存储与处理:S3 + 事件驱动
对象存储,文件处理
09
身份认证与授权:Cognito / Lambda Authorizer
用户认证与API授权
10
状态管理:Step Functions 与外部存储
Serverless 状态难题
11
消息队列与异步处理:SQS/SNS
解耦、削峰填谷
12
定时任务与批处理:EventBridge Scheduler
替代Cron Job
13
日志与监控:CloudWatch Logs + X-Ray
可观测性构建
14
CI/CD流水线:SAM / Serverless Framework
自动化构建部署
15
本地开发与调试:SAM CLI / LocalStack
模拟云环境
16
冷启动优化:预留并发、依赖精简
为什么函数慢?
17
性能调优:内存、并发、连接池
榨干Serverless潜力
18
成本控制:计费模型与陷阱
Serverless省钱吗?
19
安全最佳实践:最小权限、KMS、VPC
密钥管理·安全组
20
限流与重试策略:并发限制、死信队列
指数退避重试
21
错误处理与优雅降级:健壮性设计
函数失败怎么办
22
多环境管理:开发/测试/生产隔离
Parameter Store / AppConfig
23
前端集成:S3+CloudFront / 移动端
Serverless后端集成
24
微服务 vs Serverless:混合架构实践
何时选择?
25
容器与Serverless:Fargate vs Lambda
容器化Serverless选择
26
大规模迁移实战:电商系统案例
架构设计·踩坑记录
27
遗留系统集成:与单体/微服务协同
如何共存?
28
测试策略:单元/集成/端到端
Serverless测试方法
29
团队技能转型:运维→Serverless开发者
新技能清单
30
未来展望:边缘计算·WebAssembly·AI原生
Serverless下一站