现在是2020年,在云上运行基础设施已经成为许多公司的标准。这是用a强调的Canalys报告这表明2019年全球云支出为1070亿美元。在云服务上的支出分布在AWS上,占32.4%的市场份额,Azure占17.6%,bb0云占6%,阿里云占5.4%,其他规模较小的云计算公司合计占38.5%的市场份额。
然而,尽管有了这些增长,在云上部署基础设施仍存在许多挑战,其中最大的挑战(在通常收到越来越多的云账单之后)可能是财务方面。
在这篇文章中,基于我们在款,我们将介绍FinOps工程师的角色,以及他们为成功的云成本管理所采用的一些技术和财务方法。
到底是什么让你的云账单飙升
有人说,云基础设施的成本不是客户数量的衍生物,而是工程师数量的衍生物。仅仅引入一个新特性,即使没有任何额外的客户,也会因为其架构设计、资源利用等因素而显著增加成本。
为了确保快速创新和不断扩大的规模在预算范围内,一个新的角色诞生了,即FinOps工程师。FinOps工程师将对软件开发需求的深入了解与在云部署中寻找最佳和经济高效解决方案的专业知识相结合。雷电竞官网进入
随着这一领域的发展并开始更好地定义自己,我们可以指出FinOps工程师的主要责任领域:
- 创建与公司托管解决方案相关的任何财务方面的全面可见性雷电竞官网进入
- 在日常支出的基础上创建治理
- 检查体系结构和部署拓扑
- 创建优化任务和数据驱动的建议
- 与财务团队紧密合作,进行预算和预测活动
- 建立并维护运营、采购和财务团队之间的联系
这些FinOps活动要求公司像过去一样适应DevOps和敏捷开发方法。
FinOps工程师的目标是在组织中为我们的云支出创建可见性,领导技术优化以提高性能和效率,并在扩展活动的同时降低成本。为此,FinOps工程师需要在两个方面努力:
- 体系结构和部署拓扑
- 财务工具和报告
让我们逐一探索。
云架构、部署拓扑以及金钱如何做出所有决定
当我们面对在云中部署(或审查)基础设施的激动人心的任务时,我们经常面临大量的选择。随着“任何事情在技术上都是可能的”这句话的出现,有时很难理解并为您的组织选择正确的体系结构。在云计算中,常见的做法是在数十种实例类型和大小、几种存储选项、基于区域和可用性区域的不同网络架构以及更多(例如托管服务、许可证、市场产品等)之间进行选择。
令人惊讶的是,当我们将成本作为云架构卓越性的KPI时,在选择我们想要使用的工具时,事情变得更加清晰。让我们来看一些例子。
选择正确的EBS卷
当您的实例需要快速存储时,许多人会告诉您使用预置的IOPS SSD (io1)卷。如果您只需要IOPs,并且可以接受更少的吞吐量,那么部署支持所需IOPs的更大GP2卷总是更经济实惠。
选择正确的实例类型
有时候,在大量的实例选择中,我们可能会迷失在为我们选择正确的实例中。当我们不只是查看实例的一般信息(核数、RAM、IO),而是查看实际的硬件和性能指标来检查实例的执行情况时,事情会变得更加复杂。
但只要有耐心和研究,你就能以合适的价格找到你需要的计算能力。例如,当AWS发布c5系列时,我们非常兴奋,因为它不仅比c4系列便宜15%,而且还配备了Skylake cpu,相比之下内存更多,IO更好。实际上,对于部署的1000台c5.2xlarge主机,与旧的c4.2xlarge相比,您可以节省每月超过40,000美元的按需价格。这还不包括保留实例。
我们可以谈论的另一个令人难以置信的例子是c5n类型的发布,它可以达到25gbps,这在前几代最大的尺寸上几乎是不可能的。
对于模拟、内存缓存、数据湖和其他通信密集型应用程序,节省的开销绝对是天文数字。例如,使用c5n可以享受更好的性能。比使用旧的c4.8xlarge工作负载大,并且使用c5n可以节省94%的费用。大的只需要79美元/月,而c4.8xlarge仍然非常贵,大约1164美元/月(在美国东部-1)。
选择合适的地点
在这里,事情变得有点棘手,因为它不再仅仅依赖于技术和财务因素。与用户的距离、GDPR法规、隐私、安全、需要连接到云的内部部署位置以及其他问题等都需要考虑。
虽然云提供商提供了几个可以部署的“区域”,但每个区域通常有不同的定价。有时,在特定地区部署完全相同的基础设施可以转化为每月节省数千美元。在区域本身中,通常有多个可用性区域,每个可用性区域代表一个不同的AWS数据中心。
基于此,您可以使用几种架构,例如“单个可用区—多个区域”、“多个可用区—单个区域”、“多个可用区—多个区域”等。在基于这些体系结构部署基础设施时,还需要考虑服务的可用性、传输流量的速度、所需可用区域的硬件容量等等。
例如,在单个可用区域上运行可能会破坏HA架构,因为您可能面临容量限制或可用区域停机,但由于相同可用区域中的流量是免费的,因此经济效益可能非常大——这绝对值得考虑。
现在让我们来看看一些可用的云工具和报告,以便更好地管理云成本。
云知识就是云能力
为了获得云支出的可见性,您可以使用几个工具和报告进行调查。我将重点介绍AWS和GCP,因为Wix主要与这两家供应商合作。
AWS的工具
你有“开箱即用”的工具,如显示图表和趋势的成本资源管理器,提供适当规模建议的Trusted Advisor和其他成本建议,如购买计划(预订,节省计划,现货实例等),预算提醒等等。
成本管理中最强大的工具是标签。成本分配标签可以在基础设施上创建完整的可见性,将单个帐户活动划分为业务单元、服务描述、议程所有者等。您可以在成本报告中启用您感兴趣的标记,从而获得对组织云活动的深入了解。
对于更多想要自动化的技术工程师来说,你有成本资源管理器API和支持Go、Python、PHP、Ruby、。net、Java等的SDK库来连接你的EC2活动、CloudWatch指标等。
AWS的报告
- DBR或详细账单报告-这是包含使用信息的遗留报告
- CUR或成本和分配报告——这是主要的计费报告,它不仅包含使用和成本信息,还包含技术信息(来自CPU时钟速度和虚拟核心数量),以及任何现有预订和节省计划的详细信息。
这两个报告都导出到S3,并且可以用作您自己的指示板工具的数据源。
GCP的工具
谷歌有一个开箱即用的“计算引擎正确调整大小建议”和一个带有利用率图表的“报告”页面,您可以在其中看到您的活动。它也有不同的购买计划,比如承诺使用(类似于AWS的预订和储蓄计划)和可抢占机器(类似于AWS的现货实例)。您可以通过自动预算操作、计费导出和计费api来管理预算和警报。
谷歌也支持标记(在GCP中称为标签),但是功能有限,因为键和值只能包含小写字母、数字字符、下划线和破折号。所有字符必须使用UTF-8编码,等等。
谷歌还拥有集成了GCP主要服务的客户端库,支持Go、Java、Node.js、Python、Ruby等。
质量报告
GCP不支持传统的报表对象,账单信息在连接的几个账单表之间写入BigQuery。如果您想使用账单上的所有详细信息,则必须查询BQ以获取相关的账单信息。
FinOps是永恒的
FinOps(或者我们在Wix中如何称呼它——云金融工程)不是一次性的努力,而是一个持续的、具有挑战性的、日常的努力。
我们刚刚对评估部署体系结构时需要问的一些最常见问题做了一个基本概述。正如我们所展示的,仅仅知道如何在技术上解决问题是不够的。在做出决定之前,您确实需要考虑什么是最具成本效益的解决方案。同样,我们已经介绍了一些更基本的工具和可用报告,您需要熟悉这些工具和报告才能了解您的云支出。
但这仅仅是个开始。FinOps工程师为公司带来的价值是巨大的,并且在CCOE(卓越云中心)或任何其他致力于监控、管理和设置组织云支出kpi的团队中发挥着不可或缺的作用。
最好的部分是,你不需要知道所有的事情,也不需要自己做所有的事情。
许多公司,如Spot.io可以提供知识和自动化来帮助您在这个过程中取得成功,从创建深度成本可见性到以最优的方式实际运行基础架构,因此您可以享受节省,而不必担心可用性或需要自己参与管理所有底层基础架构。
如果你读到这里,你已经迈出了FinOps卓越之旅的第一步。安全的旅行!