Google Cloud Well-Architected Framework 中的可靠性支柱提供了相关原则和建议,帮助您在 Google Cloud中设计、部署和管理可靠的工作负载。
本文档面向云架构师、开发者、平台工程师、管理员和站点可靠性工程师。
可靠性是指系统能够在定义的条件下始终如一地执行预期功能并保持服务不中断的能力。可靠性方面的最佳做法包括冗余、容错设计、监控和自动恢复流程。
弹性是系统在保持性能的同时应对故障或意外中断并从中恢复的能力。多区域部署、自动备份和灾难恢复解决方案等功能有助于提高系统的弹性。Google Cloud
可靠性对您的云策略至关重要,原因有很多,其中包括:
- 最大限度地减少停机时间:停机时间可能会导致收入损失、工作效率下降和声誉受损。弹性架构有助于确保系统可以在故障期间继续运行,或从故障中高效恢复。
- 增强的用户体验:用户希望与技术进行无缝互动。弹性系统有助于维持一致的性能和可用性,即使在高需求或意外问题期间,也能提供可靠的服务。
- 数据完整性:失败可能会导致数据丢失或损坏。 弹性系统会实施备份、冗余和复制等机制,以保护数据并确保数据准确且可访问。
- 业务连续性:您的业务依赖技术开展关键运营。弹性架构有助于确保在发生灾难性故障后确保连续性,使业务功能能够在没有严重中断的情况下继续运行,并支持快速恢复。
- 合规性:许多行业对系统可用性和数据保护有监管要求。弹性架构可确保系统保持运行和安全,从而帮助您满足这些标准。
- 降低长期费用:弹性架构需要前期投资,但弹性有助于避免代价高昂的停机时间、避免被动式修复以及更高效地使用资源,从而逐渐降低费用。
组织思维
为了确保系统的可靠性,您需要制定相应的计划和成熟的策略。该策略必须包括教育和权力,将可靠性与其他计划放在一起进行。
设定一个明确的预期,表明整个组织都要负责可靠性,包括开发、产品管理、运营、平台工程和站点可靠性工程 (SRE)。即使是以业务为中心的团队(如营销和销售),也会影响可靠性。
每个团队都必须了解其应用的可靠性目标和风险。相关团队必须负责满足这些要求。必须优先处理可靠性与常规产品功能开发之间的冲突,并相应地上报这些冲突。
跨所有职能和团队全面规划和管理可靠性。 考虑建立一个包括可靠性要素的 Cloud 卓越中心 (CCoE)。如需了解详情,请参阅借助 Cloud Center of Excellence 优化组织的云之旅。
可靠性重点关注领域
您为设计、部署和管理可靠系统而执行的活动可以归为以下几个重点领域。这方面的每个可靠性原则和建议都与其中一个重点领域相关。
- 范围:如需了解您的系统,请详细分析其架构。您需要了解组件、它们如何工作和交互、数据和操作如何流经系统以及可能出现的问题。识别潜在的故障、瓶颈和风险,从而帮助您采取措施来缓解这些问题。
- 观察:为了帮助防止系统故障,请实现全面和持续的观察和监控。通过观察,您可以了解趋势并主动识别潜在问题。
- 响应:为了降低故障的影响,请进行适当的响应并高效地恢复。自动响应还有助于降低故障造成的影响。即使有规划和控制措施,故障仍然可能发生。
- 学习:为了防止故障反复发生,请从每次体验中学习,并采取适当措施。
核心原则
架构完善的框架的可靠性要素中的建议对应于以下核心原则:
- 根据用户体验目标定义可靠性
- 设定切合实际的可靠性目标
- 通过资源冗余构建高可用性系统
- 利用横向可伸缩性
- 使用可观测性检测潜在故障
- 设计用于优雅降级
- 执行测试以从故障中恢复
- 执行测试以从数据丢失中恢复数据
- 进行全面的事后分析
贡献者
作者:
- Laura Hyatt | 企业云架构师
- Jose Andrade | 企业基础架构客户工程师
- Gino Pelliccia | 首席架构师
其他贡献者:
- Andrés-Leonardo Martínez-Ortiz | 技术项目经理
- Brian Kudzia | 企业基础架构客户工程师
- Daniel Lees | 云安全架构师
- Filipe Gracio 博士 | 客户工程师
- Gary Harmson | 首席架构师
- Kumar Dhanagopal | 跨产品解决方案开发者
- Marwan Al Shawi | 合作伙伴客户工程师
- Nicolas Pintaux | 客户工程师,应用现代化改造专家
- Radhika Kanakam | Cloud GTM 高级项目经理
- Ryan Cox | 首席架构师
- Samantha He | 技术文档工程师
- Wade Holmes | 全球解决方案总监
- Zach Seils | 网络专家