Lyft 使用亚马逊云科技成本管理,在 6 个月内削减了 40% 的成本
Lyft 是一家共享乘车供应商,为美国和加拿大的数百万客户提供乘车服务。作为上云之旅的一部分,Lyft 使用亚马逊云科技成本管理服务和内部工具,在 6 个月内将每辆车的成本降低了 40%,向领导层和开发团队提供详细的成本指标,减少浪费,并助力工程师研发新工具。
"我们通过从小的项目做起,获得了对成本的可见性,获得了高投资回报率。这项工作使我们更好地了解我们的亚马逊云科技足迹。"
——Lyft, 容量团队, 工程经理 Patrick Valenzuela
寻求对亚马逊云科技成本更好的可见性
Lyft 成立的使命是 "用世界上最好的交通工具改善人们的生活",每天为 95% 的美国人口和加拿大的多个城市提供数百万次的出行。自 2012 年成立以来,Lyft 一直在亚马逊网络服务(亚马逊云科技)云上运行。"我们依靠许多亚马逊云科技服务来运行我们的业务,"Lyft 容量团队的工程经理 Patrick Valenzuela 说。当 Lyft 的客户使用应用程序订车时,请求被转到运行在 Amazon Elastic Compute Cloud (Amazon EC2)上的微服务集群。除此之外还使用了亚马逊 Amazon DynamoDB 和 Amazon Simple Storage Service (Amazon S3)来存储客户和乘坐数据。
最近几年,Lyft 的业务大幅增长。例如,该公司每年的乘车次数从 2015 年的 5300 万次增长到 2016 年的 1.6 亿次,2017 年的乘车次数增加了一倍以上。同时,这种增长导致了亚马逊云科技用量的增加,这给财务管理带来了挑战。"我们知道我们的总体亚马逊云科技账单是什么,但我们不知道到底是哪个内部团队花了钱,因为我们没有一致的方式来标记资源,"Valenzuela 说。"我们对启动新的资源也没有什么限制,而且我们缺乏适当的保障来防止浪费。此外,随着我们工程团队的成长和成熟,他们开始尝试更复杂的工作负载。例如将机器学习工作在更昂贵的 Amazon EC2 实例上运行。总的来说,我们的支出比预期多,我们必须对此采取行动。"
Lyft 决定采取行动,使用亚马逊云科技成本管理服务(包括现已不再使用的详细计费报告)来建立一个基于电子表格的软件工具。该工具下载了 Lyft 的亚马逊云科技计费数据,按服务和团队对支出进行分类,并将数据提供给整个公司使用。通过跟踪每辆车的成本并将亚马逊云科技成本除以乘车次数,Lyft 能够更清楚地了解其亚马逊云科技支出。"对于我们的工程团队来说,这是他们第一次看到他们在亚马逊云科技中的花费,"Valenzuela 说。"这种可见性推动了最初的一波降低成本活动,例如正确的规模调整"。
在推出这款工具的六个月内,Lyft 将其每次乘车的总体亚马逊云科技成本降低了 40%。"我们通过从小项目着手,实现了项目整体可见性,获得了高投资回报率,"Valenzuela 说。"这项工作使我们更好地了解我们的亚马逊云科技足迹。"
尽管 Lyft 在其最初的工具上取得了成功,但该公司仍需可通过 SQL 查询的细粒度数据集。其他因素(如折扣和 Amazon EC2 预留实例的成本)并未透明地在电子表格的成本和使用报告中反映出来。"我们没有打造一个真正的自助工具。我们也没有开发出一个可持续的解决方案来标记资源并将其归属于团队和组织,"Valenzuela 说道。
为了解决这些问题,Lyft 决定为可扩展的云成本管理建立数据基础。" Lyft 的财务和 FinOps 数据工程的技术负责人 Ilia Semenov 说:“我们首先定义了关键的利益相关者群体和他们的需求,"Lyft 的财务和 FinOps 数据工程的技术负责人 Ilia Semenov 说。"领导层和财务部门希望能看到亚马逊云科技的支出,在高水平上由产品线和团队分配,以及支出对公司主要关键绩效指标的影响。开发者团队希望从成本和使用的角度看到他们的亚马逊云科技足迹,并能够深入了解小细节。而容量团队希望得到成本管理方面的具体数据,如 CPU 和[Amazon EC2]预留实例的利用率。一旦我们有了这些要求,我们就定义了我们可用的数据源,并建立了一个新的数据解决方案。
新的解决方案是一个数据流水线,将来自亚马逊云科技成本和使用报告(CUR)、亚马逊云科技 API(例如,Amazon EC2 预留实例数据)和 Lyft 特定数据源的数据纳入自助服务看板。看板向业务领导提供高层次的成本指标,向开发人员和容量团队提供更详细的信息。"以工程经理为例,他们可以访问并看到他们组织的每小时的花费,"Semenov 说。"我们通过电子邮件向团队发送支出报告和支出异常警报"。
利用新的自动化工具,Lyft 找出了利用率低且价格高的 Amazon EC2 实例,联系其内部所有者以确认这些实例是闲置的,并删除了大量的实例。
"我们还查看了我们花费最多的 Amazon DynamoDB 表格,发现有许多机会可以适当调整容量,"Valenzuela 说。"这确实帮助我们减少了浪费。"
此外,授权团队通过自助看板来跟踪支出的变化,Lyft 发现了关于跨可用性区域数据传输的不必要的花费。"我们把这些集群放在一起,成本下降至 0,"Valenzuela 说。"团队也一直在使用我们的看板来了解迁移到 Kubernetes 的成本影响"。按照这些步骤,Lyft 成立了一个效率团队,旨在推动新的成本降低。"Valenzuela 说:"在云财务管理方面,团队帮助我们从被动转变为主动。
在自动化帮助 Lyft 节省更多资金的同时,公司也为工程师节省了时间。Valenzuela 说:"以前,我们有一个 Amazon EC2-only 分析工具,我们必须依靠图表和一次性脚本来了解要执行的 Amazon EC2 预留实例操作。""现在这项工作已全部自动化,我们的容量和效率团队有更多时间来创建工具,在其他领域节省资金。"
Lyft 现在正在研究其他优化成本的方法。"虽然我们取得了巨大的进展,但这项工作并未结束,"Valenzuela 说。"我们目前正在努力改进我们的数据集,包含资源利用率,并将更多共享的支出归结到具体的团队。我们还在增加更多的自动化:警报、异常检测和 Amazon EC2 预留实例的自动转换。我们还需要每天不断优化,这使我们最终能够提供更多的商业价值,改善我们客户的体验"。
要了解更多信息,请访问亚马逊云科技成本管理页面。
Lyft 是一家位于加利福尼亚州旧金山的共享乘车公司。Lyft 在美国的 644 个城市和加拿大的 12 个城市运营。该公司开发、营销和运营 Lyft 移动应用程序,提供乘车、滑板车、自行车共享系统和送餐服务。
Amazon Elastic Compute Cloud(Amazon EC2)是一项 web 服务,在云中提供安全、可调整大小的计算能力。目的是使 web-scale 的云计算对开发人员来说更容易。
亚马逊云科技成本和使用情况报告包含最全面的一套亚马逊云科技成本和使用情况数据,包括有关亚马逊云科技服务、定价和预留(例如,Amazon EC2 预留实例(RI))的额外元数据。
Amazon DynamoDB 是一个关键值和文档数据库,可提供任何规模的单位毫秒级性能。它是一个完全可管理的、多地区、多主机、耐用的数据库,具有内置的安全性、备份和恢复功能,以及用于互联网规模应用的内存缓存功能。