您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 云计算 > 正文

企业如何使用工具来控制云成本

发表于:2023-07-31 作者:张小峰 来源: e-works

公共云的按需定价模式对于实现应用程序的可扩展性(云计算的关键优势)至关重要。云计算应用程序需要资源随时可用,以便在需要时进行扩展,而无需客户提前通知。云计算提供商可以提供这样的灵活性,允许客户根据指定期间消耗的资源数量来拖欠账单。

然而,这种灵活性也有缺点。如果客户由于需求增加或配置错误而消耗了比预期更多的资源,他们仍然有责任为此买单——在事后控制成本为时已晚。在Uptime Institute发布的《2022年数据中心容量趋势调查报告》中,42%的受访者表示,成本不断上升是将工作负载从公共云遣返内部部署基础设施的主要原因。在允许应用程序扩展以满足业务目标而又不让预算失控时,企业首席信息官面临着一个棘手的平衡问题。

这一报告总结了云计算客户在预测、控制和优化成本时面临的挑战。它还提供了简单的步骤,可以帮助客户控制他们的支出。随着企业面临越来越大的宏观经济压力,减少云支出变得前所未有的重要。

云计算的复杂性

云应用程序通常由多个云计算服务(如虚拟机、存储平台和数据库)构建而成。每个云服务都有自己的计费标准。例如,可以根据使用的存储量、进行的事务数量以及存储服务与最终用户之间消耗的带宽向客户收取存储服务费用。其结果是,即使是云应用程序的简单账单,也会有许多不同的费用分布在不同的服务中。

控制、预测和优化云原生应用程序(即为云构建的可自动扩展的应用程序)的成本具有挑战性,其原因如下:

  • 消费并不总是在顾客的控制之下。例如,许多最终用户可能会将数据上传到存储平台,从而增加客户的账单——而客户直到账单周期结束才会意识到这一点。
  • 每个服务都有许多指标需要考虑,一个应用程序通常会使用多个云服务。每个云计算提供商都以不同的方式衡量其服务的消耗,因此并没有标准的方法。
  • 指标并不总是与客户容易预测的有形单位相关。例如,特定且未知类型的事务可能会在数据库平台上产生成本。但是,客户可能不了解或不知道在某个时间段内将执行多少这些事务。
  • 应用程序可能因错误代码或人为错误而意外扩展,并无目的地使用资源。类似地,由于不正确的配置,应用程序可能无法在可能的情况下扩展。

与其相反,不能扩展的应用程序,例如从内部部署设施提升和转移的应用程序,在容量方面通常是可预测和稳定的。然而,如果没有缩小规模(并降低成本)的能力,基础设施费用并不总是像希望的那样低。

每月云账单的突然和意外增长通常被描述为“账单冲击”,这个术语最初是用来形容意想不到的巨额消费者电话账单。那么,巨额账单是一个问题吗?不一定。例如,如果应用程序被扩展到从最终用户那里获得更多收入,那么为底层基础设施支付更多费用就不是问题。但是,尽管应用程序可能被设计为可扩展的,但企业的预算却不是可扩展的。IT部门可能会通过在基础设施上增加支出来为企业创造新的收入,但如果该部门有固定的预算,首席财务官可能无法理解成本增加的原因。大多数企业不会将云服务的成本与在这些服务上的投资所创造的任何收入进行对比——对高级管理层来说,云服务似乎是一项支出,而不是一项创造价值的活动。

这种情况的复杂性导致了一个开源项目——FinOps基金会的诞生。

FinOps基金会将云成本管理和优化(FinOps)描述为“一种财务管理学科和文化实践,通过帮助工程、财务、技术和业务团队在数据驱动的支出决策上进行协作,使企业能够获得最大的商业价值。”在高层次上,该基金会描述了有效管理云成本的六个原则:

  • 团队需要合作。
  • 决策应由云计算的业务价值驱动。
  • 每个人都需要掌握自己的云使用情况。
  • 云成本管理和优化(FinOps)数据应该是可访问的和及时的。
  • 云成本管理和优化(FinOps)需要由一个集中的团队来驱动。
  • 企业应充分利用云计算的可变成本模型。

对专门从事云金融的基金会的需求表明了有效管理云成本的复杂性。FinOps基金会的六个关键步骤需要大量的投资和动力,许多企业在这方面需要专家的协助。

企业可以采取一些简单的步骤来控制其公共云成本,其中大多数与基金会的六个原则有关:

  • 设置提醒,提醒超支

所有云计算提供商都允许客户设置自定义支出警报,当达到成本阈值时发出警告。这样的警报使预算持有人能够确定支出是否合理,是否应该寻求进一步的资金,或者是否支出是偶然的,需要进行削减。设置警报是所有企业在控制云支出时应该采取的最小步骤。企业应确保配置警报并将其发送到有效的邮箱、电话号码或事件管理系统。

  • 使用免费工具来预测每月的消费

大多数云计算提供商都提供了基于过去表现预测未来支出的工具。这些工具并不完美,但它们确实提供了一些应用程序如何随时间消耗资源的可见性,而且是免费的。如果成本预计会上升,最好提前通知领导层,而不是等到账单到期后再通知。

  • 与利益相关者合作,确定未来的需求

确保使用公共云的所有业务部门都了解成本可能如何变化。例如,新产品的发布、销售或活动可能会增加网站的使用,从而增加成本。提前了解这一点,可以更现实地预测未来的成本,并就谁来支付进行公开讨论。

  • 考虑退货和退款模式

在展示模型中,IT部门向各个部门和业务单位展示他们每月的云支出。他们的想法是,他们更加意识到他们的决定如何影响支出,这使他们能够采取措施减少支出。在退款模型中,IT为这些部门提供与其应用程序相关的云成本发票。然后,每个部门负责自己的成本,并有义务证明支出相对于获得的价值(例如增加的收入和更好的客户满意度)。

通过与所有者适当地“标记”资源,然后使用云提供商的报告工具来分解企业所有者的支出,可以相对快速地设置Showback。退款是一项更重要的任务,它影响到公司的文化和结构——大多数非IT团队可能没有理解或兴趣为他们的IT账单负责。

  • 利用优化工具

有了准确的预测,企业就可以使用替代的定价模型来减少开支。与按需定价相比,这些车型为客户提供高达70%的折扣,以换取长达三年的承诺或最低支出。许多云计算提供商还提供现货实例,它们提供对云计算资源的廉价访问,前提是这种访问可以在没有警告的情况下终止。替代定价模型的最佳使用将在未来的正常运行时间智能更新中进一步讨论。大多数云计算提供商都提供了基于过去表现的替代定价模型的工具。这些工具还可以识别“孤立的”资源,这些资源需要花钱,但似乎没有做任何有用的事情。

  • 安全和治理实践可防止超支

云客户应该采取适当的预防措施,阻止恶意脚本在其环境中执行,并阻止恶意脚本发送大量会增加带宽成本的数据。

在安全的云环境中托管经过良好测试的应用程序可以减少出错的可能性,从而降低成本。例如,企业应该使用基于角色的访问,以确保只有那些需要创建资源的员工才被允许这样做。这可以防止昂贵的服务被设置并随后被遗忘。同样,云计算客户应该采取适当的预防措施,以阻止恶意脚本在其环境中执行,并阻止发送大量会增加带宽成本的数据。IT团队应该在部署之前彻底测试代码,以减少意外资源消耗的机会。

结语

大多数超大规模云计算提供商(包括AWS、谷歌云平台、微软Azure、甲骨文云、IBM云和阿里云)都提供了帮助成本预测、优化和管理的工具。规模较小的云计算提供商不太可能拥有这些功能,但他们的收费通常较低,提供较少的服务,从而降低了复杂性。

一些企业使用第三方平台来跟踪和优化他们的支出。这些平台的主要好处是,它们可以跨多个云计算提供商进行优化,并且是独立的,可以说提供了一个更公正的成本视图。

企业应该检查现在是否配置了警告和限制,以免为时过晚。如果云计算成本是IT支出的重要组成部分,需要听取专家的建议。