Google Cloud 架构框架

Last reviewed 2024-08-27 UTC

Google Cloud 架构框架提供了建议并介绍了最佳实践,以帮助架构师、开发者、管理员和其他云从业人员设计和运营安全、高效、弹性佳、高性能且经济实惠的云拓扑。 Google Cloud 架构框架是我们精心设计的框架版本。

Google 的跨职能专家团队会验证构成架构框架的设计建议和最佳实践。该团队精选架构框架,以反映 Google Cloud 的扩展技能、行业最佳实践、社区知识以及您提供的反馈。有关重大更改的摘要,请参阅新功能

架构框架中的设计指导适用于专为云以及从本地迁移到 Google Cloud、混合云部署和多云环境的工作负载打造的应用。

架构框架的类别

Google Cloud 架构框架分为五类(也称为核心),如下图所示:

Google Cloud 架构框架。

卓越运营
高效地部署、运营、监控和管理您的云工作负载。
安全性、隐私权和合规性
最大限度地确保云数据和工作负载的安全性,在设计时确保隐私权,并遵守法规要求和行业标准。
可靠性
在云中设计和运行弹性佳且可用性高的工作负载。
费用优化
使您对 Google Cloud 的投资发挥最大业务价值。
性能优化
设计和调整云资源以获得最优性能。

核心原则

在探索架构框架的每个类别中的建议之前,请查看以下核心原则:

从设计上应对变化

没有任何系统是静态的。用户的需求、构建系统的团队的目标以及系统本身都在不断变化。考虑到变化的需求,您可以构建一个开发和生产流程,以便团队定期交付细微更改并快速获得有关这些更改的反馈。持续展示部署更改的能力有助于与利益相关方(包括负责系统的团队和系统用户)建立信任。使用 DORA 的软件交付指标可以帮助您的团队监控系统更改的速度、轻松程度和安全性。

记录您的架构

当您开始将工作负载迁移到云或构建应用时,缺少有关系统的文档可能会成为一个主要障碍。文档对于正确直观呈现当前部署的架构尤为重要。

质量文档的实现不是通过生成特定数量的文档来实现的,而是取决于内容的清晰程度、实用性以及在系统发生变化时如何进行维护。

适当进行文档说明的云架构可以设定通用语言和标准,使跨职能团队能够有效沟通和协作。此外,该文档还提供确定和指导未来设计决策所需的信息。文档应该根据您的应用场景编写,以便为设计决策提供具体情境。

设计决策会随着时间的推移而不断改进和变化。更改历史记录可提供您的团队调整计划、避免重复以及有效衡量性能随时间变化所需的情境。如果您是新入职的云架构师,尚不熟悉当前设计、策略或历史记录,则更新日志尤为有用。

DORA 的分析发现,文档质量与组织绩效(即组织实现其绩效和盈利目标的能力)之间存在明显的联系。

简化设计并使用全代管式服务

简洁性对设计至关重要。如果您的架构过于复杂,难以理解,则随着时间的推移,将很难实现和管理设计。在可行的情况下,使用全代管式服务来最大限度地减少与管理和维护基准系统相关的风险、时间和工作量。

如果您已经在生产环境中运行工作负载,则使用代管式服务进行测试,以了解这些服务如何帮助降低运营复杂性。如果您要开发新的工作负载,请先从简单开始,开发最简可行产品 (MVP),并抵御过度工程的冲动。您可以确定异常的用例,反复迭代并随着时间的推移逐步改进系统。

分离您的架构

DORA 的研究表明,架构是实现持续交付的重要预测因素。分离是一种用于将应用和服务组件分成可以独立运行的较小组件的技术。例如,您可以将单体式应用堆栈拆分为单独的服务组件。在松散耦合的架构中,应用可以独立运行其功能,而无需考虑各种依赖项。

分离式架构可让您更加灵活地执行以下操作:

  • 应用独立的升级。
  • 实施特定的安全控制措施。
  • 为每个子系统设定可靠性目标。
  • 监控健康状况。
  • 精细地控制性能和费用参数。

您可以在设计阶段的早期开始分离过程,或者在扩容时将其纳入系统升级。

使用无状态架构

无状态架构可以提高应用的可靠性和可伸缩性。

有状态应用依赖各种依赖项来执行任务,例如本地缓存数据。有状态应用通常需要额外的机制来捕获进度并正常重启。无状态应用可以使用共享存储空间或缓存服务来执行任务,而无需大量本地依赖项。无状态架构使您的应用能够以最少的启动依赖项快速扩容。应用可以承受住硬重启,缩短停机时间,并为最终用户提供更好的性能。