使用 CloudOps 确保运营准备就绪和性能

Google Cloud Well-Architected Framework 的卓越运营核心,此原则可帮助您确保云工作负载的运营就绪性和性能。它侧重于为服务性能确立明确的预期和承诺,实现强大的监控和提醒功能,执行性能测试,以及针对容量需求主动规划。

原则概览

不同组织对运营准备情况的解读可能不同。 运营就绪是组织为在 Google Cloud上成功运行工作负载做好准备的方式。要准备运行复杂的多层云工作负载,需要为上线和第 2 天操作仔细规划。这些操作通常称为 CloudOps

运营准备工作的重点领域

运营准备工作包括四个重点领域。每个焦点区域均由一组 activity 和组件组成,这些 activity 和组件是在 Google Cloud中运行复杂应用或环境所必需的。下表列出了每个焦点区域的组件和活动:

运营准备工作的重点领域 activity 和组件
员工
  • 为管理和运营云资源的团队定义明确的角色和职责。
  • 确保团队成员具备适当的技能。
  • 制定学习计划。
  • 建立清晰的团队结构。
  • 招聘所需人才。
进程
  • 可观测性。
  • 管理服务中断。
  • 云端交付。
  • 核心云运维。
工具 支持 CloudOps 流程所需的工具。
治理
  • 服务等级和报告。
  • Cloud 财务。
  • 云运营模式
  • 架构审查和治理委员会。
  • 云架构和合规性。

建议

为确保使用 CloudOps 做好运营准备和性能,请考虑以下部分中的建议。本文档中的每条建议都与一个或多个运营准备工作的重点领域相关。

定义 SLO 和 SLA

云运营团队的核心职责是为所有关键工作负载制定服务等级协议 (SLO) 和服务等级协议 (SLA)。此建议与运营准备工作的治理重点领域相关。

SLO 必须是具体、可衡量、可实现、相关且有时限 (SMART),并且必须反映您期望的服务水平和性能。

  • 具体:清晰阐述了所需的服务级别和性能。
  • 可衡量:可量化和可跟踪。
  • 可实现:可在组织的功能和资源限制内实现。
  • 相关性:与业务目标和优先事项保持一致。
  • 有时限:已定义的衡量和评估时间范围。

例如,Web 应用的 SLO 可能是“99.9% 可用性”或“平均响应时间低于 200 毫秒”。此类 SLO 明确定义了 Web 应用所需的服务等级和性能水平,并且可随时间推移衡量和跟踪 SLO。

SLA 概述了客户关于服务可用性、性能和支持的承诺,包括因不合规而受到的任何惩罚或补救措施。SLA 必须包含有关所提供服务的具体细节、预期的服务级别、服务提供商和客户的责任,以及因不合规而受到的任何惩罚或补救措施。SLA 充当双方之间的合同协议,确保双方清楚了解与云服务相关的预期和义务。

Google Cloud 提供 Cloud Monitoring 和服务等级指标 (SLI) 等工具,可帮助您定义和跟踪 SLO。Cloud Monitoring 提供全面的监控和可观测性功能,使您的组织能够收集和分析与云端应用和服务的可用性、性能和延迟时间相关的指标。SLI 是特定指标 可用于衡量和跟踪 SLO 随时间而的变化通过利用这些工具,您可以有效监控和管理云服务,并确保它们达到 SLO 和 SLA。

明确定义并传达所有关键云服务的 SLO 和 SLA 有助于确保您部署的应用和服务的可靠性和性能。

实现全面的可观测性

如需实时了解云环境的运行状况和性能,我们建议您结合使用 Google Cloud Observability 工具 和第三方解决方案。此建议与运营准备工作的这些重点领域(流程和工具)相关。

通过实施一系列可观测性解决方案,您可以获得全面的可观测性策略,其中涵盖云基础架构和应用的各个方面。Google Cloud Observability 是一个统一平台,用于收集、分析和直观呈现来自各种Google Cloud 服务、应用和外部来源的指标、日志和跟踪记录。通过使用 Cloud Monitoring,您可以深入了解资源的资源利用率、性能特征和整体健康状况。

为确保全面监控,请监控与系统运行状况指标相对应的重要指标,例如 CPU 利用率、内存使用情况、网络流量、磁盘 I/O 和应用响应时间。您还必须考虑特定于业务的指标。通过跟踪这些指标,您可以发现潜在瓶颈、性能问题和资源限制。此外,您还可以设置提醒,以主动通知相关团队有关潜在问题或异常情况。

如需进一步增强监控功能,您可以将第三方解决方案与 Google Cloud Observability 集成。这些解决方案可以提供额外的功能,例如高级分析、机器学习驱动的异常值检测和突发事件管理功能。将 Google Cloud Observability 工具与第三方解决方案相结合,可让您根据自己的特定需求打造强大且可自定义的监控生态系统。通过这种组合方法,您可以主动识别和解决问题,优化资源利用率,并确保云应用和服务的整体可靠性和可用性。

实现性能和负载测试

执行定期性能测试有助于确保云端应用和基础架构能够处理峰值负载并保持最佳性能。负载测试会模拟真实的流量模式。压力测试会将系统推向极限,以确定潜在的瓶颈和性能限制。此建议与运营准备工作的这些重点领域(流程和工具)相关。

Cloud Load Balancing负载测试服务等工具可帮助您模拟真实的流量模式并对应用进行压力测试。这些工具可让您深入了解系统在各种负载条件下的行为,并帮助您确定需要优化的方面。

根据性能测试结果,您可以决策优化云基础架构和应用,以实现最佳性能和可伸缩性。此优化可能涉及调整资源分配、调整配置或实现缓存机制。

例如,如果您发现应用在高流量期间运行速度变慢,则可能需要增加分配给应用的虚拟机或容器数量。或者,您可能需要调整 Web 服务器或数据库的配置以提高性能。

通过定期执行性能测试并实施必要的优化,您可以确保云端应用和基础架构始终以最佳性能运行,并为用户提供无缝响应体验。这样做可以帮助您保持竞争优势,并赢得客户的信任。

规划和管理容量

主动规划未来的容量需求(自然或非自然)有助于确保您的云端系统平稳运行和可伸缩。此建议与流程运营准备工作的重点领域相关。

规划未来的容量包括了解和管理各种资源(例如计算实例、存储空间和 API 请求)的配额。通过分析历史使用模式、增长预测和业务需求,您可以准确预测未来的容量需求。您可以使用 Cloud MonitoringBigQuery 等工具收集和分析使用情况数据、识别趋势并预测未来需求。

历史使用模式提供有关一段时间内资源利用率的宝贵数据洞见。通过检查 CPU 利用率、内存用量和网络流量等指标,您可以识别高需求时段和潜在瓶颈。此外,您可以根据用户群的增长情况、新产品和新功能以及营销活动等因素来预测增长情况,从而帮助预估未来的容量需求。在评估容量需求时,您还应考虑服务等级协议 (SLA) 和性能目标等业务要求。

确定工作负载的资源大小时,请考虑可能影响资源利用率的因素。节假日购物期或季末促销等季节性变化可能会导致需求出现暂时性高峰。产品发布或营销活动等计划内事件也可以显著增加流量。为了确保您的主要系统和灾难恢复 (DR) 系统可以应对意外的需求激增,请规划在自然灾害和网络攻击等中断期间支持安全故障切换的容量。

自动扩缩是一种根据工作负载的波动动态调整云资源的重要策略。通过使用自动扩缩政策,您可以根据不断变化的需求自动扩缩计算实例、存储空间和其他资源。这可确保在高峰时段实现最佳性能,同时在资源利用率较低时最大限度地降低费用。自动扩缩算法使用 CPU 利用率、内存用量和队列深度等指标来确定何时扩缩资源。

持续监控和优化

如需管理和优化云工作负载,您必须建立持续监控和分析性能指标的流程。此建议与运营准备工作的这些重点领域(流程和工具)相关。

为了建立持续监控和分析流程,您需要跟踪、收集和评估与云环境各个方面相关的数据。通过使用此数据,您可以主动确定需要改进的领域,优化资源利用率,并确保您的云基础架构始终达到或超过您的性能预期。

性能监控的一个重要方面是定期检查日志和跟踪记录。日志可提供有关系统事件、错误和警告的宝贵数据洞见。跟踪记录提供有关应用请求流的详细信息。通过分析日志和跟踪记录,您可以识别潜在问题,确定问题的根本原因,并更好地了解应用在不同条件下的行为。服务之间的往返时间等指标可以帮助您识别和了解工作负载中的瓶颈。

此外,您可以使用性能调整技术来显著缩短应用响应时间和整体效率。以下是您可以使用的技术示例:

  • 缓存:将经常访问的数据存储在内存中,以减少重复的数据库查询或 API 调用的需求。
  • 数据库优化:使用索引和查询优化等技术来提高数据库操作的性能。
  • 代码分析:找出代码消耗过多资源或导致性能问题的区域。

通过运用这些方法,您可以优化应用,并确保应用在云端高效运行。