什么是无服务器计算?
无服务器计算让你无需配置或管理服务器即可运行代码。当请求到达时,云提供商启动容器、执行函数,空闲时销毁容器。冷启动发生在需要从头初始化新容器时(较慢);热启动重用现有容器(即时)。你只需为实际执行时间付费。
为什么重要?无服务器架构为从API到数据管道的现代应用提供支持。仅AWS Lambda每月就处理数万亿次调用。理解冷启动、并发限制和成本优化对于构建高效的云原生系统至关重要。
📖 深入了解
类比 1
将传统服务器想象成拥有一辆汽车——无论您是否开车,您都需要支付保险、汽油和维护费用。无服务器就像叫出租车:您只需支付乘车费。冷启动正在等待出租车的到来;当一个人已经停在你的门外时,就是一个温暖的开始。
类比 2
想象一下,一家餐厅的厨房会在订单到达时神奇地召唤厨师,并在高峰结束时将他们送回家。冷启动是穿围裙、洗手的时间;热启动意味着厨师已经在炉子旁。预配置并发就像让骨干人员在晚餐高峰时待命。
🎯 模拟器提示
初学者
发送请求并观察容器旋转(冷启动),然后重用(热启动)。
中级
比较 Java 和 Go 运行时,看看冷启动的显着差异。
专家
设置预置并发和 VPC 惩罚以优化延迟成本权衡。
📚 术语表
🏆 关键人物
Tim Wagner (2014)
作为总经理领导了 AWS Lambda 的发布,创建了第一个定义 FaaS 范式的主要商业无服务器计算平台
Werner Vogels (2014)
Amazon 首席技术官,倡导事件驱动和无服务器架构,推广“没有服务器比没有服务器更容易管理”的理念
Kenton Varda (2017)
使用 V8 隔离而不是容器创建 Cloudflare Workers,实现亚毫秒级冷启动并重新定义边缘无服务器计算
Eric Jonas (2019)
加州大学伯克利分校研究员,共同撰写了颇具影响力的“云编程简化:伯克利对无服务器计算的看法”论文,定义了无服务器研究议程
Guillermo Rauch (2015)
创建Vercel和Next.js,普及前端框架无服务器部署,让前端开发者可以使用无服务器功能
Joe Emison (2016)
早期无服务器布道者和首席技术官,展示了企业级无服务器架构,证明了 FaaS 超越简单用例的可行性
Ajay Nair (2019)
AWS Lambda 产品负责人,推动了预配置并发、Lambda 扩展和容器映像支持等关键功能
🎓 学习资源
- Cloud Programming Simplified: A Berkeley View on Serverless Computing [paper]
无服务器计算的定义性学术调查,分析其潜力和局限性,来自加州大学伯克利分校 (2019)。确定关键挑战:有限的生命周期、I/O 瓶颈、无入站连接和硬件异构性。 - Serverless Computing: One Step Forward, Two Steps Back [paper]
加州大学伯克利分校的批判性分析认为,无服务器的局限性(无状态、持续时间短、无直接寻址)使其不适合许多以数据为中心的工作负载(CIDR 2019)。 - Pocket: Elastic Ephemeral Storage for Serverless Analytics [paper]
斯坦福大学的研究通过针对短期分析作业进行优化的自动扩展分布式数据存储来解决无服务器存储差距(OSDI 2018)。 - AWS Lambda Documentation [article]
最广泛使用的无服务器平台的综合文档,包括执行模型、并发性和定价详细信息 - Serverless Framework [article]
开源工具包,用于通过统一配置跨 AWS、Azure 和 GCP 构建和部署无服务器应用程序 - Datadog State of Serverless [article]
基于数百万个 Lambda 函数的无服务器采用趋势、冷启动基准和运行时流行度的年度行业报告