分区多云模式

Last reviewed 2023-12-14 UTC

分区多云架构模式结合了由不同云服务提供商运营的多个公有云环境。这种架构可让您灵活地在最佳计算环境中部署应用,该环境考虑到了本系列第一部分中讨论的多云驱动因素和注意事项。

下图展示了分区多云架构模式。

从 Google Cloud 中的应用到其他云环境中应用的数据流。

此架构模式可以通过两种不同的方式构建。第一种方法基于在不同的公有云环境中部署应用组件。此方法也称为复合架构,与分层混合架构模式是同样的方法。 但是,它使用至少两个云环境,而不是使用本地环境和一个公有云。在复合架构中,单个工作负载或应用使用多个云中的组件。第二种方法是在不同的公有云环境中部署不同的应用。以下列表介绍了第二种方法的一些业务驱动因素,但并非详尽无遗:

  • 在两家企业合并和收购的场景中,全面集成托管在不同云环境中的应用。
  • 提升灵活性并满足组织内的各种云偏好。采用这种方法可鼓励组织部门选择最符合其特定需求和偏好的云服务提供商。
  • 在多区域或全球云部署中运营。如果企业需要遵守特定地区或国家的数据驻留法规,但其主要云服务提供商在该地区或国家没有云区域,那么企业就需要从该位置的可用云服务提供商中进行选择。

采用分区多云架构模式时,您可以选择保留根据需要将工作负载从一个公有云环境迁移到另一个公有云环境的能力。在这种情况下,工作负载的可移植性就成为关键要求。如果您将工作负载部署到多个计算环境,并希望保留在环境之间移动工作负载的功能,则必须将环境之间的差异抽象化。借助 GKE Enterprise,您可以设计和构建解决方案,通过一致的治理、运营和安全状况来解决多云复杂性。如需了解详情,请参阅 GKE Multi-cloud

如前所述,在某些情况下,可能出于业务和技术原因,需要将 Google Cloud 与其他云服务提供商结合使用,并在这些云环境中对工作负载进行分区。多云解决方案可让您灵活地跨多云环境迁移、构建和优化应用可移植性,同时最大程度减少供应商锁定,并帮助您满足监管要求。例如,您可以将 Google Cloud 连接到 Oracle Cloud Infrastructure (OCI),使用专用 Cloud Interconnect 将 OCI 中运行的资源与 Google Cloud 中运行的资源结合起来,从而构建可利用每个平台功能的多云解决方案。如需了解详情,请参阅 Google Cloud 和 Oracle Cloud Infrastructure - 充分利用多云。此外,Cross-Cloud Interconnect 可在 Google Cloud 与其他受支持的云服务提供商之间实现高带宽专用连接,使您能够设计和构建多云解决方案,以处理云之间的高流量。

优点

推动因素、注意事项、策略和模式中所述,使用多云架构有许多业务和技术优势,而对每项潜在优势进行详细的可行性评估也非常重要。您的评估应仔细考虑任何相关的直接或间接挑战或潜在障碍,以及您有效应对这些挑战和障碍的能力。此外,请注意,应用或服务的长期增长可能会引入复杂性,从而使劣势大于最初的优势。

以下是分区多云架构模式的一些主要优势:

  • 如果您需要尽可能减少对单个云服务提供商的承诺,您可以在多个云服务提供商之间分布应用。这样,您可以相对地减少供应商锁定,并能够(在某种程度上)跨云服务提供商调整计划。开放式云平台可将 Google Cloud 功能(例如 GKE Enterprise)带到不同的物理位置。通过在本地、多个公有云和边缘扩展 Google Cloud 功能,它可提供灵活性、敏捷性并推动转型

  • 出于监管原因,您可以为尚未推出 Google Cloud 云区域的国家/地区的特定用户群和数据提供服务。

  • 分区多云架构模式有助于在主要云服务提供商尚未推出云区域或入网点的位置降低延迟时间并提升用户体验的整体质量。当使用高容量和低延迟的多云连接(例如 Cross-Cloud Interconnect 和使用分布式 CDN 的 CDN 互连)时,此模式尤为有用。

  • 您可以跨多个云服务提供商部署应用,以便可在其他云服务提供商提供的最佳服务中进行选择。

  • 分区多云架构模式可促进和加速合并和收购场景,在此场景中,两个企业的应用和服务可能托管在不同的公有云环境中。

最佳做法

  • 首先部署非任务关键型工作负载。然后,这种在次要云中的初始部署可用作未来部署或迁移的模式。但是,如果法律或法规要求特定工作负载位于特定云区域,而主要云服务提供商在所要求的地区未推出云区域,则此方法可能不适用。
  • 最大限度减少在不同公有云环境中运行的系统之间的依赖项,尤其是在同步处理通信时。这些依赖项会降低性能和整体可用性,并可能产生额外的出站数据传输费用。
  • 如需将环境之间的差异抽象化,请考虑在应用支持且可行的情况下使用容器和 Kubernetes。
  • 确保 CI/CD 流水线和用于部署和监控的工具在云环境之间保持一致。
  • 选择可为您使用的应用提供最高效和最有效的通信解决方案的最优网络架构模式。
    • 必须对通信进行精细控制。使用安全的 API 来公开应用组件。
    • 根据您的特定业务和技术要求,考虑使用网状架构模式或某一种封闭网络模式
  • 为了满足您的可用性和性能预期,请针对端到端高可用性 (HA)、低延迟和适当的吞吐量级别进行设计。
  • 为了保护敏感信息,我们建议对所有传输中的通信进行加密。

    • 如果需要在连接层进行加密,根据所选的混合连接解决方案,有多种选项可供选择。这些选项包括 VPN 隧道、通过 Cloud Interconnect 实现的高可用性 VPN 和 MACsec for Cross-Cloud Interconnect
  • 如果您在多云分区架构模式中使用多个 CDN,并且使用来自 Google Cloud 的大型数据文件填充其他 CDN,请考虑在 Google Cloud 与受支持的提供商之间使用 CDN 互连,以优化此流量,并可能优化其费用

  • 在环境之间扩展身份管理解决方案,以便系统可以跨环境边界安全地进行身份验证。

  • 如需有效平衡 Google Cloud 和其他云平台之间的请求,您可以使用 Cloud Load Balancing。如需了解详情,请参阅将流量路由到本地位置或其他云

  • 为了解决各种各样的后端之间协议、API 和身份验证机制的不一致,我们建议在适用的情况下,将 API 网关或代理部署为统一的外观 (facade)。此网关或代理充当集中式控制点并实施以下措施:

    • 实施额外的安全措施。
    • 保护客户端应用和其他服务免受后端代码更改的影响。
    • 帮助为所有跨环境应用及其解耦组件之间的通信提供审核跟踪记录。
    • 充当旧版服务和经过现代化改造的服务之间的中间通信层
      • 借助 Apigee 和 Apigee Hybrid,您可以跨本地环境、边缘、其他云和 Google Cloud 环境托管和管理企业级混合网关。
  • 在以下某些情况下,将 Cloud Load Balancing 与 API 网关搭配使用可以提供一个强大且安全的解决方案,用于大规模管理、保护和跨多个区域分发 API 流量:

    • 在不同区域中为 Apigee API 运行时部署多区域故障切换。
    • 使用 Cloud CDN 提高性能。

    • 通过 Google Cloud Armor 提供 WAF 和 DDoS 防护。

  • 尽可能在不同的云环境中使用一致的日志记录和监控工具。您可以考虑使用开源监控系统。如需了解详情,请参阅混合云和多云环境的监控和日志记录模式

  • 如果您要以分布式方式部署应用组件(即单个应用的组件部署在多个云环境中),请参阅分层混合架构模式的最佳实践