在大部分情况下,工作负载在云端运行比在内部部署环境中更具成本效益。即使云计算已经在帮助企业节省资金,可以肯定的是,你仍然可以继续优化云支出以进一步降低成本。
那么控制云成本的最佳方法是什么?策略包括:承诺关闭不再需要的虚拟服务器,选择存储层以经济高效地完成你需要的工作,以及仔细规划如何及何时进行数据传输。下面介绍的步骤将帮助你养成云成本管理的良好习惯。
云端成本效率低下的原因
云经济学是一门复杂的学科,并且,专业技能并不总是很容易获得。为了学习如何通过云计算有效提供IT服务,方法之一是吸取他人的教训。某些常见的陷阱将不可避免地导致不必要的支出,因此,企业应该首先学习不该做什么。
具体来说,下面是云端消费可能出现的常见问题:
未使用的云资源。即使企业不再使用虚拟服务器、数据库或其他云服务,企业仍然在保持它们运行,这显然是浪费。例如,当你在云端启动虚拟服务器进行某些测试然后忘记关闭时,就会发生这种情况。由于大多数云服务提供商根据服务器运行的时间向客户收费-而不是它正在做多少工作 – 即使你不再使用服务器,也要为服务器付费。同样,你可能为一个应用程序创建了云数据库,在使用一次后不再连接到VM实例。如果你让这些数据库运行,它们将花费你的钱 – 即使他们没有做任何有用的事情。
过度配置的云服务器。另一种浪费开支的情况是云端服务器被分配太多资源。此类别中的典型示例是虚拟服务器实例,其分配的内存和CPU资源超过其执行任务所需。你还可能选择错误类型的云服务器,例如当虚拟服务器足以满足当前的工作时,你可能还会运行专用的昂贵物理服务器。
存储层效率低下。大多数公共云提供商提供一系列存储选项,功能和价格各有不同。通常情况下,云存储成本越低,从特定存储层导出数据所需的时间越长。低价层主要用于存储不需要频繁访问的数据,例如备份或文档存档。当你选择的存储层提供你从未使用的功能,你就是在浪费金钱。
不必要的数据传输。在大多数情况下,企业需要在将数据移出云端时支付费用。此外,有些云提供商还会对转移数据到云端收费。在同一个云中传输数据通常不需要花钱 – 除非你在不同地区之间移动数据。在某种程度上,数据传输费用是不可避免的。如果你在云中有数据,则需要在某个时刻访问它。但是,如果你在不必要的情况下从云中下载数据,最终会使你的云计算账单爆炸。
云成本管理战略
为了避免云支出浪费,你有多种做法可供选择。虽然云提供商提供的监控和成本报告工具是一个合理的起点,但它们不会让你走得太远。这些工具专为基本监控任务而设计,它们通常无法查找过度配置的资源或确定云帐单中成本变化的来源。信不信由你,你的云供应商不能帮助你降低账单费用。
因此,你需要付出额外的努力来优化云成本,你可能还需要使用第三方工具来帮助识别云基础架构中的浪费来源。
以下具体操作可帮助你提高云成本管理效率:
适当调整服务器实例的大小。对于成本优化,首先应该在设置云服务器实例时正确调整其大小。这意味着选择最适合你工作负载需求的服务器实例类型。如果你使用资源太少的实例类型,那么在需求量大的时候,该工作负载可能会执行不充分。但是太多的资源会增加不必要的成本。适当调整大小既需要仔细评估工作负载的当前资源需求,也需要预测未来可能会发生的变化。接下来,再确定哪种类型的实例最符合这些要求。大多数公共云提供商提供很多实例类型。在某种程度上,适当调整将是手动工作。尽管如此,应用程序性能管理供应商(例如New Relic和Metricly)已开始在其平台上添加云规模调整功能;这些可以自动检测资源分配不符合其需求的服务器。
关闭未使用的资源。在云成本管理中,一个重要但经常被忽视的方面是了解你正在运行什么。你应关闭不再处于活跃状态的云资源。在这方面,你可以考虑第三方监视工具,它们会提醒你异常情况,例如未附加到任何应用程序的数据库或最近没有人访问过的虚拟服务器。但是,避免未使用资源的最佳方法是阻止它们被创建。企业应该制定政策,明确指出IT员工在不再使用资源时是否可以保留资源。在某些情况下,如果在不久的将来会再次使用这些资源,则保留这些资源是有意义的,但如果企业没有计划保留它们,则应关闭它们。
自动缩放。除了使用适当调整技术之外,你还可以利用自动扩展功能,帮助你的工作负载在必要时访问更多云资源。此功能还可在不再需要资源时缩减资源。通过自动化,你可以默认建立低使用率配置文件,同时还能够满足高需求时段。大多数云提供商都提供自动扩展工具,你可以根据自己的需要进行配置。
仔细规划您的数据传输。如上所述,数据移动有时需要付费。对于不同云计算,需要付费的特定类型的数据移动有所不同,因此你需要确保完全了解提供商的费用表。然后,你可以设计一个云基础架构,最大限度地减少需要花钱的数据传输数量。例如,如果你的云提供商对导出数据收费,你可能希望确保那些需要访问存储在云中的数据的应用程序也在云中运行。在这种安排中,你可以避免支付的数据导出费用,否则你需要不断支付费用将数据从云存储转移到内部部署应用程序。
利用存储层。同样,云服务提供商提供不同价格的存储层。如果使用云来存储不经常访问的数据(例如辅助数据备份),请将其移动到成本较低的存储层。但请确保你知道在需要时从该层导出数据需要多长时间。通过了解这一点,你将可以更好地准备灾难恢复方案以及其他情况–即准备下载数据可能需要一些时间的情况。
使用折扣云实例。正如云提供商提供不同价位的存储层一样,大多数云提供商也允许用户在特定条件下以折扣价运行虚拟服务器。例如,AWS提供所谓的Spot Instances,可访问AWS云上的备用基础设施;与按需访问相同的基础设施相比,这样做可将成本降低90%。但这样做的问题在于无法保证这些类型的实例的可用性。因此,它们不适合需要持续运行的工作负载,例如托管Web应用程序。对于高强度的定期任务,例如运行数据分析工作负载,企业可考虑使用折扣云实例,以节省大量资金。同样,大多数云提供商允许你提前预订服务器实例,但成本低于按需启动时支付的费用。
总体而言,云成本管理并没有简单的技巧或单一工具。对于控制成本,企业需要关注一系列潜在的浪费来源,并部署适当的工具和流程,以防止不必要的云支出。