Google Cloud 架构完善框架的卓越运营支柱中的这一原则可帮助您确保云工作负载的运营就绪状态和性能。它强调要为服务性能设定明确的预期和承诺,实施可靠的监控和提醒,进行性能测试,并主动规划容量需求。
原则概览
不同的组织可能会对运行就绪状态有不同的解读。 运营准备情况是指您的组织为在 Google Cloud上成功运行工作负载所做的准备。准备运行复杂的多层级云工作负载需要仔细规划正式发布和day-2的运营。这些操作通常称为 CloudOps。
运营准备就绪的重点领域
运营准备情况包含四个重点领域。每个重点领域都包含一组必要的活动和组件,用于准备在 Google Cloud中运行复杂的应用或环境。下表列出了每个重点领域的组成部分和活动:
运营准备就绪的重点领域 | 活动和组件 |
---|---|
劳动力 |
|
进程 |
|
工具 | 支持 CloudOps 流程所需的工具。 |
治理 |
|
建议
如需使用 CloudOps 确保运营就绪状态和性能,请考虑以下部分中的建议。本文档中的每项建议都与运营准备就绪程度的重点领域中的一个或多个相关。
定义 SLO 和 SLA
云运营团队的核心职责是为所有关键工作负载定义服务等级目标 (SLO) 和服务等级协议 (SLA)。此建议与运营准备就绪的治理重点领域相关。
SLO 必须遵循 SMART 原则,即具体、可衡量、可实现、相关且有时限,并且必须反映您期望的服务和性能水平。
- 具体:清楚说明所需的服务和性能水平。
- 可衡量:可量化且可跟踪。
- 可实现:在组织的能力和资源范围内可实现。
- 相关性:与业务目标和优先事项保持一致。
- 时限性:有明确的衡量和评估时间范围。
例如,对于 Web 应用,SLO 可能是“可用性达到 99.9%”或“平均响应时间低于 200 毫秒”。此类 SLO 明确定义了 Web 应用所需的服务和性能水平,并且可以随时间推移进行衡量和跟踪。
SLA 概述了针对服务可用性、性能和支持向客户做出的承诺,包括违规行为的任何处罚或补救措施。 SLA 必须包含有关所提供服务的具体详细信息、可预期的服务水平、服务提供商和客户的责任,以及任何违规行为的处罚或补救措施。SLA 可作为双方之间的合同协议,确保双方都清楚了解与云服务相关的预期和义务。
Google Cloud 提供 Cloud Monitoring 和服务等级指标 (SLI) 等工具,帮助您定义和跟踪 SLO。 Cloud Monitoring 提供全面的监控和可观测性功能,使您的组织能够收集和分析与基于云的应用和服务的可用性、性能和延迟时间相关的指标。SLI 是可用于衡量和跟踪 SLO 随时间变化的特定指标。利用这些工具,您可以有效地监控和管理云服务,并确保它们符合 SLO 和 SLA。
明确定义并传达所有关键云服务的 SLO 和 SLA 有助于确保所部署应用和服务的可靠性和性能。
实现全面观测
为了实时了解云环境的运行状况和性能,我们建议您结合使用 Google Cloud Observability 工具 和第三方解决方案。此建议与以下运营准备就绪程度重点领域相关:流程和工具。
实施多种可观测性解决方案,可为您提供全面的可观测性策略,涵盖云基础架构和应用的各个方面。Google Cloud 可观测性是一个统一的平台,用于收集、分析和直观呈现来自各种Google Cloud 服务、应用和外部来源的指标、日志和轨迹。通过使用 Cloud Monitoring,您可以深入了解资源利用率、性能特征和资源的整体运行状况。
为确保全面监控,请监控与系统健康状况指标(例如 CPU 利用率、内存用量、网络流量、磁盘 I/O 和应用响应时间)相符的重要指标。您还必须考虑特定于业务的指标。通过跟踪这些指标,您可以发现潜在的瓶颈、性能问题和资源限制。此外,您还可以设置提醒,以便主动通知相关团队潜在问题或异常情况。
为了进一步增强监控功能,您可以将第三方解决方案与 Google Cloud Observability 集成。这些解决方案可以提供其他功能,例如高级分析、由机器学习技术支持的异常检测和突发事件管理功能。通过将 Google Cloud 可观测性工具与第三方解决方案相结合,您可以打造一个强大且可自定义的监控生态系统,以满足您的特定需求。通过使用这种组合方法,您可以主动识别和解决问题,优化资源利用率,并确保云应用和服务的整体可靠性和可用性。
实施性能和负载测试
定期执行性能测试有助于确保基于云的应用和基础架构能够处理峰值负载并保持最佳性能。负载测试可模拟真实的流量模式。压力测试会将系统推向极限,以找出潜在的瓶颈和性能限制。此建议与以下运营准备就绪程度重点领域相关:流程和工具。
Cloud Load Balancing 和负载测试服务等工具可帮助您模拟真实世界的流量模式,并对应用进行压力测试。这些工具可提供有关系统在各种负载条件下的行为的宝贵数据洞见,并帮助您确定需要优化的方面。
根据性能测试结果,您可以做出决策来优化云基础架构和应用,以实现最佳性能和可伸缩性。这种优化可能涉及调整资源分配、调整配置或实现缓存机制。
例如,如果您发现应用在高流量期间运行速度变慢,可能需要增加分配给应用的虚拟机或容器数量。或者,您可能需要调整 Web 服务器或数据库的配置,以提高性能。
通过定期进行性能测试并实施必要的优化,您可以确保基于云的应用和基础设施始终以最佳性能运行,并为用户提供顺畅且响应迅速的体验。这样做有助于您保持竞争优势并赢得客户的信任。
规划和管理容量
主动规划未来的容量需求(无论是自然增长还是非自然增长)有助于确保云端系统的顺畅运行和可伸缩性。此建议与运营准备就绪程度流程重点领域相关。
规划未来容量包括了解和管理各种资源的配额,例如计算实例、存储空间和 API 请求。通过分析历史使用模式、增长预测和业务需求,您可以准确预测未来的容量需求。您可以使用 Cloud Monitoring 和 BigQuery 等工具来收集和分析使用情况数据、识别趋势并预测未来需求。
历史用量模式可提供有关资源随时间推移的利用率的宝贵数据洞见。通过检查 CPU 利用率、内存使用情况和网络流量等指标,您可以确定需求旺盛的时期和潜在的瓶颈。 此外,您还可以根据用户群增长、新产品和功能以及营销广告系列等因素做出增长预测,从而帮助估算未来的容量需求。在评估容量需求时,您还应考虑 SLA 和性能目标等业务需求。
在确定工作负载的资源规模时,请考虑可能会影响资源利用率的因素。节假日购物季或季度末促销等季节性变化可能会导致需求暂时性激增。产品发布或营销广告系列等计划内活动也会显著增加流量。为确保主系统和灾难恢复 (DR) 系统能够应对意外的需求激增,请规划能够支持在自然灾害和网络攻击等中断期间实现平稳故障切换的容量。
自动扩缩是一项重要策略,可根据工作负载波动情况动态调整云资源。通过使用自动扩缩政策,您可以根据需求变化自动扩缩计算实例、存储空间和其他资源。这样一来,系统就能在高峰时段确保最佳性能,并在资源利用率较低时最大限度地降低成本。自动扩缩算法使用 CPU 利用率、内存使用量和队列深度等指标来确定何时扩缩资源。
持续监控和优化
若要管理和优化云工作负载,您必须建立一个持续监控和分析性能指标的流程。此建议与以下运营准备就绪程度重点领域相关:流程和工具。
为了建立持续监控和分析流程,您需要跟踪、收集和评估与云环境各个方面相关的数据。通过使用这些数据,您可以主动识别需要改进的方面、优化资源利用率,并确保云基础架构始终达到或超出您的性能预期。
性能监控的一个重要方面是定期查看日志和轨迹。日志可提供有关系统事件、错误和警告的宝贵信息。 轨迹可提供有关请求在应用中的流动的详细信息。通过分析日志和轨迹,您可以发现潜在问题、找出问题的根本原因,并更好地了解应用在不同条件下的行为。服务之间的往返时间等指标可帮助您识别和了解工作负载中的瓶颈。
此外,您还可以使用性能调优技巧来显著缩短应用响应时间并提高整体效率。以下是一些您可以使用的技巧示例:
- 缓存:将经常访问的数据存储在内存中,以减少重复的数据库查询或 API 调用。
- 数据库优化:使用索引和查询优化等技术来提升数据库操作的性能。
- 代码分析:找出代码中消耗过多资源或导致性能问题的区域。
应用这些技巧后,您可以优化应用并确保它们在云端高效运行。