每月可节省
100 万美元
之前处理 100TB 的成本
现在可处理 200–250TB
处理时间从 4 小时
缩短到 15 分钟
在数小时内探索并测试了
配置测试
概览
Salesforce 的统一情报平台团队(UIP)管理着一个 PB 级的数据湖,该公司希望在数据分析和处理方面进行创新,着眼于节约成本和提高效率。UIP 团队使用 Amazon Web Services(AWS)处理来自 Amazon Elastic Compute Cloud(Amazon EC2)的混合实例预置模型,为几乎任何工作负载提供安全和可调整大小的计算容量,因而得以构建可扩展的弹性计算基础设施。借助经过改造的计算基础架构,该公司能在更短的时间内处理两倍数据,同时每月节省了超过 100 万美元。
Salesforce 使用 AWS 进行数据工作流程,而 AWS 使用 Salesforce 进行客户关系管理。这种合作伙伴关系让使用这两种技术的开发人员可以更轻松地构建和启动客户应用程序,在 Salesforce 中本地使用 AWS 服务,以及在 Salesforce 和 AWS 上安全地连接数据和工作流程。
机会 | 在 AWS 上部署架构以提高效率
2019 年末,UIP 团队开始将本地集群转移到 Amazon EMR,Amazon EMR 是云中大数据平台,使用开源分析框架(如 Apache Spark、Apache Hive 和 Trino 等)运行大规模分布式数据处理作业,交互式 SQL 查询,以及机器学习应用程序。Amazon EMR 的使用帮助 Salesforce 降低管理其大数据框架的复杂性,并为 Amazon EC2 竞价型实例提供了原生集成,这有助于公司利用云中未使用的 Amazon EC2 容量。
该团队确定在 Apache Spark 上运行的工作负载,是使用竞价型实例作为成本优化策略中一部分的理想选择。Amazon EMR 上的 Apache Spark 有自动重试功能,这有助于在因 Amazon EC2 容量要求而回收竞价型实例时提供弹性。此外,UIP 团队使用 Spark Streaming 在 5 分钟窗口期内处理数据,这是可以帮助最大限度减少重试机会的另一因素。
为了以最低的价格找到最大的可用性,Salesforce UIP 尝试同时使用竞价型实例和其他 Amazon EC2 购买选项。该团队在竞价型实例和 Amazon EC2 按需型实例的不同百分比上运行场景,公司按秒为计算容量付费,无需承诺长期使用,可以完全控制实例的生命周期。Salesforce UIP 在按需型实例中使用 Savings Plans,这是一种灵活的定价模式,与按需定价相比,它的价格更低,但需要做出特定使用承诺。为了平衡集群的可靠性与实例折扣,UIP 团队确定了一种最佳配置,其中 60% 的 Amazon EC2 使用量受益于竞价型实例,其余使用 Savings Plans 覆盖范围。为了满足其服务等级协议(SLA),Salesforce UIP 在创建实例集时考虑了性能。根据处理器特性和满足 SLA 时间要求的能力,该团队将工作负载分为 SLA 和非 SLA 集群。Salesforce 首席工程师 Eric Legault 说:“在构建实例集方面,我认为真正的好处是你可以使用多少实例类型。”“通过使用 AWS,我们能够尝试多种机器配置和不同场景。只需更改配置,几个小时后我们就能看到该配置是否真的有效。因此,我认为这是这项服务成功的重要原因之一。”
Amazon EMR 托管扩展有效提高了我们使用云弹性功能的能力。而且,我们仅通过以创新的方式使用竞价型实例,就能显著降低成本。”
Eric Legault
Salesforce 首席工程师
解决方案 | 使用竞价型实例节省数百万美元
根据 AWS 关于使用竞价型实例的最佳实践,该团队在保持容量不变的同时,从两到三种实例类型迁移到 27 种实例类型,提高了实例集的稳定性。UIP 团队运行 12 个专门用于不同目的的集群,使用针对 CPU、内存或平衡工作负载进行优化的实例类型,同时混合使用 Intel 和 AMD 处理器。Legault 说:“实例类型越多,集群就越有弹性。”
Salesforce UIP 现在每天处理 200–250TB 的数据,原来用来处理 100TB 所需的成本现在可以写入两倍数据量。该团队还通过将提取处理重新架构为流式处理方法,同时使用竞价型实例在控制成本的同时增加基础设施,提高了处理效率,将提取和处理数据的时间从 4 小时缩短到 15 分钟。为了提高其计算指标的可见性,Salesforce 使用了 Amazon CloudWatch,这是一项 AWS 资源的监控和可观测性服务。该团队使用自定义控制面板监控应用程序,该自定义控制面板是用开源软件 Grafana(为运营指标提供可视化)构建的。
Salesforce 的 UIP 解决方案还使用 Amazon EMR 托管扩展,它能自动调整集群大小,以尽可能低的成本实现最佳性能。为了抵消回收竞价型实例的可能性,Salesforce 允许集群在容量上扩展约 5%。额外的容量意味着更快的处理速度,以便在必要时为集群提供更高的可用性和稳定性。Legault 说:“我认为这确实有好处,我们可以扩展容量,也可以在不需要容量时进行缩减。”“这个过程还会处理回收方面出现的任何问题。” 此外,在 Amazon EMR 托管扩展中使用新功能,可防止 Salesforce UIP 缩减用于存储 Apache Spark 中间随机数据的实例,从而提高性能、降低成本。
Salesforce UIP 结合了竞价型实例,补充了 Savings Plan 的使用,同时将计算成本降低了 60% 以上,每月为公司节省超过 100 万美元。除了两个全时运行的集群外,UIP 团队还可以在必要时经济高效地纵向扩展第三个集群,以适应突然涌入的数据。UIP 团队使用竞价型实例来处理扩展问题,这还有助于降低 Salesforce 在其他方面的成本,因为这样可以腾出 Savings Plan 实例,供其他团队在高峰时段使用,从而降低成本。
成果 | 将智能构建到实例集管理中
作为优化过程的一部分,UIP 团队使用 Spot Instance Advisor,帮助公司确定中断几率最小的池,节省按需费率。该团队希望使用 Amazon EC2 Spot 置放评分为动态实例集管理提供更多情报,该分数可以基于 Salesforce 的要求近乎实时地推荐 AWS 区域或可用区。使用 Amazon EC2 Spot 置放评分,UIP 团队计划随着其在 AWS 区域的扩张,实现更大的容量和更低的价格。Legault 说:“借助云的容量,以及通过使用各种各样的 Amazon EC2 实例类型,我们完成了在本地无法完成的事情。”“Amazon EMR 托管扩展有效提高了我们使用云弹性功能的能力。而且,我们仅通过以创新的方式使用竞价型实例,就能显著降低成本。”
关于 Salesforce
作为顶级的客户关系管理(CRM)和客户互动平台,Salesforce 为全球超过 15 万家公司提供服务。Salesforce 使用单一的、共享的客户信息视图,将销售、服务、营销、商务和 IT 团队统一起来,有助于发展与客户和员工的关系。
使用的 AWS 服务
Amazon Elastic Compute Cloud (EC2)
Amazon EC2 提供了最广泛、最深入的计算平台,拥有超过 500 个实例以及多种最新的处理器、存储、网络、操作系统和购买模型,以帮助您充分满足工作负载的需求。
Amazon EC2 竞价型实例
Amazon EC2 竞价型实例让您可以利用 AWS Cloud 中未使用的 EC2 容量。
Savings Plans
Savings Plans 是一种灵活的定价模式,与按需定价相比,它的价格更低,但您需要在一年或三年的期限内达到特定的承诺用量(以 USD/小时为单位衡量)。
Amazon EMR 托管扩展
通过 EMR 托管扩展,可以为集群指定最小和最大计算限制,Amazon EMR 会自动调整大小,以实现最佳性能和资源利用率。
行动起来
无论行业无论规模,每天都有各种机构在使用 AWS 实现自身业务转型、实现企业愿景。欢迎您联系我们的专家,立即踏上您的 AWS 之旅。