如果你偶然看到这个页面,以为你会通过一些快速致富的计划致富,那么我很抱歉让你失望了。本文将讨论如何将你的云成本账单减少 100 万美元。通过这样做,你将获得额外的 100 万美元收入——你可以用这笔钱购买我的在线课程,了解如何通过 AWS 致富(课程链接在此处)。
在公司项目开始时,云成本经常被忽视和忽略。 2021 年 HashiCorp 调查发现,2021 年近 40% 的公司在云成本上超支 [ 1 ]。 2023 年,几乎所有公司 (94%) 都承认他们在云上浪费了钱 [ 1 ],至少有 30% 的云成本被浪费了 [ 2 ]。 2022 年的云支出接近 5000 亿美元——因此,我们谈论的是每年浪费 1500 亿美元!!
这不仅令人担心收入损失,而且可持续性实践不佳,浪费了1500亿美元的能源!
这些发现涉及大型企业和小型企业,从高云成熟度到低云成熟度。它指的是 AWS,但同样的原则可以应用于任何其他云提供商。所以,如果你的工作有任何一部分是在云端,那么这篇文章就适合你。
我是从数据工程师的角度来讲的,但同样的知识可以应用于其他软件工程实践。
让我们开始吧。
这种云账单通常仅限于在全球范围内运营并拥有数百万客户的大型企业。
举个例子,Spark ETL 作业全年 365 天、每天 24 小时每小时处理约 1.5Tb 的数据,可能会产生 100 万美元的云账单。另一个例子可能是每天从全球多个地点接收数十亿个请求的应用程序。
在大型企业中,有数百个这种规模的应用程序,因此需要与云提供商签订数十亿美元的合同。例如,截至 2019 年底,Airbnb 承诺在五年内投资 12 亿美元购买云资源 [3 ]。
在 Expedia,我们通过实施优化实践,将数据处理 ETL 的成本从每年 110 万美元削减至每年仅 10 万美元。成本降低了 91%!!
并非所有公司都拥有如此庞大的应用程序,但想象一下,仅针对单个应用程序或整个公司,就可以将云成本降低 90%。
去获取最昂贵的应用程序列表并挑战您的设计假设。
所有这些问题都归结为最重要的问题:应用程序将如何使用?它存在的商业价值是什么?应用程序如何帮助我们实现既定目标?
当然,在项目开始时,所有这些答案通常都不太明确;但这就是为什么设计应该始终是一个迭代过程——允许更改尽可能无缝地发生。工程师应该接受发展和变化,使应用程序开发与影响保持一致。
第二步包括为应用程序提供正确的资源并将其调整到正确的基础设施。
作为一名工程师,需要了解云计算成本是如何计算的。例如,AWS 提供竞价实例,您可以竞标集群价格——如果您拥有容错和灵活的应用程序,这尤其有用。如果可以的话,请使用它们——AWS 声称成本最多可降低 90% [ 4 ]。
您可能需要考虑的其他一些事项包括:
使用 AWS Graviton 实例几乎没有任何缺点。AWS 已投入巨资打造最具成本效益的处理器。只需从基于英特尔的处理器切换到基于 ARM 的处理器,就可以将云支出减少高达 40% [ 10 ]。
唯一需要注意的是,您的应用程序需要与 Graviton 所运行的基于 ARM 的处理器兼容。如果您正在处理 RDS 或 OpenSearch 等托管服务,那么切换时完全不会有任何复杂之处——AWS 会处理底层操作系统和应用程序兼容性。如果您正在构建自己的应用程序,那么您可能需要根据您使用的语言重新编译软件包——Java 和其他语言不需要更改,而 Python 则需要注意一些事项。
最后,不要忘记持续监控您的成本,以防出现意外的峰值和意外情况。应用程序第 0 天的成本将与第 170 天的成本不同。确保您跟踪变化,并了解变化发生的原因:是累积了 S3 存储成本,还是只是一次性的峰值?
设置必要的警报和操作指南!
重要的是,实施成本分配标签来跟踪部门、项目或环境的支出。避免创建数据沼泽的风险,因为数据沼泽的成本无法追踪,或者需要跨不同的日志系统进行长途跋涉。返回任何给定的应用程序成本应该快速而简单。
无论您在哪里工作,平衡新功能的交付与现有功能的优化都是很困难的。谁没有承受过以光速交付新奇功能的压力呢?
然而,对于工程师和管理人员来说,他们都必须对当前项目做出深思熟虑和积极的决策,有效地管理风险和机遇。