Module 03 · Serverless Overview
Popular Serverless Platforms流行的 Serverless 平台及其特点
Coursera ↗
托管 FaaS 平台
| 平台 |
核心特点与优势 |
计费与生态 |
典型用例 |
| AWS Lambda |
Serverless、事件驱动的计算服务。自动响应执行请求,可从少量事件扩展到每秒数十万次。 |
按执行次数和计算时间收费;仅对 Lambda 与其他 AWS 服务之间的数据传输收费。 |
文件处理、Web 应用、IoT、移动后端。 |
| Google Cloud Functions |
简单直观的开发者体验。自动且即时地缩放到零(scale down to zero),抽象所有基础设施管理。 |
Google Firebase 实时提醒数据更新;适用于轻量级 ETL 等异步工作负载。 |
直接部署函数,连接到选定的事件并执行。 |
| Microsoft Azure Functions |
减少代码编写和基础设施维护。支持 C#, Java, JavaScript, PowerShell, Python 或使用自定义处理器支持其他语言。 |
推广 DevOps 能力,易于设置 CI/CD。消耗计划下仅在函数运行时付费;还有 Premium 和 App Service 计划。 |
文件上传/更改时运行代码、收集和处理 IoT 设备数据、按预定义时间间隔执行代码。 |
| IBM Cloud Functions |
易于与 IBM Cloud 的其他服务集成。可通过事件触发或直接通过 REST API 触发操作。 |
按实际使用时间计费(精确到十分之一秒)。集成了 IBM Watson认知服务(例如图像视频的对象检测)。 |
支持高可用性(HA),避免单点故障;客户数据在不同区域自动同步。 |
开源 Serverless 平台
| 平台 |
核心特点与优势 |
架构基础 |
优势 |
| Knative |
一个开源的开发选项。基于 Kubernetes 运行的容器。 |
容器编排框架 Kubernetes。 |
避免供应商锁定(Vendor Lock-in),可在任何支持 Kubernetes 的云上部署而无需更改,实现平台无关性。允许通过逐步转移流量来实现自定义的部署策略(例如金丝雀发布)。 |
总结
- AWS Lambda:提供事件驱动和按需付费的 Serverless 平台。
- Google Cloud Functions:提供简化的开发者体验,支持 Firebase 进行实时数据同步。
- Microsoft Azure:推广云和边缘计算。
- IBM Cloud Functions:提供高可用性和高成本效益的计算,并集成 IBM Watson。
- Knative:基于 Kubernetes 容器运行,具有平台无关性和灵活的部署策略。