Google Cloud 良好架构框架:费用优化

Last reviewed 2025-02-14 UTC

Google Cloud 良好架构框架中的费用优化支柱介绍了优化工作负载费用的原则和建议 Google Cloud。

目标受众群体包括:

  • 负责战略性成本管理的 CTO、CIO、CFO 和其他高管。
  • 架构师、开发者、管理员和运维人员,他们在组织云转型历程的各个阶段做出影响费用的决策。

本地工作负载和云端工作负载的费用模型差异很大。本地 IT 成本包括资本支出 (CapEx) 和运营支出 (OpEx)。本地硬件和软件资产是通过购买获得的,并且在资产的使用寿命期间,购买费用会折旧。在云端,大多数云资源的费用都被视为 OpEx,即在使用云资源时产生费用。这一根本区别凸显了以下费用优化核心原则的重要性。

如需了解针对 AI 和机器学习工作负载的费用优化原则和建议,请参阅良好架构框架中的 AI 和机器学习视角:费用优化

核心原则

良好架构框架的“费用优化”支柱中的建议对应于以下核心原则:

  • 使云支出与业务价值保持一致:通过使 IT 支出与业务目标保持一致,确保云资源能够带来可衡量的业务价值。
  • 培养成本意识文化:确保组织中的所有人员都能考虑其决策和活动对成本的影响,并确保他们能够获取做出明智决策所需的成本信息。
  • 优化资源使用情况:仅预配您需要的资源,并仅为您使用的资源付费。
  • 持续优化:持续监控云资源用量和费用,并根据需要主动进行调整,以优化支出。这种方法涉及在潜在成本低效问题变得严重之前发现并解决这些问题。

这些原则与云端 FinOps 的核心要旨密切相关。FinOps 适用于任何组织,无论其在云中的规模或成熟程度如何。通过采用这些原则并遵循相关建议,您可以在整个云端历程中控制和优化费用。

贡献者

作者:Nicolas Pintaux | 客户工程师、应用现代化改造专家

其他贡献者:

将云支出与业务价值相结合

Google Cloud 良好架构框架的“费用优化”支柱中的这一原则提供了建议,以帮助您将 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 处理需求,请使用 DataprocDataproc Serverless。与本地数据湖相比,按秒计费有助于显著降低 TCO

平衡成本效益与业务敏捷性

控制成本和优化资源利用率是重要的目标。不过,您必须在这些目标与灵活的基础架构需求之间取得平衡,以便快速创新、快速应对变化并更快地创造价值。以下示例展示了如何实现这种平衡:

  • 采用 DORA 指标来衡量软件交付绩效。更改失败率 (CFR)、检测时间 (TTD) 和恢复时间 (TTR) 等指标有助于发现和解决开发和部署流程中的瓶颈问题。通过缩短停机时间并加快交付速度,您可以同时实现运营效率和业务敏捷性。
  • 遵循站点可靠性工程 (SRE) 实践,以提高运营可靠性。SRE 专注于自动化、可观测性和突发事件响应,有助于缩短停机时间、减少恢复时间并提高客户满意度。通过最大限度地缩短停机时间并提高运营可靠性,您可以防止收入损失,并避免需要过度预配资源作为安全保障来处理服务中断。

启用自助优化

为团队提供自助式费用优化工具、可观测性工具和资源管理平台,鼓励团队培养实验和探索的文化。让他们能够自主预配、管理和优化云资源。这种方法有助于培养归属感、加快创新步伐,并确保团队能够在注重成本效益的同时,快速响应不断变化的需求。

采用和实现 FinOps

采用 FinOps 可建立协作环境,让每个人都能做出明智的决策,平衡成本和价值。FinOps 有助于培养财务问责意识,并促进在云端有效优化费用。

提倡以价值为导向并考虑总体拥有成本 (TCO) 的思维方式

鼓励团队成员以全面的态度看待云支出,重点关注 TCO,而不仅仅是前期费用。使用价值流映射等方法可直观呈现和分析软件交付流程中的价值流,并找出有待改进的方面。为应用和服务实施单位价格,以便深入了解费用驱动因素,并发现优化费用的机会。如需了解详情,请参阅借助 Cloud FinOps 最大限度地提高业务价值

培养成本意识文化

Google Cloud 良好架构框架的费用优化支柱中的这一原则提供了建议,以提高整个组织的费用意识,并确保团队成员拥有做出明智决策所需的费用信息。

传统上,成本管理的责任可能会集中到少数特定利益相关方,并且主要侧重于初始项目架构决策。不过,所有云用户角色(分析师、架构师、开发者或管理员)的团队成员都可以帮助降低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),以创建自定义信息中心。使用 Looker Studio 等可视化工具连接到分析数据库,以构建互动式报告,并通过基于角色的权限实现精细的访问权限控制。
  • 多云费用报告:对于多云部署,您需要统一查看所有云服务提供商的费用,以确保全面分析、预算和优化。使用 BigQuery 等工具集中管理和分析来自多个云服务提供商的费用数据,并使用 Looker 数据洞察构建适用于各团队的交互式报告。

优化资源使用情况

Google Cloud 架构良好框架的费用优化支柱中的这一原则提供了建议,可帮助您规划和预配资源,使其符合云工作负载的要求和使用模式。

原则概览

如需优化云资源的费用,您需要彻底了解工作负载的资源要求和负载模式。这种理解是制定明确的费用模型的基础,可让您预测总拥有成本 (TCO) 并在整个云采用历程中确定费用驱动因素。通过主动分析和预测云支出,您可以就资源预配、利用率和费用优化做出明智的选择。通过这种方法,您可以控制云支出、避免过度预配,并确保云资源与工作负载和环境的动态需求保持一致。

建议

如需有效优化云资源用量,请考虑以下建议。

选择特定于环境的资源

每个部署环境对可用性、可靠性和可伸缩性都有不同的要求。例如,开发者可能更喜欢能够让他们快速部署和运行应用一段时间的环境,但可能不需要高可用性。另一方面,生产环境通常需要高可用性。为了最大限度地利用资源,请根据您的业务需求定义特定于环境的要求。下表列出了特定于环境的要求示例。

环境 使用要求
生产
  • 高可用性
  • 可预测的性能
  • 运营稳定性
  • 利用强大的资源保障安全
开发和测试
  • 成本效益
  • 具有可弹性扩容的灵活基础架构
  • 当数据持久性不是必需时,使用短时性基础架构
其他环境(例如预演环境和质量检查环境)
  • 根据环境特定要求量身分配资源

选择特定于工作负载的资源

您的每个云工作负载在可用性、可伸缩性、安全性和性能方面可能都有不同的要求。为了优化费用,您需要根据每个工作负载的具体要求来选择资源。例如,无状态应用可能不需要与有状态后端相同的可用性或可靠性级别。下表列出了更多特定于工作负载的要求示例。

工作负载类型 工作负载要求 资源选项
任务关键型 持续可用、强大的安全性和高性能 高级资源和 Spanner 等托管服务,可实现数据的高可用性和全球一致性。
非重大 经济高效且可自动扩缩的基础架构 具有基本功能的资源以及 Spot 虚拟机等暂时性资源。
事件驱动 根据当前的容量和性能需求进行动态扩缩 Cloud RunCloud 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
  • 使用集群自动扩缩器根据当前负载自动调整 GKE 集群的大小。
  • 使用 节点自动预配功能,根据工作负载要求自动创建和管理节点池,并确保实现最佳资源利用率。
Cloud Storage
  • 使用 对象生命周期管理,根据数据的使用期限或访问模式,自动将数据转换为费用较低的存储类别。
  • 使用 Autoclass,根据使用模式将数据动态移动到最具成本效益的存储类别。
BigQuery
  • 使用基于容量的价格,降低稳态工作负载的查询处理费用。
  • 使用分区和聚类技术优化查询性能和费用。
Google Cloud VMware Engine
  • 通过使用 CUD、优化存储空间用量和合理调整 ESXi 集群等费用优化策略,降低 VMware 费用。

优化资源共享

为了最大限度地提高云资源利用率,您可以在同一基础架构上部署多个应用或服务,同时仍能满足应用的安全性和其他要求。例如,在开发和测试环境中,您可以使用相同的云基础架构来测试应用的所有组件。对于生产环境,您可以将每个组件部署到一组单独的资源上,以便在发生事故时限制影响程度。

以下示例展示了如何实现此建议:

  • 将单个 Cloud SQL 实例用于多个非生产环境。
  • 通过在 GKE Enterprise 中使用舰队团队管理功能并搭配适当的访问控制,让多个开发团队共享一个 GKE 集群。
  • 使用 GKE Autopilot 充分利用 GKE 默认实现的“分箱打包”和“自动扩缩”等费用优化技术。
  • 对于 AI 和 ML 工作负载,通过使用多实例 GPU、GPU 分时和 NVIDIA MPS 等 GPU 共享策略来节省 GPU 费用。

开发和维护参考架构

创建和维护一个参考架构仓库,其中包含专门用于满足不同部署环境和工作负载类型要求的参考架构。为了简化各个项目的设计和实施流程,可以由某个团队(例如云技术卓越中心 [CCoE])集中管理蓝图。项目团队可以根据明确定义的条件选择合适的蓝图,以确保架构一致性并采用最佳实践。对于项目独有的要求,项目团队和中央架构团队应协作设计新的参考架构。您可以跨组织共享参考架构,以促进知识共享并扩大可用解决方案的代码库。这种方法可确保一致性、加快开发速度、简化决策制定,并促进高效利用资源。

查看 Google 为各种使用场景和技术提供的参考架构。这些参考架构纳入了资源选择、大小调整、配置和部署方面的最佳实践。通过使用这些参考架构,您可以加快开发流程,并从一开始就实现节省成本。

使用组织政策强制执行费用控制

考虑使用组织政策来限制团队成员可以使用的 Google Cloud 位置和产品。这些政策有助于确保团队坚持采用经济高效的解决方案,并在符合成本优化目标的位置预配资源。

估算切合实际的预算并设置财务边界

为每个项目、工作负载和部署环境制定详细的预算。 确保预算涵盖云端运维的所有方面,包括基础架构费用、软件许可、人员配置和预计增长。为防止超支并确保与您的财务目标保持一致,请为项目、服务或特定资源设定明确的支出限额或阈值。定期根据这些限制监控云支出。您可以使用主动配额提醒,及早发现可能超支的费用,并及时采取纠正措施。

除了设置预算之外,您还可以使用配额和限制来强制执行成本控制措施,并防止支出意外激增。您可以通过在项目、服务甚至特定资源类型等不同级别设置配额,对资源消耗进行精细控制。

以下示例展示了如何实现此建议:

  • 项目级配额:在项目一级设置支出限额或资源配额,以建立整体财务边界并控制项目中所有服务的资源消耗。
  • 特定于服务的配额:为 Compute Engine 或 BigQuery 等特定服务配置配额,以限制可预配的实例数量、CPU 或存储容量。 Google Cloud
  • 资源类型专属配额:对 Compute Engine 虚拟机、Cloud Storage 存储分区、Cloud Run 实例或 GKE 节点等单个资源类型应用配额,以限制其用量并防止意外超支。
  • 配额提醒:在配额用量(在项目一级)达到最大值的某个百分比时收到通知。

通过将配额和上限与预算和监控相结合,您可以创建一种主动且多层次的费用控制方法。这种方法有助于确保您的云支出保持在既定范围内,并与您的业务目标保持一致。请注意,这些费用控制措施并非永久性或严格的措施。为确保费用控制措施始终符合当前的行业标准并反映不断变化的业务需求,您必须定期检查这些控制措施并进行调整,以纳入新技术和最佳实践。

持续优化

Google Cloud 良好架构框架的“费用优化”支柱中包含这一原则,其中提供了一些建议,可帮助您根据不断变化和不断演变的业务目标优化云部署的费用。

随着业务的发展和演变,您的云工作负载需要适应资源需求和使用模式的变化。为了从云支出中获得最大价值,您必须在继续支持业务目标的同时保持成本效益。这需要采取主动适应性强的方法,以持续改进和优化为重点。

原则概览

为了持续优化费用,您必须主动监控和分析云环境,并做出适当调整以满足当前要求。将监控工作重点放在直接影响最终用户体验、与业务目标保持一致并提供有助于持续改进的洞见的关键绩效指标 (KPI) 上。通过这种方法,您可以发现和解决低效问题、适应不断变化的需求,并不断调整云支出以实现战略性业务目标。为了平衡全面可观测性与经济高效性,请了解监控资源使用情况的成本和收益,并采用适当的流程改进和优化策略。

建议

如需有效监控 Google Cloud 环境并持续优化费用,请考虑以下建议。

关注与业务相关的指标

有效的监控首先要确定对您的业务和客户最重要的指标。这些指标包括:

  • 用户体验指标:延迟时间、错误率、吞吐量和客户满意度指标有助于了解最终用户在使用应用时的体验。
  • 业务成效指标:收入、客户增长率和互动度可以与资源使用情况相关联,以便发现降低费用开支的机会。
  • DevOps 研究和评估 (DORA) 指标:部署频率、更改准备时间、更改失败率和恢复时间等指标可深入了解软件交付流程的效率和可靠性。通过改进这些指标,您可以提高工作效率、缩短停机时间并优化成本。
  • 站点可靠性工程 (SRE) 指标:错误预算可帮助团队量化和管理可接受的服务中断级别。通过对可靠性建立明确的预期,错误预算可让团队更自信地进行创新和部署变更,因为他们知道自己的安全余量。这种积极主动的做法有助于在创新与稳定性之间取得平衡,帮助防止因重大服务中断或长时间停机而产生过高的运营费用。

使用可观测性功能进行资源优化

以下是使用可观测性功能来识别云部署中的资源瓶颈和未充分利用的资源的建议:

  • 监控资源利用率:使用资源利用率指标来识别未充分利用的资源。Google Cloud 例如,使用 CPU 和内存利用率等指标来识别空闲的虚拟机资源。对于 Google Kubernetes Engine (GKE),您可以查看详细的费用明细与费用相关的优化指标。对于 Google Cloud VMware Engine,请查看资源利用率,以优化 CUD、存储空间用量和 ESXi 调整大小。
  • 使用云建议Active Assist 提供了一系列智能工具,可帮助您优化云运维。这些工具可提供切实可行的建议,帮助您降低费用、提高性能、增强安全性,甚至做出以可持续发展为导向的决策。例如,虚拟机合理调整数据分析有助于优化资源分配并避免不必要的支出。
  • 将资源利用率与性能相关联:分析资源利用率与应用性能之间的关系,以确定您能否在不影响用户体验的情况下降级到费用较低的资源。

平衡问题排查需求与费用

详细的可观测性数据有助于诊断和排查问题。不过,存储过多可观测性数据或将不必要的数据导出到外部监控工具可能会导致不必要的开销。为了高效地进行问题排查,请考虑以下建议:

  • 收集足够的数据以进行问题排查:确保您的监控解决方案能够捕获足够的数据,以便在问题出现时高效诊断和解决问题。这些数据可能包括不同粒度级别的日志、轨迹和指标。
  • 使用抽样和汇总:使用抽样和汇总技术,平衡对详细数据的需求与成本方面的考虑。通过这种方法,您可以收集代表性数据,而不会产生过多的存储费用。
  • 了解监控工具和服务的定价模式:评估不同的监控解决方案,并选择符合项目的具体需求、预算和使用模式的选项。在进行选择时,请考虑数据量、保留要求和所需功能等因素。
  • 定期检查监控配置:通过移除不必要的指标或日志,避免收集过多数据。

根据角色量身定制数据收集,并设置角色专用保留政策

考虑不同角色的具体数据需求。例如,开发者可能主要需要访问轨迹和应用级日志,而 IT 管理员可能侧重于系统日志和基础架构指标。通过量身定制数据收集,您可以减少不必要的存储费用,并避免向用户提供不相关的信息。

此外,您还可以根据每个角色的需求和任何法规要求来定义保留政策。例如,开发者可能需要访问较短时间段内的详细日志,而财务分析师可能需要访问较长时间段内的数据。

考虑监管和合规性要求

在某些行业中,法规要求必须保留数据。为避免法律和财务风险,您需要确保您的监控和数据保留做法有助于您遵守相关法规。与此同时,您还需要保持成本效益。请考虑以下建议:

  • 确定您所在行业或地区的具体数据保留要求,并确保您的监控策略符合这些要求。
  • 实现适当的数据归档和检索机制,以满足审核和合规性需求,同时尽可能降低存储成本。

实现智能提醒

提醒功能有助于及时检测和解决问题。不过,您需要在让您及时了解相关信息的方法和让您被通知淹没的方法之间取得平衡。通过设计智能提醒系统,您可以优先解决对业务影响更大的严重问题。请考虑以下建议:

  • 优先处理会影响客户的问题:针对直接影响客户体验的问题(例如网站中断、响应时间缓慢或交易失败)设计快速触发的提醒。
  • 针对临时问题进行调整:使用适当的阈值和延迟机制,避免针对临时问题或不会影响客户的自愈系统问题发出不必要的提醒。
  • 自定义提醒严重程度:通过区分关键提醒和非关键提醒,确保最紧急的问题立即得到重视。
  • 明智地使用通知渠道:根据提醒的严重程度和紧急程度,为提醒通知选择适当的渠道(电子邮件、短信或寻呼)。