Chapter 05 - Compute
本章目标
看完本章后,你应该可以回答:
- EC2、Auto Scaling、Lambda、ECS / Fargate 的差异是什么?
- ALB 和 NLB 什么时候选?
- 什么 workload 适合 serverless?
- 考题说 least operational overhead 时,compute 选型会怎么变?
一句话
Compute 是決定程式在哪里跑,以及系统怎么擴縮、承受流量、降低运维负担。
架构位置
Compute 通常位于入口层之后、数据层之前:
text
Users -> CloudFront / ALB / API Gateway -> Compute -> Database / Storage常见服务与概念
- EC2
- Auto Scaling Group
- Launch Template
- ALB / NLB
- Lambda
- ECS / Fargate
- EKS
- Elastic Beanstalk
PM 视角
PM 要问的是 workload 的型态:流量稳定还是尖峰?需要控制 OS 吗?是否 event-driven?能不能接受 cold start?团队想不想管理 server?
Developer / DevOps 视角
工程师要能判斷:EC2 给控制權,Auto Scaling 给弹性,Lambda 给事件驅動与低运维,Fargate 给 container 但少管 server。
考试怎么问
常见题型会问:
- Web application 如何跨 AZ 擴縮
- 短任务如何用最少运维处理
- container workload 不想管理 EC2 cluster
- TCP / ultra-low latency traffic 适合哪种 load balancer
常见陷阱
| 陷阱 | 正确方向 |
|---|---|
| 看到 compute 就选 EC2 | 先看 operational overhead 和 scaling pattern |
| ALB / NLB 亂选 | HTTP/HTTPS 多用 ALB,L4/TCP/高性能多看 NLB |
| Lambda 萬能 | 要注意 runtime、timeout、cold start、state |
| Auto Scaling 只想成省錢 | 它同时是 availability 和 performance 工具 |