写点什么

Uber 将 4000 多个微服务迁移到新的多云平台 Up

  • 2023-10-27
    北京
  • 本文字数:1071 字

    阅读完需:约 4 分钟

大小:529.81K时长:03:00
Uber将4000多个微服务迁移到新的多云平台Up

Uber 将其大部分容器化微服务从µDeploy迁移到一个叫作 Up 的新多云平台,准备将相当一部分计算迁移到云端。Uber 花了两年时间将其许多微服务变得可移植,以便可以在不同的计算基础设施和容器管理平台之间进行迁移。

 

2014 年,Uber 还只是一个单体应用程序,随着业务的增长,开始迁移到微服务架构。Uber 开发了µDeploy来帮助标准化大规模的应用服务部署。这一措施抽象了主机管理方面的东西,但服务管理仍然是高度手动的,这意味着服务工程师仍然需要决定哪些服务应该在哪个特定区域的哪个区域(物理数据中心)内运行。

 

Uber 高级工程师Mathias Schwarz和工程经理Andrew Neverov解释了 Uber 决定将工程团队与基础设施团队完全解耦的原因:

 

在运营本地数据中心时,由于芯片短缺和供应链问题,我们的交付周期较长。2023 年 2 月 13 日,Uber与甲骨文和谷歌合作,致力于多元化和降低公司在供应链问题上的风险。如果没有一个可以将底层基础设施与数千名负责为业务提供数百种不同的服务 Uber 工程师解耦的系统,那么执行这一战略是不可能的。

 

2018 年,Uber 的平台团队开始研究一个新的多云、多租户联合控制平面,负责自动化服务部署和基础设施级迁移。这个叫作 Up 的新平台旨在成为服务工程师与基础设施系统交互的主要工具。它还将管理和执行最佳实践,以推动安全的代码部署。

 


Up 的高级架构(来源:Uber工程博客)

 

Up 平台采用了分层架构,其中体验层负责用户交互和系统管理,包括工作负载管理和伸缩。平台层为体验层组件提供通用的抽象和概念模型,用来表达基于主机能力和计算能力的服务部署约束。联邦层实现与计算集群的集成,并负责基于可用容量和定义的部署约束来执行服务部署。变更管理组件提供渐进式发布功能。最底层包含实际的集群实例,使用了基于Apache Mesos而构建的PeletonUber自己的开源容器编排平台)和Kubernetes

 

为了准备迁移到云端,Uber 花了两年时间使所有无状态微服务都变得可移植,可以在无需服务工程师参与的情况下在区域之间进行集中式管理。他们使用现有工具在区域之间移动服务,确保它们是可移植的。首先,他们允许将服务移回原始区域以解决可移植性问题,一旦解决了可移植性问题,就定期移动服务以验证其可移植性并防止出现回归。

 

在变得可移植之后,微服务逐步自动迁移到 Up 上,得益于自动伸缩和效率,节省了大量的资金,并大大减少了服务团队的维护负担。Uber 的大部分微服务平台现在都通过 Up 来管理,可以自由地启动其云迁移工作,而不会对服务团队产生太大影响。他们也关注自动化持续交付和部署安全方面的东西。

 

原文链接

https://www.infoq.com/news/2023/10/uber-up-cloud-microservices/

2023-10-27 08:0054219

评论

发布
暂无评论
发现更多内容

前端使用正则表达式提取经纬度 度分秒值

刘大猫

正则表达式 人工智能 度分秒 度数 经纬度

端午|年年岁岁皆如愿 岁岁年年长安康

中烟创新

【拥抱鸿蒙】Flutter+Cursor轻松打造HarmonyOS应用(二)

郑知鱼

flutter 鸿蒙 HarmonyOS 移动端开发 cursor

Dify搭建AI图片生成助手中的坑!

王磊

基于YOLOv8的路面缺陷(路面裂缝、井盖、坑洼路面)识别项目【完整源码数据集+PyQt5界面+完整训练流程+开箱即用!】

申公豹

yolov8

全网最全的Java面试八股文合集!【附答案】

Geek_Yin

Java 程序员 java面试 Java面试题 Java面试八股文

翰德 Hudson 携手亚马逊云科技,基于 MCP Agent 重塑智能招聘新范式

亚马逊云科技 (Amazon Web Services)

Java面试八股文(精简、纯手打)

Geek_Yin

Java 程序员 java面试 Java面试题 Java面试八股文

AKOOL 实时摄像头:实时 AI 语音翻译和换脸;SpAItial 融资 1300 万美元,打造 3D 生成和理解平台丨日报

声网

什么是物化视图(Materialized View)?

镜舟科技

数字化转型 实时数据分析 StarRocks 物化视图 存储优化

Github霸榜的SpringBoot全套学习教程,从入门到实战,内容超详细!

程序员高级码农

程序员 springboot

闲鱼打定金,满意后收货打尾款,你能接受吗

程序员郭顺发

国产大模型deepseek-R1 0528重大更新!接入mcp,写3D小游戏只要5分钟!

阿星AI工作室

AI 大模型 AI教程 AI编程 deepseek‘

鲲鹏创新大赛2025正式启动

科技热闻

HarmonyOS NEXT开发教程:全局悬浮窗

幽蓝计划

爬虫到智能数据分析:Bright Data × Kimi 智能洞察亚马逊电商产品销售潜力

不觉心动

Spring AI 使用教程

知识浅谈

AI SPringAI

数据仓库分层 4 层模型是什么?

镜舟科技

数据仓库 数据处理 StarRocks 物化视图 分层 4 层模型

【拥抱鸿蒙】HarmonyOS之构建一个自定义弹框

郑知鱼

华为 鸿蒙 HarmonyOS 移动端 HarmonyOS NEXT

【拥抱鸿蒙】Flutter+Cursor轻松打造HarmonyOS应用(一)

郑知鱼

flutter 移动端开发 AI编程 harmoyos cursor

AJax(XHR+Get和Post+AJax的封装)

刘大猫

ajax 人工智能 算法 post GET

鸿蒙仓颉语言开发教程:网络请求和数据解析

幽蓝计划

大模型训练常见通信源语解释

永荣带你玩转昇腾

AI对低代码技术的影响

不在线第一只蜗牛

AI 低代码

VL 中间语言:进化之路,如何在效率与深度间架起桥梁?

代码制造者

StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践

StarRocks

数据仓库 数据湖 StarRocks 物化视图 lceberg

《算法导论(第4版)》阅读笔记:p164-p172

codists

算法

「小红书」正式加入 Karmada 用户组!携手社区共建多集群生态

华为云原生团队

云计算 容器 云原生

1688API接口终极宝典:列表、详情全掌握,图片搜索攻略助你一臂之力

tbapi

1688商品列表接口 1688API 1688商品详情API 1688图片搜索API

秒杀系统—架构设计和方案简介

量贩潮汐·WholesaleTide

架构

IP地址交换如何让车联网效率翻倍?

郑州埃文科技

Uber将4000多个微服务迁移到新的多云平台Up_微服务_Rafal Gancarz_InfoQ精选文章