跳到正文 ChatGPT 说 · Jimmy Huang's Blog
← Seminar Week 9 Summary 学习 › C6001 › 2026 S1 › FIT5225 Cloud computing and security › Week 9 Serverless and Function-as-a-Service (FaaS) › Seminar Week 9 Summary ChatGPT 说 ChatGPT 说 本页目录· 199 条 这一页有部分内容暂时无法显示,其余内容完整。
Seminar Week Summary:Serverless、FaaS、AWS Lambda、API Gateway 与 VPC 补充 本份笔记整合了本周 FaaS 课件和 transcript。 此处有一段内容暂不支持显示。
1. 本周 Seminar 总览 本周 Seminar 的核心主题是: Serverless Computing 和 Function as a Service(FaaS) 。它接在之前学过的 EC2、S3、DynamoDB、IAM、REST API、微服务等内容之后,进一步说明云计算如何从“自己管理服务器”走向“只写业务逻辑,由云平台帮你管理基础设施”。
简单说,传统云服务里,你通常要考虑服务器、操作系统、部署、扩容、监控、补丁、负载均衡等问题;而 Serverless / FaaS 的目标是让开发者更专注在 application logic / business logic ,也就是“我的应用到底要做什么”,而不是“服务器怎么配”。
本周重点还包括 AWS 中的具体实现: AWS Lambda 和 Amazon API Gateway 。Lambda 是 AWS 的 FaaS 服务,用来运行函数;API Gateway 则像应用的“前门”,接收 HTTP 请求,然后触发 Lambda 或其他后端服务。
Transcript 后半段老师还提前补充了 VPC(Virtual Private Cloud) ,因为后续 Assignment 2 会用到 VPC 和 Cognito 。VPC 部分主要讲如何在云里设计一个逻辑隔离的虚拟网络,包括 public subnet、private subnet、route table、internet gateway、NAT gateway、bastion host、security group、network ACL、VPC peering 等概念。
2. 核心知识点总结 2.1 什么是 Serverless? 是什么 Serverless 不是“没有服务器”,而是:
服务器仍然存在,只是开发者通常不需要直接管理它。
课件给出的核心定义可以理解为:
Serverless 是一种云平台能力,它隐藏了服务器的使用细节,让开发者只需要上传代码,平台会按需运行代码、自动扩展,并且通常只按代码实际运行时间收费。 也就是说,Serverless 的重点不是物理上没有服务器,而是 server management 被云平台接管了 。
为什么重要 它重要是因为它改变了开发和部署应用的方式:
本页目录 以前:你要配置服务器、安装环境、部署程序、管理扩容、处理故障。
现在:你主要写函数或业务逻辑,触发后由云平台自动运行。
对开发者来说,门槛更低,部署更快,尤其适合请求量不稳定、事件驱动的场景。
怎么理解 我不再租一整台机器一直开着,而是告诉云平台:“当某件事发生时,请帮我运行这段代码。” 有用户上传图片到 S3;
有一条新记录写入数据库;
有用户访问一个 HTTP API;
CloudWatch 检测到某个指标超过阈值;
和本课程整体的关系 Serverless / FaaS 是在这些基础之上的一种新架构方式。它把前面学到的服务串起来,让你思考:
面对一个应用场景,我应该自己部署 EC2?用容器?还是用 Lambda / FaaS? 这也是后续 assignment、quiz、solution design 题目中很可能会考的能力。
2.2 什么是 FaaS?
是什么 FaaS = Function as a Service ,中文可以理解为“函数即服务”。
它是一种 Serverless 计算平台,其中最小的计算单位不是 VM、不是 container,而是 function 。
在 FaaS 里,function 就像 Kubernetes 里的 Pod 一样,是平台理解和调度的基本单位。
FaaS 的核心特征 Ephemeral 函数实例可能只存在一次 invocation。
执行完之后,平台可能回收实例。
为什么重要 FaaS 是 Serverless 最典型、最常见的实现形式之一。很多实际云架构题都会让你判断:
这些都是 solution architect 风格的核心问题。
2.3 Serverless 和 FaaS 的区别
重点结论 FaaS 是 Serverless 的一部分,但 Serverless 的范围更大。
怎么理解 让开发者少管理基础设施,把更多底层运维交给云平台。
把应用逻辑拆成 function,由事件触发执行。
2.4 云计算架构的演进:Bare Metal → VM → Container → Function
每一层在解决什么问题
课件强调的趋势 随着架构从 Bare Metal 到 Function:
Increasing focus on business logic Decreasing concern and control over stack implementation
为什么重要 这是理解 Serverless trade-off 的基础:
2.5 软件架构演进:Monolith → Microservices → Serverless
Monolith Monolith 是单体架构,所有功能放在一个大系统里。
设计简单;
开发初期容易理解;
很多老企业系统仍然是 monolith。
模块耦合高;
一处故障可能影响整体;
扩展和维护困难。
Monolith 像一栋楼,如果放一个炸药,可能整栋楼一起倒。 意思是单体系统的 failure isolation 较差。
Microservices Microservices 把应用拆成多个小服务。
模块化更好;
每个服务可以独立部署、扩展;
一个服务出问题不一定拖垮全部系统。
服务之间通信复杂;
部署、监控、运维更复杂;
需要更好的架构设计能力。
Serverless Serverless 进一步把部分业务逻辑拆成 function,由云平台管理运行。
更少管理部署和基础设施;
更适合事件驱动场景;
可以自动扩展。
有 cold start;
stateless;
有资源和执行时间限制;
不适合所有场景。
和本课程的关系 这部分很可能和 quiz / exam 的 architecture comparison 题有关。你需要能回答:
为什么一个场景适合 monolith、microservices、container、serverless?
2.6 FaaS 的工作流程 Code execution 事件发生后,平台创建或复用函数实例来运行代码。
这个实例通常是 ephemeral 的。
一个简单例子
2.7 Trigger / Event:什么会触发函数? 老师在 transcript 里补充了更具体的例子:
S3 中有新图片上传,可以触发 Lambda 分析图片、加密图片、生成缩略图;
DynamoDB 中有新记录或记录更新,可以触发 Lambda 执行业务逻辑;
CloudWatch 监控到 utilization 或 cost 超过阈值,也可以触发 Lambda;
API Gateway 收到 HTTP request,可以触发 Lambda;
AWS SDK 也可以触发 Lambda。
为什么重要 Trigger 是 FaaS 的核心。如果你不会判断 trigger,就不会设计 serverless architecture。
2.8 Stateless 与 Ephemeral
是什么 FaaS function 默认是 stateless 的。
函数执行完后,不应该假设内存里的变量还会保留;
下一次调用可能运行在另一个实例上;
不能依赖本地内存或本地磁盘保存长期状态。
不是 code 的 state,而是 running function / application 的 state。 代码本身是静态的,真正会变化的是运行过程中的状态,比如:
当前用户 session;
中间计算结果;
临时变量;
上一次请求的上下文。
为什么重要 如果你的应用需要保存状态,不能只靠 Lambda 内存,需要使用:
S3;
DynamoDB;
RDS;
Redis / cache;
external storage;
message queue。
容易混淆点
2.9 Cold Start
是什么 当函数第一次被调用,或者很久没有被调用后重新被调用,平台需要准备运行环境,因此第一次请求延迟更高。 如果是一批连续请求,通常只有最开始的请求有明显启动开销;
如果请求很稀疏,例如几个小时才来一次,每次都可能遇到 cold start;
这会导致 inconsistent latency。
为什么重要 Cold start 是 FaaS 的经典 limitation,经常出现在 quiz / exam / architecture trade-off 题里。
怎么理解 那就要谨慎使用 Lambda,或者设计 warm-up / provisioned concurrency / cache / alternative compute。
2.10 FaaS 的自动扩展
是什么 FaaS 平台可以根据请求数量自动创建多个 function instances。
为什么重要
但要注意 provider concurrency limit;
execution time limit;
memory limit;
cost;
downstream database 是否扛得住;
cold start 对 latency 的影响。
2.11 FaaS / Lambda 的限制
常见限制
老师特别补充:package size 不等于数据大小 有同学问:如果 FaaS package 有 50MB 限制,是不是 assignment 不能处理大图片?
2.12 Cost:Lambda vs EC2 课件中对比了 AWS Lambda 和 EC2 的成本模式。
Lambda 计费 Duration 按函数运行时长;
例如每 100ms 或按一定粒度计费。
EC2 计费
怎么判断哪个更适合?
老师强调的思维 request 数量;
request 是否连续;
每个 request 执行多久;
是否需要 GPU;
是否需要保存状态;
是否需要低延迟;
是否有 provider limit;
成本模型;
2.13 FaaS 的典型使用场景 Database changes / Change Data Capture IoT sensor input messages Batch jobs / scheduled tasks HTTP REST APIs and web apps Business logic orchestration Continuous integration pipeline
真实案例 课件提到一些公司使用 Serverless 的例子,例如:
Coca-Cola:用 serverless 降低 IT operational cost,在 vending machine 和 loyalty program 场景中节省成本;
Expedia:大量使用 Lambda 调用,用于 CI/CD、infrastructure governance、autoscaling 等;
A Cloud Guru:用函数处理 payment processing、group emails 等;
IoT / mobile backend 场景也大量使用 serverless。
这些案例不需要死背公司名字,但要理解它们共同说明的点:
Serverless 很适合事件驱动、请求波动、自动扩展、按需运行的业务场景。
2.14 Public Cloud 和 On-Premises 的 FaaS AWS Lambda;
Google Functions;
Azure Functions。
也列出了一些可以自己部署的 FaaS frameworks:
OpenWhisk;
OpenFaaS;
OracleFN;
Kubeless;
Fission;
Iron Functions;
Nuclio。
老师补充
为什么重要
2.15 AWS Lambda
是什么 AWS Lambda 是 AWS 的 Serverless compute service。
Lambda 可以怎么用?
方式一:Event-driven compute service
方式二:响应 HTTP request
Lambda 支持的语言 Node.js;
Java;
Python;
C#;
Go;
PowerShell。
注意:老师口头提醒,支持语言可能随时间增加或淘汰,不需要死背具体列表,重点是知道 Lambda 支持多种语言,方便不同开发者使用。
2.16 Amazon API Gateway
是什么 Amazon API Gateway 是 AWS 的 fully managed service,用来创建、发布、维护、监控和保护 API。
API Gateway 就像应用的 front door。
API Gateway 可以做什么 RESTful APIs;
WebSocket APIs;
containerized workloads;
serverless workloads;
web applications。
RESTful API 的特点 课件强调 API Gateway 创建 RESTful API 时:
为什么重要 API Gateway + Lambda 是最典型的 serverless web backend 架构。
2.17 Traditional Architecture vs Serverless Architecture 课件最后对比了 traditional 和 serverless 架构。
Traditional request pipeline load balancer;
EC2 instances;
OS / runtime;
scaling;
patching;
server availability;
database connection;
monitoring。
Serverless request pipeline
关键区别
2.18 VPC:Virtual Private Cloud 注意:VPC 不是 FaaS PDF 的主体内容,而是 transcript 后半段老师额外讲的内容。老师说提前讲 VPC 和 Cognito,是因为 Assignment 2 会用到。
是什么 VPC = Virtual Private Cloud。
你在 AWS 云里自己划出来的一块逻辑隔离的虚拟网络。 EC2;
database;
storage;
backend services;
load balancer;
Lambda 相关资源;
其他 AWS resources。
为什么重要 VPC 是 cloud architecture 和 cloud security 的基础。
如果说 Lambda 解决的是“怎么运行业务逻辑”,那么 VPC 解决的是:
Public Subnet vs Private Subnet
Public Subnet Public subnet 用来放需要被互联网访问的资源,例如:
web server;
load balancer;
bastion host;
public-facing service。
它通常通过 Internet Gateway 和 route table 连到互联网。
Private Subnet Private subnet 用来放不应该直接暴露给互联网的资源,例如:
database;
backend system;
internal service;
private storage;
application backend。
Private subnet 默认不能被互联网直接访问。
怎么理解 Public subnet 是小区门口、前台、对外服务区;
Private subnet 是小区内部住户区、机房、数据库房间;
Internet Gateway 是通向外部世界的大门;
Route Table 是路标;
Security Group 和 NACL 是门禁和安保规则;
Bastion Host 是专门给管理员进入内网的一扇安全门;
NAT Gateway 是让内网机器能访问外网,但外网不能直接进来的出口。
2.19 Default VPC vs Custom VPC
Default VPC Default VPC 是云平台默认帮你创建的网络环境。
控制力有限;
不适合更复杂、更安全、更定制化的生产架构。
Custom VPC IP address range;
public subnet;
private subnet;
route table;
internet gateway;
NAT gateway;
security group;
network ACL;
VPC peering 等。
老师强调 在 applied session 里,你们会从头创建自己的 VPC,并把实例放到 public subnet 和 private subnet 中,而不是一直使用 default VPC。
这是 assignment / applied 很相关的部分。
2.20 Route Table 和 Internet Gateway
Internet Gateway 如果一个 subnet 要能访问互联网,通常需要:
Route Table
为什么重要 在云架构里,不是创建了 EC2 就一定能访问互联网。
2.21 Bastion Host / Jump Box
是什么 Bastion Host,也叫 Jump Box,是放在 public subnet 里的一个安全入口。
为什么需要 Private subnet 里的机器不能被互联网直接访问。
如果你给每台 private instance 都开一个公网入口,就像一栋房子开了 10 个门,非常难保护。
不要让私有网络有很多门,而是只留一扇门,然后把这扇门加很多锁、摄像头和安全控制。
作业/考试可能问法 为什么 private subnet 里的 instance 不能直接 SSH?
如何安全访问 private subnet?
Bastion host 为什么放在 public subnet?
Bastion host 和 NAT gateway 有什么区别?
2.22 NAT Gateway
是什么 NAT = Network Address Translation。
例子 Private subnet 里的 EC2 需要:
下载软件包;
访问外部 API;
访问某些 AWS services;
NAT Gateway vs NAT Instance
2.23 Security Group vs Network ACL 这是 transcript 里老师解释很久的重点,非常可能是考点 / applied 重点。
Security Group Security Group 可以理解为资源级别的防火墙。
Stateful 是什么意思? Security Group 如果允许 request 进来,就会自动允许 response 回去。
Network ACL Network ACL 可以理解为 subnet 级别的防火墙。
作用在 subnet 层面;
是 stateless ;
inbound 和 outbound 要分开管理;
可以允许 inbound,但不允许 outbound;
可以更细粒度地控制 IP range;
规则有编号,数字越小优先级越高;
一个 NACL 可以关联多个 subnets;
一个 subnet 同一时间只能关联一个 NACL。
Stateless 是什么意思? NACL 不会自动记住“这是某个 request 的 response”。
Security Group vs NACL 总结表
最容易混淆 很多人会把 Security Group 和 NACL 都理解成“防火墙”,但考试和作业通常会问区别:
2.24 Private IP、CIDR 和 Subnet Mask 老师提醒大家需要理解 private IP address 和 slash notation。
Private IP 为什么存在? 因为公网 IPv4 地址有限,所以内部网络会使用可重复的私有 IP 范围。
例如在组织内部、VPC 内部,可以重复使用 private IP,只要不直接暴露到公网即可。
CIDR / slash notation 是什么?
为什么重要
2.25 VPC Peering
是什么 VPC Peering 允许两个 VPC 通过私有网络互相通信。
重要限制:No Transitive Peering 如果 VPC 2 要和 VPC 3 通信,需要 VPC 2 和 VPC 3 直接建立 peering。
为什么重要
2.26 Cognito Assignment 2 会需要 VPC 和 Cognito,所以提前把 VPC / Cognito 相关内容放到 Week 9 讲。 但在提供的 transcript 片段中,没有展开详细讲 Cognito。
你现在需要知道的程度 Cognito 大概率和 assignment 中的用户身份认证有关。你可以先把它理解为:
后续如果 Jay 或 assignment spec 详细讲 Cognito,需要重点看:
3. 老师强调的重点
3.1 Assignment 2 很快发布,Week 10 / Week 11 由 Jay 讲 security 和 assignment 老师开场花了不少时间讲 assignment 2 的安排:
Assignment 2 已经设计完成;
Jay 会在 Week 10 / Week 11 讲 cloud security;
Jay 也会完整说明 Assignment 2;
老师建议大家 attend lecture 或至少认真看 recording;
Assignment 2 会涉及 VPC 和 Cognito;
VPC / Cognito 被提前讲,是为了让大家有更多时间准备 assignment。
为什么判断重要 因为老师明确说 assignment 会用到 VPC 和 Cognito。
所以 VPC 不是普通补充,而是 assignment 相关内容。
3.2 Oracle scenario / solution architect mock interview 有 extra mark 老师提到 Week 12 会有 Oracle industry talk / mock interview 相关活动。
会给一个真实企业应用场景,名字会被改掉以保护隐私;
学生可以基于 AWS 和 Oracle services 设计 solution architecture;
可以提交 diagram 或 design description;
会有 5 到 7 分左右 extra mark;
这不是正式 assessment 的一部分,是额外加分;
可以用 AI 或其他工具;
但必须理解自己提交的设计;
Week 12 会随机选大约两个组进行 mock interview;
没被选中的学生也可以现场或线上观看;
mock interview 没有负分,不用太紧张。
为什么判断重要 老师说了很多次“solution architect”、“realistic scenario”、“justify your design”,说明这和课程能力目标非常相关。
这类题和 quiz / assignment 的关系也很明显:
3.3 AI 可以用,但必须理解和 justify
为什么判断重要 这直接关系到 assignment、interview、academic integrity。
你后面做 A2 时不能只让 AI 生成架构或代码,然后自己不懂。
3.4 Serverless 的核心不是“没有服务器”,而是“隐藏服务器管理” 老师反复用 EC2、S3、database 等例子说明:
Serverless 是把这些底层管理交给云平台。
为什么重要
3.5 FaaS 是 Serverless 的子集,不等于 Serverless FaaS 是 serverless computing platform 的一种;
Serverless 和 FaaS 不是完全相等;
FaaS 的 atomic unit 是 function。
为什么重要
3.6 Function 不是一直运行:好处和坏处都要会说
好处 节省成本;
不需要一直开着服务器;
低负载或变化负载时更划算;
自动扩展。
坏处 cold start;
stateless;
不适合长期运行任务;
不适合持续高负载;
provider limits;
有时成本不一定更低。
为什么判断重要 老师用课堂互动方式讲了很久,这类内容很可能出现在 scenario-based question。
3.7 Lambda vs EC2 的选择是 design trade-off 请求多不多?
请求是连续的还是 sporadic?
每个请求执行多久?
是否需要 GPU?
是否需要长期状态?
是否超过 Lambda 限制?
成本模型如何?
为什么判断重要 这类判断题很像 quiz / exam / solution architect design 题。
3.8 API Gateway 是后端业务逻辑的 front door Gateway 就是 gateway,请求先来到这里,然后它触发 Lambda 或后端服务。
为什么判断重要 API Gateway + Lambda 是 serverless backend 的标准模式。
3.9 VPC、public/private subnet、bastion、NAT、security group、NACL 是 A2 / applied 重点
为什么判断重要 这部分虽然不是 FaaS PDF 主体,但 transcript 中明确和 assignment 相关。
4. Transcript 里补充的重要信息
4.1 老师用 AI agent 类比 Serverless 老师把 Serverless 类比成现在的 AI agent / LLM 工作方式:
现在你可以说“我想要一个应用处理实时图片流”,系统帮你拆任务、生成代码、部署。
4.2 老师强调 function 可以像 object 一样组合 老师口头说,一个应用可以由多个 functions 构成:
每个 function 做一件事;
functions 可以互相触发;
可以定义依赖关系;
组合起来形成完整业务流程。
这比课件更具体。课件只说 function 是 computation unit,老师进一步说明了如何构建应用逻辑。
4.3 老师解释了 state 不是 code 的 state 课堂有学生说不能保存 code 的 state。老师纠正:
4.4 老师补充了什么时候 Lambda 不适合 课件有 limitations,但老师口头给了更具体的判断:
4.5 老师补充了 CloudWatch 也可以触发 Lambda 课件列了 monitoring event。老师具体说:
4.6 老师提醒 Lambda package size 指代码包,不是数据 有同学问 package size 限制是否会影响 assignment。老师回答:
4.7 老师补充了 VPC 是跨 cloud 的通用概念 Azure;
Oracle;
Nectar;
其他云平台都有类似概念,只是名字可能不同。
这说明你学 VPC 不只是为了 AWS console 操作,而是学习 cloud networking 的通用思想。
4.8 老师补充了 Bastion Host 的“一个安全门”比喻 Private subnet 不应该直接暴露很多入口。
Bastion host 的作用是只留一个受控入口,并加强安全。
这个比喻比课件更容易理解,也很适合你在考试或面试中解释。
4.9 老师补充了 Security Group vs NACL 的 stateful / stateless 差异 这部分 transcript 比课件更有价值。老师详细解释:
Security Group 是 stateful;
Network ACL 是 stateless;
Security Group 自动允许 return traffic;
NACL inbound / outbound 分开控制;
NACL 规则数字越小优先级越高;
一个 subnet 只能关联一个 NACL;
一个 NACL 可以关联多个 subnets。
4.10 老师补充了 VPC Peering 不是 transitive
5. 这周最可能要掌握的考点 / 作业相关点
5.1 Serverless / FaaS 基本定义
5.2 FaaS 的工作模式
5.3 Trigger / Event 类型
5.4 Lambda 的 limitations
5.5 Lambda vs EC2 / Container 的选择
5.6 API Gateway + Lambda 架构
5.7 Traditional vs Serverless Architecture
5.8 VPC / Subnet / Gateway / Route Table
5.9 Security Group vs Network ACL
5.10 VPC Peering
5.11 Assignment / interview 相关能力 为什么用 Lambda?
为什么不用 EC2?
为什么放 private subnet?
为什么需要 NAT gateway?
为什么用 API Gateway?
如果有 cold start 怎么办?
数据放在哪里?
认证用什么?
安全边界在哪里?
成本有什么 trade-off?
6. 我应该怎么学这周内容
6.1 推荐学习顺序
Step 1:先理解大图
Step 2:理解 Serverless 和 FaaS 的区别
Step 3:掌握 FaaS 的运行流程
Step 4:背熟常见 triggers
Step 5:重点理解 limitations 不要只背 “Lambda has limitations”,要能解释为什么。
Step 6:学习 Lambda + API Gateway 架构 API Gateway 做什么;
Lambda 做什么;
DB / S3 做什么;
response 怎么回去。
Step 7:再学习 VPC
Step 8:最后联系 Assignment 2 / solution design
6.2 必须先搞懂的基础概念 AWS 基础服务 EC2;
S3;
DynamoDB;
IAM;
CloudWatch。
基本网络概念 public IP;
private IP;
subnet;
CIDR;
route table;
firewall。
架构思想 monolith;
microservices;
serverless;
trade-off。
6.3 哪些内容属于理解型 Serverless 为什么不是 no server;
为什么 FaaS 适合事件驱动;
为什么 function 默认 stateless;
cold start 为什么发生;
vendor lock-in 为什么主要来自 integrated services;
Lambda 和 EC2 的成本 trade-off;
public subnet 和 private subnet 的安全意义;
security group 为什么 stateful;
NACL 为什么 stateless;
bastion host 为什么像“一个安全门”。
6.4 哪些内容属于记忆型 FaaS = Function as a Service;
AWS Lambda 是 AWS 的 FaaS 服务;
API Gateway 是 API front door;
常见 triggers;
Lambda 计费:request count + duration;
Lambda 常见限制:time、memory、disk、package、cold start、stateless;
Security Group = stateful;
NACL = stateless;
NACL rule number 越小优先级越高;
VPC peering is not transitive。
6.5 哪些内容属于应用型 设计 S3 upload → Lambda → S3 / DB 的流程;
设计 API Gateway → Lambda → DynamoDB 的 REST backend;
判断 Lambda vs EC2;
判断某个任务是否适合 serverless;
画 traditional vs serverless architecture;
设计 public/private subnet;
解释如何通过 bastion host 访问 private subnet;
解释 private subnet 如何通过 NAT gateway 出网;
配置或解释 security group / NACL 的区别。
6.6 哪些内容只需要了解 Coca-Cola、Expedia 等案例的具体数字;
所有 FaaS open-source frameworks 的名字;
Lambda 支持语言的完整列表;
每个 provider 当前的精确限制数字;
VPC Flow Logs 如果课上只 briefly mentioned,可先了解作用即可。
6.7 哪些地方最容易混淆
混淆 1:Serverless = 没有服务器?
混淆 2:Serverless = FaaS?
混淆 3:Function 可以保存长期状态?
混淆 4:Cold start 是每次请求都有?
混淆 5:Lambda 一定更便宜?
混淆 6:Package size 限制包括图片数据?
混淆 7:API Gateway 是 Lambda 吗?
混淆 8:Private subnet 不能访问互联网?
混淆 9:Security Group 和 NACL 都只是普通防火墙?
混淆 10:VPC peering 可以传递?
6.8 学完后你应该能回答的问题 Serverless 为什么不是 no server?
FaaS 和 Serverless 有什么区别?
AWS Lambda 在 AWS 中扮演什么角色?
什么是 trigger?举 5 个 trigger 例子。
FaaS 为什么适合事件驱动应用?
什么是 cold start?什么时候影响比较明显?
什么是 stateless?为什么 Lambda 默认不能保存长期状态?
Lambda 什么时候比 EC2 合适?
EC2 / container 什么时候比 Lambda 合适?
API Gateway 为什么被称为 front door?
如何设计 API Gateway + Lambda + DynamoDB 架构?
Traditional architecture 和 Serverless architecture 有什么区别?
VPC 是什么?为什么需要 VPC?
Public subnet 和 private subnet 有什么区别?
Bastion host 解决什么问题?
NAT Gateway 解决什么问题?
Security Group 和 NACL 的区别是什么?
Stateful 和 stateless 在网络安全规则里是什么意思?
VPC peering 是否 transitive?
如果 assignment interview 问你为什么这样设计,你能不能 justify?
7. 简短复习清单
Serverless / FaaS
AWS Lambda / API Gateway
Architecture Trade-off
VPC / Networking
Assignment / Interview
8. 如果我是初学者,你再用更简单的话解释一遍
传统方式:自己租店、装修、雇人、维护设备 店面;
水电;
设备;
员工;
维修;
高峰期怎么扩容;
没客人时也要付租金。
Serverless:你只提交“奶茶配方”,平台帮你做 Serverless 就像你把配方交给一个超级外包厨房:
FaaS:每个小函数就是一个“小工序”
Trigger:触发函数的按钮 顾客下单;
外卖平台来了订单;
定时检查库存;
收到付款通知。
HTTP request;
S3 上传文件;
DynamoDB 更新;
CloudWatch 告警;
queue message;
scheduled event。
Lambda:真正干活的小工人 没订单时不用付很多钱;
突然很多订单时可以多叫几个小工人;
不用你自己排班。
第一个订单可能要等小工人从休息室出来,这就是 cold start;
小工人不记得上一个顾客是谁,这就是 stateless;
小工人不能连续工作一整天,这就是 execution time limit;
小工人不能用很大的设备,比如很多 GPU。
API Gateway:前台接待员 接收请求;
判断请求路径;
管理 API;
触发 Lambda;
把结果返回给用户。
S3 / DynamoDB:仓库和记录本
VPC:云里的小区
Internet Gateway:小区大门 Internet Gateway 是通往外部互联网的大门。
Public subnet 里的东西如果要被外面访问,通常要通过这个门。
NAT Gateway:内网出去买东西,但别人不能直接进来 Private subnet 里的机器有时需要访问外网,比如下载更新。
Bastion Host:唯一安全入口 如果管理员要进 private subnet,不能给每台机器都开门。
Security Group 和 NACL:两层保安 Security Group 像每个房间门口的保安。
它是 stateful,记得谁进来了,也允许对应的人出去。
它是 stateless,不记得连接状态,所以进出都要分别检查规则。
最后用一句话总结本周 本周其实是在教你从“租服务器跑应用”的思维,转向“用事件触发云函数 + 托管服务组合应用”的思维;同时开始补充 VPC 网络知识,让你能在 assignment 里设计一个既能运行、又能扩展、又相对安全的 cloud architecture。
Serverless = 一种云架构思想 / 服务模式
FaaS = Serverless 中最典型的一类计算服务
AWS Lambda = AWS 对 FaaS 的具体实现Bare Metal Servers → Virtual Machines → Containers → FunctionsMonolith → Microservices → ServerlessDeploy Your Code → Define Triggers → Code Execution当 X 事件发生时 → 触发 Y 函数 → 处理 Z 业务逻辑 → 写入/读取某个存储或服务用户上传图片到 S3
→ S3 ObjectCreated event 触发 Lambda
→ Lambda 生成 thumbnail
→ thumbnail 存回 S3
→ metadata 写入 DynamoDB我在 function 里定义一个变量,就能一直保存状态。Function 只做短暂计算;
长期状态放到外部服务。FaaS 是通用概念,不等于 AWS Lambda。
AWS Lambda 只是 AWS 对 FaaS 的实现。S3 中有新文件上传
→ 触发 Lambda
→ Lambda 处理文件DynamoDB 表发生变化
→ 触发 Lambda
→ Lambda 做数据校验、同步或通知User HTTP Request
→ API Gateway
→ Lambda
→ Database / S3
→ Response用户请求先打到 API Gateway
→ API Gateway 根据 endpoint / method / route
→ 转发或触发后端逻辑,例如 LambdaClient / User
→ API Gateway
→ Lambda Function
→ DynamoDB / S3 / other backend services
→ ResponseUser
→ Load Balancer
→ EC2 Web Server
→ Database
→ ResponseUser
→ API Gateway
→ Lambda Function
→ Database / Storage
→ Response这些云资源放在哪个网络里?
谁能访问谁?
哪些服务暴露给互联网?
哪些服务必须藏在私有网络里?
入口和出口怎么控制?Subnet + Route Table + Gateway + Security Rules管理员从互联网 SSH 到 Bastion Host
→ 再从 Bastion Host 进入 Private Subnet 中的资源只开放一个受控入口;
把它尽可能加固;
授权用户通过它进入 private subnet。让 private subnet 里的资源可以访问互联网,
但互联网不能直接访问 private subnet 里的资源。Private EC2
→ NAT Gateway
→ InternetUser → Web Server: request
Web Server → User: responseInbound allow
Outbound allowSecurity Group = stateful,更靠近 instance/resource
NACL = stateless,更靠近 subnetVPC 2 和 VPC 1 peered;
VPC 3 和 VPC 1 peered;
不代表 VPC 2 可以通过 VPC 1 访问 VPC 3。AWS Cognito = 管理用户注册、登录、身份认证、授权相关的服务。给你一个 scenario
→ 你要选合适的 AWS / Oracle services
→ 画架构
→ 解释为什么这样设计
→ 能回答 interviewer 的追问AI 可以帮你生成初稿;
但你必须能逐项解释:
- 为什么用这个服务?
- 数据怎么流?
- 请求怎么走?
- 安全边界在哪里?
- 为什么不用另一个服务?
- 成本和限制是什么?Serverless means no servers.Servers still exist, but developers do not directly provision or manage them.Serverless 的思想是:
你表达业务逻辑和需求,
平台帮你处理很多底层执行和管理细节。VPC 2 ↔ VPC 1
VPC 3 ↔ VPC 1
不代表:
VPC 2 ↔ VPC 3Explain the difference between Serverless and FaaS.Does serverless computing mean there are no servers? Explain.Deploy Code → Define Trigger → Event Happens → Function Executes → Auto ScalingGive examples of events that can trigger a serverless function.A user uploads an image to S3. Design a serverless workflow to create a thumbnail.S3 upload event triggers Lambda.
Lambda processes the image.
The thumbnail is stored back in S3.
Metadata can be saved in DynamoDB.Why might Lambda be unsuitable for training a large machine learning model?Because model training is long-running, may require GPU, may exceed execution time and memory limits, and is not a short event-driven task.Client
→ API Gateway
→ Lambda
→ DynamoDB / S3
→ ResponseCompare traditional architecture and serverless architecture.Traditional architecture often uses load balancers, EC2 instances, and databases.
Serverless architecture can use API Gateway and Lambda, with infrastructure management handled by the cloud provider.
Traditional gives more control but more operational burden.
Serverless reduces management effort but introduces limits, cold start, and vendor lock-in.Place public-facing web service in public subnet.
Place database in private subnet.
Use bastion host for admin access.
Use NAT gateway for private subnet outbound internet access.
Use route tables and security rules to control traffic.Security Group = stateful
Network ACL = statelessSecurity Group 自动允许 return traffic;
NACL inbound / outbound 分开控制;
NACL rule number 越小优先级越高;
一个 subnet 同时只能关联一个 NACL。Is VPC peering transitive?No. VPC peering is not transitive.If VPC A peers with VPC B, and VPC B peers with VPC C,
VPC A cannot automatically communicate with VPC C unless A and C are directly peered.IaaS / PaaS / SaaS
→ VM
→ Container
→ FaaS
→ Serverless ArchitectureServerless 是一种广义架构思想;
FaaS 是 Serverless 的一种具体计算模式;
AWS Lambda 是 AWS 的 FaaS 服务。Deploy code
Define trigger
Event occurs
Function runs
Platform scales automatically
Pay for actual usageHTTP request
S3 upload
DynamoDB update
CloudWatch event
Queue / message
Scheduled job为什么 Lambda 不适合长任务?
因为它有最大执行时间限制,而且是短生命周期事件驱动模型。
为什么 Lambda 不适合保存 session?
因为 function 是 stateless,实例可能被回收。
为什么 Lambda 有时不便宜?
因为高频持续请求下按请求计费可能比固定服务器更贵。User
→ API Gateway
→ Lambda
→ DynamoDB / S3VPC 是虚拟网络
→ CIDR / private IP
→ public subnet vs private subnet
→ route table
→ internet gateway
→ NAT gateway
→ bastion host
→ security group
→ network ACL
→ VPC peering如果我要设计一个 cloud application:
- 哪些服务放 public subnet?
- 哪些服务放 private subnet?
- 用户怎么访问 API?
- Lambda 怎么被触发?
- 数据放哪里?
- 认证用 Cognito 吗?
- 网络怎么隔离?
- 成本怎么优化?Function 默认 stateless,长期状态应放到外部存储。首次请求或低频请求更容易 cold start;
连续请求通常后续会复用 warm environment。低负载、变化负载通常便宜;
持续高负载可能 EC2 / container 更划算。Package size 是代码包限制;
数据应该放 S3 / database 等外部存储。API Gateway 是 API 入口;
Lambda 是执行函数逻辑的计算服务。Private subnet 不能被互联网直接访问;
但它可以通过 NAT Gateway 主动访问互联网。Security Group 是 stateful;
NACL 是 stateless。VPC peering is not transitive。你自己管理 server、OS、runtime、scaling、monitoring。有人下单时,厨房自动做;
没人下单时,你不用一直开店;
你按实际订单付钱。有事件发生时,云平台运行你的代码;
没有事件时,函数不用一直运行;
你按请求次数和运行时长付费。接单
→ 加茶
→ 加奶
→ 加糖
→ 封口
→ 出单上传图片
→ Lambda 处理图片
→ 生成缩略图
→ 保存结果顾客
→ 前台 API Gateway
→ 后厨 Lambda
→ 做完返回小工人负责做奶茶;
仓库负责放原料;
账本负责记录订单。Public Subnet = 门口 / 前台 / 对外服务区
Private Subnet = 内部房间 / 数据库 / 后台系统内部员工可以通过后门出去买东西;
但外面的人不能直接从这个门进到内部区域。管理员
→ Bastion Host
→ Private SubnetSecurity Group = stateful
Network ACL = statelessfunction main(params, context) { return { payload: ' Hello, ' + params.name + ' from ' + params.place }; }