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