分布式架构模式

Last reviewed 2023-12-14 UTC

从非混合或非多云计算环境迁移到混合或多云架构时,请先考虑现有应用的限制,以及这些限制如何导致应用故障。当您的应用或应用组件在不同环境中以分布式方式运行时,这一考虑因素变得更加重要。在考虑了限制条件后,请制定计划以避免或克服它们。请务必考虑分布式架构中每个计算环境的独特功能。

设计考虑事项

以下设计注意事项适用于分布式部署模式。 根据目标解决方案和业务目标,每项考虑因素的优先级和影响可能会有所不同。

延迟时间

在跨不同计算环境分发应用组件(前端、后端或微服务)的任何架构模式中,都可能出现通信延迟。此延迟时间受混合网络连接(Cloud VPN 和 Cloud Interconnect)和本地站点与云区域之间的地理距离或多云设置中云区域之间的地理距离的影响。因此,评估应用的延迟要求以及应用对网络延迟的敏感度至关重要。能够容忍延迟的应用更适合在混合云或多云环境中进行初始分布式部署。

临时状态与最终状态架构

为了明确预期以及对费用、规模和性能的任何潜在影响,在规划阶段,请务必分析您需要的架构类型以及预期时长。例如,如果您计划长时间或永久使用混合云或多云架构,则可能需要考虑使用 Cloud Interconnect。为了降低出站数据传输费用并优化混合连接网络性能,Cloud Interconnect 会针对符合折扣数据传输费率条件的出站数据传输费用提供折扣。

可靠性

在设计 IT 系统架构时,可靠性是一项主要考虑因素。正常运行时间可用性是系统可靠性的关键方面。在 Google Cloud 中,您可以在单个区域或多个区域跨多个可用区部署具有切换功能的该应用的冗余组件,从而提高应用的弹性。冗余是提高应用整体可用性的关键要素之一。对于在混合云和多云环境中具有分布式设置的应用,请务必保持一致的可用性级别。

如需提高本地环境或其他云环境中系统的可用性,请考虑为应用及其组件提供哪些硬件或软件冗余(以及故障转移机制)。理想情况下,您应该考虑服务或应用跨所有组件和支持基础架构的可用性,包括所有环境中的混合连接可用性。此概念也称为应用或服务的复合可用性。

根据组件或服务之间的依赖关系,应用的复合可用性可能高于或低于单个服务或组件。如需了解详情,请参阅复合可用性:计算云基础架构的整体可用性

为了达到您所需的系统可靠性级别,请定义明确的可靠性指标,并设计应用以便在不同环境中有效地进行自我修复和抵御中断。如需了解如何定义适当的方式来衡量客户对服务的体验,请参阅定义可靠性目标

混合云/多云连接

分布式应用组件之间的通信要求应影响您对混合网络连接选项的选择。每种连接选项都有其优点和缺点,以及需要考虑的特定驱动因素,例如成本、流量、安全性等。如需了解详情,请参阅连接设计注意事项部分。

易管理性

一致且统一的管理和监控工具对于成功的混合云和多云设置(无论是否具有工作负载可移植性)至关重要。从短期来看,这些工具可能会增加开发、测试和运营费用。从技术上讲,使用的云服务提供商越多,管理环境的任务就越复杂。大多数公有云服务提供商不仅有不同的功能,而且还使用不同的工具、服务等级协议 (SLA) 和 API 来管理云服务。因此,请权衡所选架构的战略优势、潜在的短期复杂性与长期优势。

成本

多云环境中的每家云服务提供商都有自己的结算指标和工具。如需提供更好的可见性和统一信息中心,请考虑使用多云费用管理和优化工具。例如,在多个云环境中构建云优先解决方案时,每个提供商的产品、价格、折扣和管理工具都可能会导致这些环境之间的费用不一致。

我们建议使用一种明确定义的方法来计算云资源的全部费用,并提供费用可见性。费用可见性对于费用优化至关重要。例如,通过将来自您使用的云服务提供商的结算数据并使用 Google Cloud Looker Cloud 费用管理块进行合并,您可以集中查看多云费用。此视图可提供跨多个云的支出的汇总报告视图。如需了解详情,请参阅有效优化云结算费用管理的策略

我们还建议您使用 FinOps 实践来公开费用。作为强大的 FinOps 做法的一部分,中心团队可以将优化资源的决策制定权委托给参与项目的任何其他团队,以鼓励个人承担责任。在此模型中,中心团队应实现费用优化流程、报告和工具的标准化。如需详细了解您应该考虑的不同费用优化方面和建议,请参阅 Google Cloud 架构框架:费用优化

数据移动

数据移动是混合云和多云策略及架构规划的重要考虑因素,尤其是对于分布式系统。企业需要确定其不同的业务用例、支持的数据以及数据的分类方式(适用于受监管的行业)。他们还应考虑跨环境的分布式系统的数据存储、共享和访问可能会如何影响应用性能和数据一致性。这些因素可能会影响应用和数据流水线架构。借助 Google Cloud 全面的数据迁移选项,企业可以满足其特定需求,采用混合云和多云架构,而不会影响简单性、效率或性能。

安全性

将应用迁移到云时,请务必考虑云优先安全功能,例如一致性、可观测性和统一的安全可见性。每个公有云服务提供商都有自己的安全方法、最佳实践和安全功能。请务必分析和调整这些功能,以构建标准的功能性安全架构。强大的 IAM 控制、数据加密、漏洞扫描以及遵守行业法规也是云安全性的重要方面。

在规划迁移策略时,我们建议您分析上述注意事项。它们可以帮助您最大限度地降低随着应用或流量的增长向架构引入复杂性的可能性。此外,在云环境中部署企业工作负载几乎总是需要设计和构建着陆区。着陆区可帮助您的企业跨多个区域更安全地部署、使用和扩缩云服务,包括身份、资源管理、安全性和网络等不同元素。如需了解详情,请参阅 Google Cloud 中的着陆区设计

本系列中的以下文档介绍了其他分布式架构模式: