Google Cloud Well-Architected Framework 中的费用优化核心介绍了优化 Google Cloud中工作负载费用的原则和建议。
目标受众群体包括:
- 首席技术官、首席信息官、首席财务官以及其他负责战略性成本管理的高管。
- 在组织云历程的所有阶段做出影响成本的决策的架构师、开发者、管理员和运维人员。
本地工作负载和云工作负载的费用模型存在显著差异。本地 IT 成本包括资本支出 (CapEx) 和运营支出 (OpEx)。本地硬件和软件资产需要购买,并且购买成本会在资产的运营生命周期内折旧。在云端,大多数云资源的费用都被视为运营支出,即在消耗云资源时产生费用。这种根本差异凸显了以下费用优化核心原则的重要性。
如需了解特定于 AI 和机器学习工作负载的费用优化原则和建议,请参阅 Well-Architected Framework 中的AI 和机器学习视角:费用优化。
使用智能体 skill 评估工作负载
如需让 AI 智能体根据此支柱中的原则和建议评估您的云工作负载,请使用 google-cloud-waf-cost-optimization 技能,该技能可在 GitHub 的 Google 智能体技能代码库中找到。
如需安装技能,请在智能体的客户端或终端中运行以下命令:
npx skills add google/skills --skill google-cloud-waf-cost-optimization
出现提示时,指定要为其安装技能的 AI 智能体,并设置安装范围(项目或全局)。
核心原则
Well-Architected Framework 的费用优化核心中的建议与以下核心原则相对应:
- 让云支出与业务价值相匹配:通过让 IT 支出与业务目标保持一致,确保您的云资源能够带来可衡量的业务价值。
- 培养成本意识文化:确保整个组织中的人员都考虑其决策和活动的成本影响,并确保他们能够访问做出明智决策所需的成本信息。
- 优化资源使用情况:仅预配您需要的资源,并且仅为消耗的资源付费。
- 持续优化:持续监控云资源用量和费用,并根据需要主动进行调整,以优化支出。这种方法涉及在潜在的成本低效问题演变成重大问题之前,识别并解决这些问题。
这些原则与 Cloud FinOps 的核心原则密切相关。FinOps 适用于任何组织,无论其在云中的规模或成熟度如何。通过采用这些原则并遵循相关建议,您可以在整个云之旅中控制和优化费用。
贡献者
作者:Nicolas Pintaux | 客户工程师、应用现代化改造专家
其他贡献者:
- Anuradha Bajpai | 解决方案架构师
- Daniel Lees | 云安全架构师
- Eric Lam | Google Cloud FinOps 负责人
- Fernando Rubbo | 云解决方案架构师
- Filipe Gracio 博士 | 客户工程师、AI/机器学习专家
- Gary Harmson | 首席架构师
- Jose Andrade | 客户工程师、SRE 专家
- Kent Hua | 解决方案经理
- Kumar Dhanagopal | 跨产品解决方案开发者
- Marwan Al Shawi | 合作伙伴客户工程师
- Radhika Kanakam | Google Cloud Well-Architected Framework 项目主管
- Samantha He | 技术文档工程师
- Steve McGhee | 可靠性技术推广工程师
- Sergei Lilichenko | 解决方案架构师
- Wade Holmes | 全球解决方案总监
- Zach Seils | 网络专家
让云支出与业务价值相匹配
Google Cloud Well-Architected Framework 费用优化核心中的这一原则提供了相关建议,可帮助您根据组织的业务目标调整 Google Cloud 资源的使用。
原则概览
为了有效管理云费用,您需要最大限度地提高云资源提供的业务价值,并最大限度地降低总拥有成本 (TCO)。在评估云工作负载的资源选项时,不仅要考虑预配和使用资源的费用,还要考虑管理资源的费用。例如,Compute Engine 上的虚拟机 (VM) 可能是托管应用的经济实惠之选。但是,如果考虑到维护、修补和扩缩虚拟机的开销,TCO 可能会增加。另一方面,Cloud Run 等无服务器服务可以提供更大的业务价值。较低的运营开销可让您的团队专注于核心活动,并有助于提高敏捷性。
为确保云资源发挥最大价值,请评估以下因素:
- 预配和使用费用:购买、预配或使用资源时产生的费用。
- 管理费用:运营和维护资源的周期性费用,包括修补、监控和伸缩等任务。
- 间接费用:您在管理停机、数据丢失或安全漏洞等问题时可能产生的费用。
- 业务影响:资源带来的潜在好处,例如收入增加、客户满意度提高以及上市期缩短。
通过让云支出与业务价值相匹配,您可以获得以下优势:
- 价值驱动型决策:鼓励团队优先考虑可提供最大业务价值的解决方案,并考虑短期和长期成本影响。
- 明智的资源选择:您的团队拥有评估各种部署选项的业务价值和 TCO 所需的信息和知识,因此他们会选择具有成本效益的资源。
- 跨团队协调:业务、财务和技术团队之间的跨职能协作可确保云决策与组织的总体目标保持一致。
建议
如需使云支出与业务目标保持一致,请考虑以下建议。
优先考虑托管式服务和无服务器产品
尽可能选择托管式服务和无服务器产品,以降低运营开销和维护成本。这样,您的团队就可以专注于核心业务活动。它们可以加快新特性和功能的交付,并帮助推动创新和价值。
以下示例说明了如何实现此建议:
- 如需运行 PostgreSQL、MySQL 或 Microsoft SQL Server 数据库,请使用 Cloud SQL,而不是在虚拟机上部署这些数据库。
- 如需运行和管理 Kubernetes 集群,请使用 Google Kubernetes Engine (GKE) Autopilot,而不是在虚拟机上部署容器。
- 对于 Apache Hadoop 或 Apache Spark 处理需求,请使用 Managed Service for Apache Spark 和 Managed Service for Apache Spark Serverless。与本地数据湖相比,按秒计费有助于显著降低 TCO。
在成本效益与业务敏捷性之间取得平衡
控制成本和优化资源利用率是重要目标。但是,您必须在这些目标与对灵活基础设施的需求之间取得平衡,以便快速创新、快速响应变化并更快地交付价值。以下示例展示了如何实现这种平衡:
- 采用 DORA 指标来衡量软件交付表现。变更失败率 (CFR)、检测时间 (TTD) 和恢复时间 (TTR) 等指标有助于识别和修复开发和部署流程中的瓶颈。通过减少停机时间和加快交付速度,您可以实现运营效率和业务敏捷性。
- 遵循站点可靠性工程 (SRE) 实践,提高运营可靠性。SRE 专注于自动化、可观测性和突发事件响应,可以减少停机时间、缩短恢复时间并提高客户满意度。通过最大限度地减少停机时间并提高运营可靠性,您可以防止收入损失,并避免过度预配资源作为处理服务中断的安全网。
启用自助优化
为团队提供自助式费用优化工具、可观测性工具和资源管理平台,鼓励实验和探索文化。使他们能够自主预配、管理和优化其云资源。这种方法有助于培养主人翁意识,加速创新,并确保团队能够快速响应不断变化的需求,同时注重成本效益。
采用和实现 FinOps
采用 FinOps 来建立协作环境,让每个人都能做出明智的决策,在成本和价值之间取得平衡。FinOps 能够强化财务责任,并促进云端成本的有效优化。
推广以价值为导向和 TCO 意识的心态
鼓励团队成员对云支出采取全面的态度,重点关注 TCO,而不仅仅是前期费用。使用价值流映射等技术,直观呈现和分析软件交付流程中的价值流,并确定需要改进的方面。
通过对应用和服务使用单位价格,深入了解成本动因。采用单位经济效益,在成本与收入或业务指标之间取得平衡。通过将云支出与业务单位衡量单位(例如每位客户的收入或交易量)相关联,您可以衡量单位利润率,并验证支出增加是否由盈利性增长所驱动。当您平衡成本与收入时,您的组织可以区分运营效率低下和健康伸缩。这有助于您确定何时需要进一步投资云。如需了解详情,请参阅借助 Cloud FinOps 最大限度地提高业务价值。
培养成本意识文化
Google Cloud Well-Architected Framework 费用优化核心中的这一原则提供了相关建议,可帮助您在整个组织中提升费用意识,并确保团队成员拥有做出明智决策所需的费用信息。
按照惯例,成本管理责任可能集中在少数几个利益相关方身上,并且主要侧重于初始项目架构决策。不过,所有云用户角色(分析师、架构师、开发者或管理员)的团队成员都可以帮助降低Google Cloud中的资源费用。通过适当共享费用数据,您可以让团队成员在整个开发和部署过程中做出经济实惠的决策。
原则概览
各种角色的利益相关方(产品所有者、开发者、部署工程师、管理员和财务分析师)都需要了解相关费用数据及其与业务价值的关系。在预配和管理云资源时,他们需要以下数据:
- 预计资源费用:设计和部署时的费用估算。
- 实时资源使用费用:可用于持续监控和预算验证的最新费用数据。
- 与业务指标对应的费用:深入了解云支出如何影响关键绩效指标 (KPI),使团队能够确定具有成本效益的策略。
并非每个人都需要访问原始费用数据。不过,在所有角色中提升成本意识至关重要,因为个人决策可能会影响成本。
通过提高成本可见性并确保成本管理实践的明确所有权,您可以确保每个人都了解其选择对财务的影响,并且每个人都积极为组织的成本优化目标做出贡献。无论是通过集中式 FinOps 团队还是分布式模型,建立问责制对于有效的成本优化工作都至关重要。
建议
为了提高成本意识并确保团队成员拥有做出明智决策所需的成本信息,请考虑以下建议。
提供组织级费用可见性
为了实现组织范围内的费用可见性,负责费用管理的团队可以采取以下措施:
- 标准化费用计算和预算:使用一致的方法来确定云资源的全部费用,同时考虑折扣和分摊费用。建立清晰且标准化的预算流程,使其与组织的目标保持一致,并实现主动成本管理。
- 使用标准化的费用管理和公开范围工具:使用适当的工具,实时了解云支出并生成定期(例如每周)费用进展快照。这些工具可实现主动预算、预测和识别优化机会。这些工具可以是云服务商工具(例如 Google Cloud Billing 信息中心)、第三方解决方案或开源解决方案(例如费用归因解决方案)。
- 实施费用分配系统:为每个团队或项目分配一部分总体云预算。这种分配方式让团队对云支出有主人翁意识,并鼓励他们在分配的预算内做出具有成本效益的决策。
- 提高透明度:鼓励团队在设计和决策过程中讨论成本影响。营造一个安全且支持性的环境,让大家能够分享与费用优化相关的想法和疑虑。一些组织会使用排行榜或表彰计划等积极强化机制。如果您的组织出于业务考虑而限制共享原始费用数据,请探索共享费用信息和数据洞见的其他方法。例如,考虑分享汇总指标(如环境或功能的总费用)或相对指标(如每笔交易或每个用户的平均费用)。
了解云资源的结算方式
Google Cloud 资源的价格可能因区域而异。 有些资源按月以固定价格结算,有些资源则可能按用量结算。如需了解 Google Cloud 资源的结算方式,请使用Google Cloud 价格计算器和特定于产品的价格信息(例如 Google Kubernetes Engine (GKE) 价格)。
了解基于资源的费用优化选项
对于您计划使用的每种类型的云资源,请探索优化利用率和效率的策略。这些策略包括适当调整规模、自动扩缩以及在适当情况下采用无服务器技术。以下是部分 Google Cloud 产品的费用优化方案示例:
- 借助 Cloud Run,您可以配置始终分配的 CPU,以处理可预测的流量负载,而费用仅为默认分配方法(即仅在请求处理期间分配 CPU)的一小部分。
- 您可以购买 BigQuery 槽承诺,以节省数据分析费用。
- GKE 提供详细指标,帮助您了解费用优化选项。
- 了解网络价格如何影响数据传输费用,以及如何优化特定网络服务的费用。例如,您可以使用 Cloud CDN 或 Google Cloud Armor 降低外部应用负载均衡器的数据传输费用。如需了解详情,请参阅降低外部应用负载均衡器费用的方法。
了解基于折扣的费用优化选项
熟悉 Google Cloud 提供的折扣计划,例如:
- 承诺使用折扣 (CUD):CUD 适用于具有可预测且稳定用量的资源。CUD 可让您获得大幅价格折扣,以换取您承诺在一段时间内(通常为 1 到 3 年)使用特定资源。您还可以使用 CUD 自动续订,避免在承诺到期时手动重新购买。
- 持续使用折扣:对于 Compute Engine 和 GKE 等特定 Google Cloud 产品,在持续使用资源超过特定时长阈值后,您可以获得自动折扣赠金。
- Spot 虚拟机:对于容错和灵活的工作负载,Spot 虚拟机可以帮助您降低 Compute Engine 费用。Spot 虚拟机的费用远低于常规虚拟机。但是,Compute Engine 可能会提前停止或删除 Spot 虚拟机来收回容量。Spot 虚拟机适用于可以容忍抢占且没有高可用性要求的批量作业。
- 特定产品选项的折扣:某些托管式服务(例如 BigQuery)在您购买专用或自动扩缩查询处理容量时提供折扣。
评估并选择与您的工作负载特征和使用模式相符的折扣选项。
将费用估算纳入架构蓝图
鼓励团队制定架构蓝图,其中包含不同部署选项和配置的费用估算。这种做法使团队能够主动比较费用,并做出符合技术和财务目标的明智决策。
为所有资源使用一组一致且标准的标签
您可以使用标签来跟踪费用以及识别和分类资源。具体而言,您可以使用标签将费用分配给不同的项目、部门或成本中心。定义符合组织中主要利益相关方需求的正式标签政策,有助于让更多人了解费用。您还可以使用标签根据目标受众群体过滤资源费用和用量数据。
使用 Terraform 等自动化工具对创建的每个资源强制执行标签。如需进一步提高费用可见性和归因,您可以使用开源费用归因解决方案提供的工具。
与团队成员分享费用报告
通过与团队成员分享费用报告,您可以让他们自行管理云支出。这种做法可实现经济高效的决策、持续的成本优化以及对成本分配模型的系统性改进。
费用报告有多种类型,包括:
- 定期费用报告:定期报告可让团队了解其当前的云支出。通常,这些报告可能是导出的电子表格。 更有效的方法包括自动发送邮件和使用专用信息中心。 为确保费用报告提供相关且切实可行的信息,同时又不会让接收者因不必要的细节而不知所措,必须针对目标受众群体量身定制报告。设置定制化报告是实现更实时、更具互动性的费用可见性和管理的基础步骤。
- 自动通知:您可以配置费用报告,以便主动通过邮件或聊天等方式,将费用异常情况、预算阈值或费用优化机会通知给相关利益相关方。通过直接向能够采取行动的人员提供及时信息,自动提醒可鼓励及时采取行动,并促进主动进行费用优化。
- Google Cloud 信息中心:您可以使用 Google Cloud 中的内置结算信息中心,深入了解费用明细并确定费用优化机会。 Google Cloud 还提供 FinOps 中心,帮助您监控节省的费用并获取费用优化建议。FinOps 中心由 AI 引擎提供支持,可为当前部署的所有资源推荐费用优化机会。如需控制对这些建议的访问权限,您可以实现基于角色的访问权限控制 (RBAC)。
- 自定义信息中心:您可以通过将费用数据导出到分析数据库(例如 BigQuery)来创建自定义信息中心。使用数据洞察等可视化工具连接到分析数据库,以构建互动式报告,并通过基于角色的权限实现精细访问权限控制。
- 多云费用报告:对于多云部署,您需要一个统一视图来查看所有云服务提供商的费用,以确保进行全面的分析、预算和优化。使用 BigQuery 等工具集中管理和分析来自多个云服务提供商的费用数据,并使用数据洞察构建特定于团队的互动式报告。
优化资源使用
Google Cloud Well-Architected Framework 费用优化核心中的这一原则提供了相关建议,可帮助您规划和预配资源,以满足云工作负载的要求和使用模式。
原则概览
如需优化云资源的费用,您需要全面了解工作负载资源要求和负载模式。这种理解是明确定义的成本模型的基础,该模型可让您预测总拥有成本 (TCO),并在整个云采用历程中确定成本动因。通过主动分析和预测云支出,您可以就资源预配、利用率和费用优化做出明智的选择。通过这种方法,您可以控制云支出、避免过度预配,并确保云资源与工作负载和环境的动态需求保持一致。
建议
如需有效优化云资源用量,请考虑以下建议。
选择特定于环境的资源
每个部署环境对可用性、可靠性和可伸缩性都有不同的要求。例如,开发者可能更喜欢能够快速部署和运行应用一段时间的环境,但可能不需要高可用性。另一方面,生产环境通常需要高可用性。为了最大限度地利用资源,请根据业务需求定义特定于环境的要求。下表列出了特定于环境的要求示例。
| 环境 | 使用要求 |
| 生产 |
|
| 开发和测试 |
|
| 其他环境(例如预演和 QA) |
|
选择工作负载专用资源
每个云工作负载对可用性、可伸缩性、安全性和性能的要求可能有所不同。为了优化费用,您需要根据每个工作负载的具体要求选择资源。例如,无状态应用可能不需要与有状态后端相同的可用性或可靠性级别。下表列出了更多特定于工作负载的要求示例。
| 工作负载类型 | 工作负载要求 | 资源选项 |
| 任务关键型 | 持续可用、安全可靠、性能卓越 | 高级资源和托管式服务,例如 Spanner,可确保数据的高可用性和全局一致性。 |
| 非重大 | 经济实惠且可自动扩缩的基础设施 | 具有基本功能的资源和临时资源,例如 Spot 虚拟机。 |
| 事件驱动 | 根据当前对容量和性能的需求进行动态伸缩 | Cloud Run 和 Cloud Run functions 等无服务器服务。 |
| 实验性工作负载 | 低成本柔性环境,可用于快速开发、迭代、测试和创新 | 具有基本功能的资源、临时资源(例如 Spot 虚拟机)以及具有指定支出限额的沙盒环境。 |
云的一大优势是,您可以针对特定工作负载利用最合适的计算能力。有些工作负载是为利用处理器指令集而开发的,而其他工作负载可能不是这样设计的。相应地对工作负载进行基准测试和性能分析。对工作负载进行分类,并根据工作负载选择特定的资源(例如,为 Compute Engine 虚拟机选择合适的机器家族)。这种做法有助于优化成本、促进创新,并保持工作负载所需的可用性和性能水平。
以下示例说明了如何实现此建议:
- 对于为全球分布式用户提供服务的关键任务工作负载,请考虑使用 Spanner。Spanner 可确保所有区域中数据的可靠性和一致性,从而无需进行复杂的数据库部署。
- 对于负载水平波动的工作负载,请使用自动扩缩功能,以确保在负载较低时不会产生费用,同时保持足够的容量来满足当前负载。您可以为许多Google Cloud 服务配置自动扩缩,包括 Compute Engine 虚拟机、Google Kubernetes Engine (GKE) 集群和 Cloud Run。设置自动扩缩时,您可以配置扩缩上限,以确保费用保持在指定预算范围内。
根据费用要求选择区域
对于云工作负载,请仔细评估可用的 Google Cloud区域,并选择符合费用目标的区域。费用最低的区域可能无法提供最佳延迟时间,或者可能无法满足您的可持续发展要求。就工作负载的部署位置做出明智决策,以实现理想的平衡。您可以使用 Google Cloud 区域选择器了解如何在费用、可持续性、延迟时间和其他因素之间进行权衡。
使用内置的费用优化选项
Google Cloud 产品提供内置功能,可帮助您优化资源用量并控制费用。下表列出了您可以在某些 Google Cloud 产品中使用的费用优化功能示例:
| 产品 | 费用优化功能 |
| Compute Engine | |
| GKE | |
| Cloud Storage | |
| BigQuery |
|
| Google Cloud VMware Engine |
|
优化资源共享
为了最大限度地提高云资源的利用率,您可以在同一基础设施上部署多个应用或服务,同时仍满足应用的安全要求和其他要求。例如,在开发和测试环境中,您可以使用相同的云基础设施来测试应用的所有组件。对于生产环境,您可以将每个组件部署在单独的一组资源上,以限制发生突发事件时的影响范围。
以下示例说明了如何实现此建议:
- 对多个非生产环境使用单个 Cloud SQL 实例。
- 通过在 GKE 中使用舰队团队管理功能并设置适当的访问权限控制,使多个开发团队能够共享一个 GKE 集群。
- 使用 GKE Autopilot 可利用 GKE 默认实施的装箱和自动扩缩等费用优化技术。
- 对于 AI 和机器学习工作负载,请使用GPU 共享策略(例如多实例 GPU、分时 GPU 和 NVIDIA MPS)来节省 GPU 费用。
开发和维护参考架构
创建和维护参考架构代码库,这些架构经过量身定制,可满足不同部署环境和工作负载类型的要求。为了简化各个项目的设计和实施流程,可以由某个团队(例如云技术卓越中心 [CCoE])集中管理蓝图。项目团队可以根据明确定义的标准选择合适的蓝图,以确保架构一致性并采用最佳实践。对于项目特有的要求,项目团队和中央架构团队应协作设计新的参考架构。您可以在整个组织内共享参考架构,以促进知识共享并扩展可用解决方案的代码库。这种方法可确保一致性、加快开发速度、简化决策并提高资源利用效率。
查看 Google 针对各种应用场景和技术提供的参考架构。这些参考架构纳入了资源选择、规模调整、配置和部署方面的最佳实践。通过使用这些参考架构,您可以加快开发流程,并从一开始就节省成本。
使用组织政策强制执行费用规范
考虑使用组织政策来限制团队成员可以使用的可用 Google Cloud 位置和产品。这些政策有助于确保团队遵循经济实惠的解决方案,并在符合成本优化目标的位置预配资源。
估算切合实际的预算并设置财务边界
为每个项目、工作负载和部署环境制定详细的预算。 确保预算涵盖云运营的各个方面,包括基础设施费用、软件许可、人员和预期增长。为防止超支并确保与财务目标保持一致,请为项目、服务或特定资源设定明确的支出限额或阈值。定期对照这些限额监控云支出。您可以使用主动配额提醒尽早发现潜在的费用超支,并及时采取纠正措施。
除了设置预算之外,您还可以使用配额和限制来帮助强制执行费用纪律,并防止支出意外激增。您可以通过在各个级别(包括项目、服务甚至特定资源类型)设置配额,对资源消耗进行精细控制。
以下示例说明了如何实现此建议:
- 项目级配额:在项目级设置支出限额或资源配额,以建立总体财务边界并控制项目中所有服务的资源消耗。
- 服务专用配额:为特定 Google Cloud服务(例如 Compute Engine 或 BigQuery)配置配额,以限制可预配的实例数、CPU 数量或存储容量。
- 资源类型专属配额:对 Compute Engine 虚拟机、Cloud Storage 存储桶、Cloud Run 实例或 GKE 节点等单个资源类型应用配额,以限制其用量并防止意外超支。
- 配额提醒:在配额用量(项目级层)达到最大值的某个百分比时收到通知。
通过将配额和限制与预算和监控结合使用,您可以创建一种主动的多层级费用控制方法。这种方法有助于确保您的云支出保持在定义的范围内,并与您的业务目标保持一致。请注意,这些费用控制措施并非永久性或一成不变的。为确保费用控制措施始终符合当前业界标准并反映不断变化的业务需求,您必须定期审核这些控制措施,并对其进行调整,以纳入新技术和最佳实践。
持续优化
Google Cloud Well-Architected Framework 费用优化核心中的这一原则提供了相关建议,可帮助您根据不断变化和演进的业务目标来优化云部署的费用。
随着业务的发展和演变,您的云工作负载需要适应资源需求和使用模式的变化。为了从云支出中获得最大价值,您必须保持成本效益,同时继续支持业务目标。这需要采取主动且适应性强的方法,专注于持续改进和优化。
原则概览
如需持续优化费用,您必须主动监控和分析云环境,并进行适当调整以满足当前要求。将监控工作重点放在关键绩效指标 (KPI) 上,这些指标会直接影响最终用户的体验、与您的业务目标保持一致,并为持续改进提供数据洞见。通过这种方法,您可以发现并解决效率低下的问题,适应不断变化的需求,并持续使云支出与战略业务目标保持一致。为了在全面可观测性与成本效益之间取得平衡,请了解监控受监控的资源使用情况的成本和收益,并采用适当的流程改进和优化策略。
建议
如需有效监控 Google Cloud 环境并持续优化费用,请考虑以下建议。
专注于与业务相关的指标
有效的监控首先要确定对您的业务和客户最重要的指标。这些指标包括:
- 用户体验指标:延迟时间、错误率、吞吐量和客户满意度指标有助于了解最终用户在使用应用时的体验。
- 业务成果指标:收入、客户增长和互动可以与资源用量相关联,以确定成本优化机会。
- DevOps 研究与评估 (DORA) 指标:部署频率、更改准备时间、更改失败率和恢复时间等指标可让您深入了解软件交付流程的效率和可靠性。通过改进这些指标,您可以提高工作效率、减少停机时间并优化成本。
- 站点可靠性工程 (SRE) 指标:错误预算可帮助团队量化和管理可接受的服务中断级别。通过建立明确的可靠性预期,错误预算使团队能够更自信地创新和部署更改,并了解其安全边际。这种主动方法可促进创新与稳定性之间的平衡,有助于防止与重大服务中断或长时间停机相关的运营成本过高。
使用可观测性功能优化资源
以下建议可帮助您使用可观测性来识别云部署中的资源瓶颈和未充分利用的资源:
- 监控资源利用率:使用资源利用率指标来识别Google Cloud 未充分利用的资源。例如,使用 CPU 和内存利用率等指标来识别空闲虚拟机资源。对于 Google Kubernetes Engine (GKE),您可以查看详细的费用明细和与费用相关的优化指标。对于 Google Cloud VMware Engine,请查看资源利用率,以优化 CUD、存储空间消耗和 ESXi 规模调整。
- 使用云建议:Active Assist 提供了一系列智能工具,可帮助您优化云运维。这些工具可提供切实可行的建议,帮助您降低费用、提高性能、增强安全性,甚至做出注重可持续性的决策。例如,虚拟机合理容量分析有助于优化资源分配并避免不必要的支出。
- 将资源利用率与性能相关联:分析资源利用率与应用性能之间的关系,以确定是否可以在不影响用户体验的情况下,降级到费用较低的资源。
兼顾问题排查需求与成本
详细的可观测性数据有助于诊断和排查问题。不过,存储过多可观测数据或将不必要的数据导出到外部监控工具可能会导致不必要的费用。为了高效排查问题,请考虑以下建议:
- 收集足够的数据以进行问题排查:确保您的监控解决方案捕获足够的数据,以便在问题出现时高效诊断和解决问题。这些数据可能包括各种粒度级别的日志、跟踪记录和指标。
- 使用抽样和汇总:通过使用抽样和汇总技术,平衡对详细数据的需求与成本考虑。通过这种方法,您可以收集具有代表性的数据,而不会产生过多的存储费用。
- 了解监控工具和服务的价格模式:评估不同的监控解决方案,并选择符合项目特定需求、预算和使用模式的选项。在选择时,请考虑数据量、保留要求和所需功能等因素。
- 定期检查监控配置:通过移除不必要的指标或日志,避免收集过多数据。
根据角色定制数据收集,并设置特定于角色的保留政策
考虑不同角色的特定数据需求。例如,开发者可能主要需要访问跟踪记录和应用级日志,而 IT 管理员可能更关注系统日志和基础设施指标。通过定制数据收集,您可以降低不必要的存储费用,并避免向用户提供过多无关信息。
此外,您还可以根据每个角色的需求和任何监管要求来定义保留政策。例如,开发者可能需要访问较短时间内的详细日志,而财务分析师可能需要长期数据。
考虑监管和合规性要求
在某些行业中,法规要求强制保留数据。为避免法律和财务风险,您需要确保监控和数据保留做法有助于您遵守相关法规。同时,您还需要保持成本效益。请考虑以下建议:
- 确定您所在行业或区域的具体数据保留要求,并确保您的监控策略符合这些要求。
- 实施适当的数据归档和检索机制,以满足审核和合规性需求,同时最大限度地降低存储费用。
实现智能提醒
提醒功能有助于及时检测和解决问题。不过,您需要在让您随时了解情况的方法与让您收到过多通知的方法之间取得平衡。通过设计智能提醒系统,您可以优先处理对业务影响较大的关键问题。请考虑以下建议:
- 优先处理影响客户的问题:设计可针对直接影响客户体验的问题(例如网站服务中断、响应时间缓慢或交易失败)快速触发的提醒。
- 针对临时问题进行调整:使用适当的阈值和延迟机制,避免针对不影响客户的临时问题或自愈系统问题发出不必要的提醒。
- 自定义提醒严重级别:通过区分严重和非严重提醒,确保最紧急的问题得到立即关注。
- 明智地使用通知渠道:根据提醒的严重程度和紧急程度,为提醒通知(邮件通知、短信或寻呼)选择合适的渠道。