Google Cloud 部署原型

Last reviewed 2023-11-03 UTC

作为云架构师或决策者,当您计划在 Google Cloud 中部署应用时,您需要选择1适用于您的应用的部署原型。本指南介绍了六种部署原型(可用区级、区域级、多区域级、全球、混合和多云端),并介绍了每种部署原型的使用场景和设计注意事项。本指南还提供了比较分析,可帮助您选择满足可用性、费用、性能和操作效率要求的部署原型。

什么是部署原型?

部署原型是独立于提供商的抽象模型,您可以基于该模型构建可满足业务和技术要求的特定于应用的部署架构。每种部署原型都指定了可在其中运行应用的故障域的组合。这些故障域可以是一个或多个 Google Cloud 可用区或区域,并且可以进行扩展,以包含您的本地数据中心或其他云服务提供商中的故障域。

下图展示了在 Google Cloud 中部署的六个应用。每个应用都使用满足其特定要求的部署原型。

Google Cloud 中使用不同部署原型部署的应用。

如上图所示,在使用混合或多云部署原型的架构中,云拓扑基于基本原型之一:可用区级、区域级、多区域级或全球。从这一点上讲,可以将混合和多云部署原型视为包含其中一种基本原型的复合部署原型

选择部署原型有助于简化有关您应该使用的 Google Cloud 产品和功能的后续决策。例如,对于高可用性容器化应用,如果您选择区域级部署原型,则区域级 Google Kubernetes Engine (GKE) 集群比可用区级 GKE 集群更适合。

为应用选择部署原型时,您需要考虑可用性、费用和运营复杂性等因素之间的权衡取舍。例如,如果应用为多个国家/地区的用户提供服务并且需要高可用性,则您可以选择多区域级部署原型。但是,对于单个地理区域中的员工使用的内部应用,您可能会优先考虑费用而非可用性,因此选择区域级部署原型。

部署原型概览

以下标签页提供了部署原型的定义,并汇总了每种原型的应用场景和设计注意事项。

可用区级

您的应用在单个 Google Cloud 可用区中运行,如下图所示:

可用区级部署原型
使用场景
  • 开发和测试环境。
  • 不需要高可用性的应用。
  • 应用组件之间的低延迟网络。
  • 迁移商业工作负载。
  • 使用许可受限软件的应用。
设计考虑事项
  • 可用区服务中断期间的停机时间。

    为了实现业务连续性,您可以在同一区域中的其他可用区预配应用的被动副本。如果发生可用区服务中断,您可以使用被动副本将应用恢复到生产环境。

更多信息

请参阅以下各部分:

单区域

您的应用在单个 Google Cloud 区域内的两个或多个可用区中独立运行,如下图所示:

区域级部署原型
使用场景
  • 为某一地理区域内的用户提供服务的高可用性应用。
  • 遵守数据驻留和主权要求
设计考虑事项
  • 区域服务中断期间的停机时间。

    为了实现业务连续性,您可以将应用和数据备份到另一个区域。发生区域服务中断时,您可以使用另一个区域中的备份将应用恢复到生产环境。

  • 预配和管理冗余资源的费用和工作量。
更多信息

请参阅以下各部分:

多区域级

您的应用在两个或多个 Google Cloud 区域之间的多个可用区中独立运行。您可以使用 DNS 路由政策将传入的流量路由到区域级负载均衡器。然后,区域级负载均衡器将流量分配到应用的可用区级副本,如下图所示:

多区域级部署原型
使用场景
  • 地理位置分散的用户的高可用性应用。
  • 需要低最终用户延迟体验的应用。
  • 使用地理围栏 DNS 路由政策遵守数据驻留和主权要求。
设计考虑事项
  • 跨区域数据传输和数据复制的费用。
  • 操作复杂性。
更多信息

请参阅以下各部分:

Global

您的应用以全球分布式(位置未知)栈或区域隔离式栈的形式在全球范围的 Google Cloud 区域中运行。全球任播负载均衡器会将流量分配到离用户最近的区域。应用栈的其他组件也可以是全球组件,例如数据库、缓存和对象存储。

下图展示了全球部署原型的全球分布式变体。全球任播负载均衡器会将请求转发到分布在多个区域并使用全球复制的数据库的应用栈。

全球部署原型:全球分布式栈

下图展示了使用区域隔离式应用栈的全球部署原型的变体。全球任播负载均衡器会将请求转发到一个区域中的应用栈。所有应用栈都使用单个全球复制的数据库。

全球部署原型:区域隔离式栈
使用场景
  • 为分散在全球各地的用户提供服务的高可用性应用。
  • 通过使用全球性资源(而不是多个区域级资源实例)来优化费用并简化运营的机会。
设计考虑事项 跨区域数据传输和数据复制的费用。
更多信息

请参阅以下各部分:

混合

应用的某些部分部署在 Google Cloud 中,而其他部分在本地运行,如下图所示。Google Cloud 中的拓扑可以使用可用区级、区域级、多区域级或全球部署原型。

混合部署原型
使用场景
  • 本地工作负载的灾难恢复 (DR) 站点。
  • 针对云应用的本地开发。
  • 针对旧版应用逐步迁移到云。
  • 使用云功能增强本地应用。
设计考虑事项
  • 设置工作量和操作复杂性。
  • 冗余资源的费用。
更多信息

请参阅以下各部分:

多云端

应用的某些部分部署在 Google Cloud 中,其他部分部署在其他云平台中,如下图所示。每个云平台中的拓扑都可以使用可用区级、区域级、多区域级或全球部署原型。

多云部署原型
使用场景
  • 将 Google Cloud 作为主要站点,将另一个云作为灾难恢复站点。
  • 使用高级 Google Cloud 功能增强应用。
设计考虑事项
  • 设置工作量和操作复杂性。
  • 冗余资源和跨云网络流量的费用。
更多信息

请参阅以下各部分:

贡献者

作者: Kumar Dhanagopal | 跨产品解决方案开发者

其他贡献者:


  1. Anna Berenberg and Brad Calder, Deployment Archetypes for Cloud Applications, ACM Computing Surveys, Volume 55, Issue 3, Article No.: 61, pp 1-48