AWS 的服务数量与专业性 - 200 多项服务所体现的「目的特化型」设计哲学
将 AWS 提供 200 多项服务的「目的特化型」设计哲学与 GCP 的「少而精」和 Azure 的「Microsoft 整合」方式进行比较,解析服务广度与深度兼备所带来的实际价值。
服务数量越多越好吗
AWS 提供了 200 多项服务。对于这个数字,确实存在「太多选不过来」「过于复杂」的批评。然而,服务数量之多是 AWS 设计哲学的必然结果,是有意为之的选择。AWS 采取的不是「用一个服务覆盖多种需求」,而是「为特定目的提供最优化的独立服务」的方式。这种目的特化型的设计哲学与 Two-Pizza Team 的组织结构互为表里。每个团队专注于一项服务,从而将该服务的质量和专业性推向极致。通用服务中不得不妥协的部分,在专业服务中可以得到优化。
目的特化型 vs 整合型 - 以数据库为例
这种设计哲学差异最为显著地体现在数据库领域。AWS 按数据模型提供专业服务:关系型(RDS/Aurora)、键值(DynamoDB)、内存(ElastiCache)、图(Neptune)、时序(Timestream)、账本(QLDB)、文档(DocumentDB)、宽列(Keyspaces)。Azure 的 Cosmos DB 采用整合型方式,在一个服务中支持文档、键值、图、宽列等多种数据模型。Cosmos DB 是优秀的服务,但在各数据模型的优化深度上,不及专业服务。DynamoDB 的个位数毫秒延迟保证和 Neptune 的图查询优化,正是因为专注于各自的数据模型才能实现的性能。GCP 提供了 Cloud SQL、Cloud Spanner、Bigtable、Firestore 等多种数据库服务,虽不及 AWS 之多。特别是 Spanner 的全球分布式事务在技术上非常出色,但在选择范围的广度上不及 AWS。
GCP 的少而精方式
GCP 提供约 100 项服务,大约是 AWS 的一半。GCP 将此定位为「少而精」的战略,重视各服务的质量和易用性。BigQuery 作为无服务器数据仓库拥有业界顶级性能,GKE 在 Kubernetes 的完成度上获得高度评价。然而,少而精方式存在局限。当客户的用例在 GCP 提供的服务范围内时没有问题,但当面对小众需求或特殊工作负载而没有对应服务时,客户需要用通用服务妥协或自行构建。例如,AWS 的 IoT Core、GameLift、Ground Station、RoboMaker 等面向特定行业的服务,在 GCP 中不存在或非常有限。此外,GCP 服务数量较少也影响了生态系统的厚度。第三方工具和合作伙伴倾向于为服务数量更多的平台提供更多集成。
Azure 的 Microsoft 整合方式
Azure 提供约 200 项服务,在数字上接近 AWS。然而,Azure 的许多服务具有 Microsoft 现有产品云版本的性质。Azure SQL Database 是 SQL Server 的托管版,Azure Active Directory(Entra ID)是 Active Directory 的云版,Azure DevOps 是 Visual Studio Team Services 的后继。这种整合方式对 Microsoft 生态系统的用户来说是巨大优势。从本地 SQL Server 迁移到 Azure SQL Database 兼容性高、学习成本低。但对于 Microsoft 生态系统之外的用户,这种整合的好处就减弱了。使用基于 Linux 的工作负载、开源数据库、非 Microsoft 开发工具时,Azure 整合的优势有限。AWS 的服务设计不依赖特定厂商的生态系统,平等支持 Linux、Windows 和各种开源软件。这种中立性对于多厂商环境或重视开源的组织来说是重要的差异化因素。
服务的深度 - 超越单纯功能提供的优化
AWS 服务的优势不仅在于数量之多,还在于各服务的「深度」。以 S3 为例,它不仅是简单的对象存储,还具备 8 种存储类别(Standard、Intelligent-Tiering、Standard-IA、One Zone-IA、Glacier Instant Retrieval、Glacier Flexible Retrieval、Glacier Deep Archive、Express One Zone)、生命周期策略、版本控制、对象锁定、复制、事件通知、访问点、S3 Select 查询执行等大量功能。EC2 同样拥有 500 多种实例类型、多种购买选项(按需、预留、Savings Plans、竞价)、Placement Group、Dedicated Host、Capacity Reservation 等精细控制能力。这种深度是 18 年来客户反馈积累和 Two-Pizza Team 专业开发的成果。后来的提供商要实现同等深度,需要同样的时间和客户基础。 如需学习云架构设计模式,相关书籍 (Amazon) 也可供参考。
总结
AWS 的 200 多项服务是目的特化型设计哲学和 Two-Pizza Team 组织结构的必然结果。由于各服务针对特定用例进行了优化,因此能够提供通用服务无法达到的性能和功能深度。GCP 的少而精方式提升了各服务的质量,但在应对小众需求的能力和生态系统厚度上不及 AWS。Azure 以 Microsoft 整合为轴扩展服务数量,但对 Microsoft 生态系统之外的用户价值有限。在选择云平台时,重要的是不仅评估服务数量,还要综合评估各服务的专业性和深度以及厂商中立性。