Uber的云之旅:在x86世界中拥抱ARM

Uber 从本地数据中心向多架构云平台的战略迁移

主要观点

Uber 在 2023 年 2 月启动了一项战略性迁移计划,将其基础设施从本地数据中心迁移到 Oracle Cloud Infrastructure (OCI) 和 Google Cloud Platform (GCP)。这一迁移的核心目标是通过整合 ARM 架构的计算机,降低成本、提高性能价格比,并在供应链不确定性的背景下确保硬件灵活性。

关键信息

  1. 架构差异

    • x86 架构(由 Intel 和 AMD 开发)采用复杂指令集计算(CISC)方法,强调向后兼容性和微码执行的复杂指令。
    • ARM 架构采用精简指令集计算(RISC)原则,指令简单且固定长度,通常在一个周期内执行。
  2. 性能与能耗

    • x86 处理器在计算密集型任务中表现优异,但能耗较高,主要用于桌面和服务器。
    • ARM 处理器在能效方面表现突出,适用于移动设备、嵌入式系统,以及越来越多地用于数据中心。
  3. 迁移挑战

    • Uber 的基础设施团队需要重新设计原本基于 x86 的系统,涵盖操作系统、内核和基础设施组件。
    • 构建管道中的复杂依赖关系(如 Makisu 工具)需要解决,团队使用 Google Bazel 进行跨架构编译。
  4. 迁移策略

    • 采用了分布式构建管道,生成统一的多架构容器镜像。
    • 部署系统增加了架构特定的放置约束和自动回退机制,确保生产环境的可靠性。
  5. 经济效益

    • 尽管 ARM 迁移增加了构建成本,但其能效和成本优势仍然显著,符合 Uber 的可持续发展目标。

重要细节

  1. Oracle Cloud Infrastructure 的支持

    • OCI 采用了 Ampere Computing 的 ARM 处理器,显著提升了能效和计算密度,减少了能源成本和物理空间需求。
  2. 构建管道的优化

    • 团队通过 Bazel 重建了 Makisu,解决了循环依赖问题,逐步重建了 Odin 平台和 Buildkite,最终实现了多架构兼容的构建管道。
  3. 部署系统的改进

    • 引入了架构特定的部署机制,确保在兼容性问题出现时能够回退到 x86 架构,逐步迁移服务。
  4. 技术里程碑

    • 首个 ARM 服务的成功部署证明了多架构基础设施在 Uber 规模下的可行性。

结论

Uber 的迁移经验展示了在多架构环境中整合计算资源的挑战和潜力。通过逐步迁移和优化构建与部署系统,Uber 不仅在技术上取得了突破,还在成本和能效方面实现了显著提升。这一经验为其他企业在大规模基础设施中采用多样化计算架构提供了宝贵参考。

阅读 17
0 条评论