【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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:0020861

评论

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

程序员在编程过程中,经常会在代码中使用到“where 1=1”,这是为什么呢?

小Q

Java 数据库 学习 架构 面试

朋友推荐我这份阿里面试通关手册,我却选择了字节的offer

小Q

Java 学习 程序员 架构 面试

看完之后,不要再说不懂代理IP了!

前嗅大数据

大数据 静态IP 代理IP 短效代理 动态IP

阿里又出一座丰碑!P9级架构师整合出最新最全微服务1700页手册,下载下来慢慢啃

Java架构追梦

Java 架构 微服务 springboot SpringCloud

你应该知道的数仓安全——默认权限实现共享schema

华为云开发者联盟

数据库 数据 schema

28天刷完这份内容多大349页的阿里Java面试通关手册,我成功闯进了字节跳动!

Java架构之路

Java 程序员 架构 面试 编程语言

技术实践丨基于MindSpore的ResNet-50蘑菇“君”的识别应用体验

华为云开发者联盟

网络 mindspore 识别推理

LeetCode题解:剑指 Offer 22. 链表中倒数第k个节点,递归,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Nacos配置中心和服务的注册发现

牛初九

微服务 Spring Cloud nacos spring cloud alibaba

太牛了,腾讯T4Java技术专家手撸的Redis技术笔记,一周内下载量已突破30W。

Java架构之路

Java 程序员 架构 面试 编程语言

架构师训练营 1 期 -- 第八周作业

曾彪彪

极客大学架构师训练营

开源GitHub标星30K的腾讯Redis笔记,阿里技术专家看到都赞不绝口

小Q

Java 学习 编程 架构 面试

如何使用JavaScript实现前端导入和导出excel文件(H5编辑器实战复盘)

徐小夕

Java node.js 大前端 React 数据可视化

嗯,挺全乎儿的,Spring Boot 多环境配置都在这里了,你喜欢哪种?

比伯

Java spring 编程 程序员 架构

天秀!这份由阿里数位大牛编写的777页高可用架构+MySQL

Java~~~

Java MySQL 编程语言 高并发 架构师

架構師訓練營第 1 期 - 第 08 周作業

Panda

架構師訓練營第 1 期

58个基础案例+2个综合案例带你探索微服务的神秘世界

小Q

Java 学习 编程 面试 开发

手把手教你使用ModelArts的自动学习识别毒蘑菇分类

华为云开发者联盟

学习 AI 图像识别

第八周学习性能优化 2 总结

三板斧

极客大学架构师训练营

七张图了解Kubernetes内部的架构

网管

Kubernetes k8s k8s入门

炸了!一口气间了我18个JVM问题!

面试 jvm调优 JVM垃圾回收原理

架构师训练营 -week08-作业

大刘

极客大学架构师训练营

解密猫晚直播技术:如何保障全球200多个国家和地区同时在线狂欢?

阿里云视频云

不服!阿里P8手写489页SQL优化通关手册,解决你百思不得其解问题

996小迁

sql 程序员 架构 面试 计算机

成长为软件教练的三千大道之一

华为云开发者联盟

Java 敏捷开发

python+flask编写一个简单的登录接口例子

测试人生路

Python 接口测试

架构知识学习总结

小黄鱼

极客大学架构师训练营

前端如何一键生成多维度数据可视化分析报表

徐小夕

Java node.js 大前端 React 数据可视化

隧道视野效应 - 认知局限

石云升

教育 认知 隧道视野效应

关于静态分析技术符号执行,从一个故事讲起······

华为云开发者联盟

代码 分析 静态

【再见 — JVM】,需要”我”为你做些什么?

洛神灬殇

Java JVM Java 25 周年 1 周年盛典 InfoQ 写作平台 1 周年

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