奥迪借助Karpenter为关键业务节省63%成本
原文链接:
https://aws.amazon.com/cn/solutions/case-studies/audi-efficient-compute-case-study/
翻译:cloudpilot.ai
Karpenter开源地址:https://github.com/kubernetes-sigs/karpenter
全球高档汽车制造商奥迪股份公司(AUDI)借助其在线汽车配置工具帮助客户和经销商定制汽车的完美配置。这一项服务已在全球 30 多个市场推出,但奥迪的单一本地基础架构使其效率低下且难以维护。通过迁移到 AWS 并利用 Karpenter,奥迪提高了其工具的可扩展性、性能和成本,节省了63%的业务成本并且应用启动时间缩短了20%。
奥迪借助 AWS 提高可扩展性、可用性、效率和延迟
奥迪是大众汽车集团的子公司,为全球 100 多个市场生产高档汽车。经销商可以使用奥迪汽车配置工具为客户定制和下订单。客户也可以使用该工具在奥迪网站上选购和比较车辆。汽车配置工具是客户的主要入口,因此它对于业务来说至关重要。
奥迪的汽车配置工具后台系统最初是一个本地的单体应用,但为了应对流量激增和减少资源浪费,同时为各市场快速发布软件更新,奥迪需要更高的效率、高可用性和无缝的可扩展性。
在本地环境中,资源过度配置,且需要额外的服务器待命,因此部署新环境通常需要花费数天甚至数周来完成内部流程。
2018年,奥迪在北美市场测试了其工具的云端原型。在验证云计算的优势后,奥迪将其生产应用迁移到 Amazon EC2,利用其安全且可扩展的计算能力。
接着,公司开始使用 Terraform 和 AWS CloudFormation 进行基础设施自动化和快速部署。通过迁移到云端,奥迪不再需要管理设备和数据中心,而是按需配置资源。此外,奥迪还通过在全球 AWS 区域内部署工作负载,解决了海外客户的延迟问题。
在 AWS 上,奥迪的开发速度和稳定性得到了提升,开发人员的生产力也提高了。奥迪的PO和系统架构师 Florian Königer 表示:“我们现在一切都使用 IaC。”整个环境使用 Terraform 搭建,部分组件使用 AWS CloudFormation。奥迪通过细粒度的权限设置简化了维护工作,减少了不必要的开销。同时,通过蓝绿部署(blue/green deployments),奥迪能够在云端更好地应对资源高峰期,从而稳定环境。
为了提高应用程序的敏捷性、部署速度和可扩展性,奥迪将其架构迁移到容器化平台。这使得向不同市场发布更新变得更加简单。
奥迪通过使用 Kubernetes 及其集群自动扩展工具(Cluster Autoscaler)功能,将原来的单体应用拆分为微服务。但由于 Cluster Autoscaler 对节点组深度依赖,无法灵活管理多种类型实例、应对突发流量高峰存在延迟并且对于节点扩缩容的处理比较低效。
为了进一步优化运维管理并提升灵活性,奥迪决定迁移到 Karpenter ——一个由AWS构建并贡献给 CNCF 的开源高性能 Kubernetes 集群自动扩展工具。
Karpenter项目地址:https://github.com/kubernetes-sigs/karpenter
“在AWS上,我们的可用性相比本地部署有所提升。我们还实现了更低的延迟和更短的响应时间。”奥迪 PO 兼系统架构师 Florian Königer 表示。
利用基于Graviton的实例和Karpenter提升性能和灵活性
通过 Karpenter,奥迪能够在单一配置中使用不同的 Amazon EC2 购买选项、实例类型和尺寸,搭配不同处理器的实例,自动根据价格和容量优化策略选择最佳实例。奥迪使用的选项包括按需实例、Spot实例和预留实例。
在云妙算(Cloudpilot.ai)中用户可以采用智能节点选择功能,为其工作负载匹配多样化的实例类型,以提升计算性能、增加系统的冗余度和容错性,增强应用的稳定性。
2021年,奥迪开始使用搭载 AWS Graviton 处理器的 Amazon EC2 实例,提供高达40%的价格性能提升。到2024年,奥迪扩展了多架构方案,利用 Karpenter 简化 Graviton 实例的配置。
奥迪的开发团队将 Graviton 实例与预留实例和 Spot 实例结合使用,从而优化工作负载的价格性能,并降低汽车配置工具的计算成本。Karpenter 的性能表现是 Cluster Autoscaler 的3-5倍。 基于此,奥迪使用 Karpenter 运行生产环境中的大约1,000个 Kubernetes Pod,使每个实例都能直接由Karpenter 管理,提高灵活性。相比本地系统,Graviton 实例的计算成本降低了63%,应用启动时间缩短了20%。
然而,Spot实例可能随时被回收,用户只能提前2分钟接到中断通知。对于大规模节点部署而言,会导致回滚操作时间不足。
为解决这一问题,云妙算(Cloudpilot.ai)的** Spot Predict 功能通过机器学习算法准确预测出 AWS 全球数十万 Spot 实例的中断时刻,提前60分钟进行回退操作**,进而大幅减少中断事件。结合增强版Karpenter,确保大规模使用 Spot 实例的稳定性。
为了进一步榨干 Spot 实例的价值,云妙算提供 Spot Automation 特性,让尽可能多的应用以尽可能长的时间跑在竞价实例上,进一步帮助您的团队节省云成本,把预算用在关键的业务拓展上。
此外,奥迪还优化了资源使用,特别是在周末的开发环境中,通过 Karpenter 提高了效率,减少了配置容量。
继续云迁移以改善客户体验
通过将汽车配置工具迁移到混合使用 Amazon EC2 实例和 Karpenter 的架构,奥迪加快了应用启动时间,提升了可扩展性,并减少了客户的延迟。“在AWS上,我们的可用性相比本地部署有所提升,”Königer表示,“我们还实现了更低的延迟和更短的响应时间。”
迁移到云端后,奥迪优化了计算基础设施,提升了客户和经销商的整体体验。
项目介绍
Karpenter 于2021年11月由AWS推出,是一款开源的Kubernetes集群自动扩展工具,专为优化 Kubernetes 集群的工作负载设计,旨在以灵活、高性能和简洁的方式实现节点的弹性扩展。今年9月已发布1.0版本。
目前,Karpenter 已为全球超500家知名企业在生产环境中提供服务,包括阿迪达斯、Anthropic、Slack、Figma等。
Karpenter项目地址:
https://github.com/kubernetes-sigs/karpenter