云计算因其高效的可扩展性和只为使用的内容付费的灵活性而备受企业青睐。团队可以利用 IT 向分散计算的转变来开发更好的产品,同时保持竞争力和敏捷性。
但是托管服务往往可能是付费的,从而很容易超支。据行业研究公司 Gartner 研究,到 2024 年,60%的基础设施和运营领导者将看到他们的云支出超过预算。如果企业希望从云支出中获得最大收益,就要对云服务成本进行优化以最大化其投资回报。
在本文中,我们将讨论可以帮助企业了解其云使用情况和支出的工具和流程。我们将分析云计算如何带来令人意外的财务成本,以及企业如何管理和优化其云成本。
1、云在现代软件开发中的作用
云计算通过为日常应用程序提供易于使用、可扩展的部署来支持和加速现代软件开发。无服务器功能和 Kubernetes 等云原生技术使开发人员能够更多地关注应用程序,而不是基础设施和部署。
部署过程更快,并为团队节省了一些添加新功能和修复bug的开销。无服务器功能和 Kubernetes 建立在云原生技术之上,使部署和扩展应用程序和 API 变得更加容易。当企业创建无服务器函数或部署 API 时,无需担心托管它的位置或它的扩展方式,云提供商会处理这一切。
然而,这些无限可扩展的技术对于开发人员来说可能不堪重负。要熟练地识别适合符合企业需求的云资源,需要一个学习过程。因此,大多数公司并不完全了解如何优化他们的云使用,也不知道应该把重点放在哪里。
2、与大规模云计算相关的成本
在云中开展业务需要全面的管理和对云内部运作的扎实知识。云计算的高成本源于对基础设施的使用,包括虚拟机 (VM)、Kubernetes 集群、虚拟网络、公共 IP 和 DNS 条目。
云计算的核心原则是企业应该只为使用的资源付费,就像租用计算能力或使用电力等公用事业一样。这种现收现付模式应该可以让企业在需求不可预测时即时调整资源,而无需对本地基础设施进行大量投资。例如,企业应该能够在遇到突发负载时通过添加更多服务器实现水平扩展。或者,如果企业的商业应用程序在假期期间流量较低,并且需要降低成本,则可以缩减基础架构。
尽管大多数云提供商都提供这种配置,但许多文件存储提供商(与提供对象存储或块存储解决方案的提供商相反)使用的模式是企业必须提前为其认为需要的空间付费。以这种方式在云中存储大量数据可能会变得非常昂贵,尽管它通常比设置本地存储单元要好。
通过Amazon Simple Storage Service (S3)、Azure Blob Storage 和 Google Cloud Storage 的比较,可以了解当前云存储产品状态的一些背景信息。这些提供程序为非结构化对象文件提供存储。对象存储技术的简单性使云提供商可以更有效地分配资源,并且他们通过按 GB 收费而不是强迫用户预测工作负载和配置他们可能永远不会使用的容量,来将这些好处传递给用户。
即便如此,云基础设施仍然可以通过隐藏在数据传输和数据存储中的费用默默地产生成本。大多数云提供商允许客户免费将数据传输到他们的网络(入口),但向他们收取数据传出(出口)的费用。例如,AWS在其网络内提供免费数据传输,但在其网络外传输数据时收取每 GB 12 美分的费用。
开发人员通常使用 MongoDB 或 Postgres 等数据库来存储结构化数据。许多企业使用数据库即服务 (DBaaS) 在云中启动完全托管的数据库,绕过设置 VM 和手动安装安全补丁的传统方式。但这种方法也有成本,随着数据足迹的增长,它们可能会迅速超出企业的预算。
3、云成本管理的重要性
许多软件交付团队难以全面了解企业的云使用情况,成本会迅速增加,在意识到此情况之前,他们已经为一项他们不需要或可能配置不同的服务支付了数千美元。
因此,云成本管理已成为在云中运营业务的关键部分。要了解完整情况,团队有时需要查看计费控制台或为每项服务的单独账户收费。如果他们只有几个帐户,则此方法具有挑战性。如果他们使用数十或数百种服务,那几乎是不可能的。
因为在云中创建新资源只需点击几下,团队就可以轻松配置他们不需要的资源。如果他们忘记关闭他们创建的资源,他们将为未使用的容量付费。
大多数云服务按现收现付模式收费。然而,这种帐单可能会产生误导,因为帐单永远不会立即到达。团队可能会意外启动 10,000 个虚拟机,而不是他们想要的 10 个。他们可能会设置宽松的政策,然后他们的软件会通过提供大量公共云资源来应对持续的流量高峰。在这些情况下,企业将会期望在月底巨额账单到来之前了解到资源的具体使用情况。
云技术并不是财务崩溃的雷区,但它提供的力量需要谨慎的接触。不幸的是,这也可能会发生代价高昂的错误,因为云计算为企业提供了比以往更多的花费方式,这使得云成本管理对各种规模的企业都至关重要。
4、如何优化企业中的云成本
企业经常在云成本上浪费金钱,因为他们不了解团队花了多少钱。企业的相关团队可能有一般意识,但没有清晰的理解,并且部分团队成员不知道他们的选择会如何影响运营成本。
所以,企业团队可以采取哪些行动?
1)定期检查计费仪表板
最好在规划阶段实施云成本优化策略。这种方法可以帮助企业避免发生意外的成本支出。
出乎意料的高成本甚至会让最有经验的云工程师措手不及,因此最好根据历史云消费模式检查企业的使用情况。
基于消耗的计费解决方案使企业能够随着时间的推移可视化其模式及其相关成本。这可以帮助企业确定哪些应用程序和服务消耗的资源最多,并在它们无法提供业务价值时减少它们。
大多数主要的云提供商都提供了一个仪表板,可以从较高的层次概括企业的云服务开支。AWS 有成本管理器,GCP 提供云计费报告,Azure 提供成本管理和计费。为了充分利用这些工具,需要进行一些手动设置和监控,因此最好在云计算之旅的早期熟悉它们,以确保企业获得准确且可操作的支出洞察。
2)确保团队对其成本负责
了解每个团队成员或部门如何与企业中的其他人配合有助于使团队对其云成本负责。
鼓励高效使用云的最佳方法之一是为团队提供一些背景信息。帮助他们了解正在使用哪些资源以及如何使用。这种可见性使团队更有动力高效地使用云。否则,他们无法确保使用的量不超过合理范围。
假设企业管理五个团队,他们都部署在一个 Kubernetes 集群上。起初,这似乎是个好主意。当企业只有少数几个容器时,它的设置很简单并且最初运行良好。如果需要更多资源,提供商很乐意向企业出售一些资源,这样看起来皆大欢喜。
但没有人有动力明智地使用云资源。如果每个团队都部署到同一个集群中而不使用标签、标记或其他一些方法来跟踪谁在使用哪些资源,那么没有人会清楚地知道他们的使用情况与其他团队相比如何。
而且,如果每个人都部署到同一个集群,企业将很难为新项目找到空间而不削减现有项目。通过清楚地跟踪特定团队和部署的资源使用情况,企业可以更好地管理整体支出。
3)使用第三方解决方案
第三方云成本管理平台可以帮助企业从云投资中获得更多收益。这些平台提供跨基础架构的单屏视图,包括多云部署,提供或与工具集成以对资源配置进行更精细的控制。他们还实时跟踪成本,并在基础设施使用超出商定限制时进行提醒。
一些常用的云成本管理解决方案包括Apptio Cloudability、Flexera、CloudHealth by VMware、CloudCheckr、Densify和Virtana。其中许多平台还提供 AI 支持的工具,用于根据企业的历史使用趋势调整或标记过度配置的云资源,帮助企业识别和消除不必要的支出。
保持部署策略的一致性还可以帮助企业控制云成本。通过在CI/CD 管道中自动化部署和基础设施配置,企业可以避免开发人员手动配置资源时发生代价高昂的错误。许多持续集成平台具有与基础设施即代码工具(例如Terraform和Pulumi )的集成功能,企业可以使用它们来指定确切的资源以启动部署,并通过成本控制策略设置资源使用限制。
5、结论
随着企业在云上投资的金额(截至 2021 年为 3960 亿美元)的不断增长,正确制定云成本优化策略变得愈发重要。随着时间的推移,云计算成本可能会以多种方式攀升,但通过主动管理自身的投资,企业可以避免未来出现代价高昂的意外,而且可以专注于提供对企业的用户最重要的功能。
《linux就该这么学》不错的linux自学书籍