QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Mesos 已死,容器永生

  • 2021-04-08
  • 本文字数:3532 字

    阅读完需:约 12 分钟

Mesos已死,容器永生

“回顾过去,我认为 Mesos 的失败是种必然。”

 

4 月 7 日,Apache 宣布开始投票进程,准备将曾火极一时的 Mesos 项目移至Attic下,保存为“只读”状态。Attic 是 Apache 软件基金会为已终止项目提供的一种解决方案此举意味着 Mesos 正式进入项目“退休”阶段

 


Mesos 诞生于 2009 年,最初是伯克利大学的一个研究项目。它曾为分布式资源管理做出过一系列前沿贡献,据 Mesosphere/D2IQ 联合创始人回忆,“我们提出的 Mesos 是一套可跨越多个不同集群计算框架(类似于 Hadoop 与 MPI)实现商用集群共享的平台。”它的诞生甚至比 YARN 还早了几年,并于 2010 年很快被应用到 Twitter,成为 Twitter 自定义 PaaS 的实现基础,管理着 Twitter 超过 30,0000 台服务器上的应用部署。随后其他公司纷至沓来,比如 Airbnb、eBay 和 Netflix 等等,Mesos 也因此火极一时。

 

但很遗憾的是,现在已经到了它退役的时候。不过短短数年,我们再次见证了一个知名技术项目的兴起和衰落。

 

响应时代的召唤

 

Mesos 项目跟起源于 Google 的数据中心资源管理系统 Borg 一样,目的是弄清楚是否必须重建 Google 的超大规模计算专有架构。



同时,作为世界上最成功的社交媒体巨头之一,创立于 2006 年的 Twitter 也以其庞大的生产集群规模(万级别节点)而备受关注。Twitter 每天需要管理几亿条推文,急需开发一个类似的资源管理系统来帮助他们摆脱可怕的“失败之鲸”(如上图所示)。后来他们注意到加州大学伯克利分校 AMPLab 正在开发的名为 Mesos 的项目,这个项目的负责人是 Ben Hindman,Ben 是加州大学伯克利分校的博士研究生。后来 Ben Hindman 加入了 Twitter,负责开发和部署 Mesos。

 

Mesos 的两级调度架构很好的解决了 Twitter 面临的可伸缩性和性能上的挑战,“失败之鲸”逐渐成为往事。Twitter 的这个 PaaS 平台解决方案,后来以 Apache Aurora 的名号转为开源。

 


在海量数据的挑战下,Twitter 基础设施架构的演进过程,一直以来都是全世界技术公司眼中的标杆案例。在 2010 年之后,大量企业跟进了 Mesos,包括 Uber、Airbnb、eBay、Netflix,以及国内的携程、去哪儿等一众企业。

 

可能是计算机历史上最短的技术战争

 

Mesos 的创造者 Ben Hindman 等于 2013 年建立了名叫 Mesosphere 的初创公司,旨在打造一套生产级商业化 Mesos 平台。最终成果是一套名为 DC/OS(数据中心操作系统)的管理平台,号称将成为集群服务器的主控系统。他们还打造了 Marathon,这款工作负载编排平台明显是将 Kubernetes 设定成了竞争对手。Mesosphere 的目标是将数据中心改造成具有凝聚力的计算复合体,并在中心内部提供一套新型运营环境。

 

但谁也没想到,几年后 Docker 成为了改变游戏规则的人。在 2015 年的短短几个月里,Docker 公司凭借一款非凡的新型工具彻底颠覆了服务器工作负载自动化市场。从那时起,数据中心基础设施不再单纯侧重于服务器,而是以工作负载为中心——强调负载的可移植性、灵活性与安全完整性。

 

2015 年 6 月 22 日,作为回馈开源社区热情支持的一份谢礼,Docker 将基于 Linux 的软件容器包装格式捐赠给 Linux 基金会,并正式定名为开放容器倡议(OCI)。但就在同一周,谷歌闪电出手,将 Kubernetes 项目的管理权移交给了另一个 Linux 基金会项目:云原生计算基金会(CNCF)。

 

之后,Docker 公司当初想培养的这片市场就已经被很多人称为“Kubernetes 生态系统”。在当时的工作流编排领域,主要有三家竞争参与者:Kubernetes,也源自谷歌内部原名为“Borg”的项目;Docker Swarm,已经开始与商业 Docker Enterprise 产品共同交付的集群管理器;Apache Mesos,用于“非镜像工作负载”(包括 Hadoop 与 Spark 大数据系统等)的服务器集群调度与管理方案。

 

起初,Mesos 代理负责在各组件之间分配工作负载。但不久之后,Kubernetes 也在这一领域有所建树。Mesosphere 的一部分技术人员认为这两款编排工具完全可以并行存在,也有人觉得可以把 Kubernetes 环境作为 Mesos 模板的工作场景。

 

但想象总是美好的。

 

面对 Kubernetes 无可匹敌的市场优势地位,仅仅两年,Kuberneters 就胜局已定。经历了计算发展史上最“高效”的对抗之后,Docker 与 Mesosphere 也只能认怂、转而寻求新的发展方向。

 

Mesosphere 于 2019 年 8 月正式更名为 D2IQ(内部员工将其称为「Day 2-IQ」),推进品牌重塑。他们继续开发所谓“Mesosphere DC/OS”产品。但 Mesosphere 所提供的诸如 Marathon 等上层解决方案在其产品线路的位置已经被 Ksphere 取代。Ksphere 是一款用于管理及分配容器化工作负载的组件,其中也包括仍然沿用原名的 Mesphere Kubernetes Engine(MKE)。Mesosphere 于 2020 年 10 月停止支持 Mesos / Marathon。

 

“Mesos 的失败是种必然”

 

如果真的存在技术“生态系统”,那么这座代表生态的高山从来就容不下二虎。超市的商品陈列可以兼容不同品牌,但跟这种商品不同的是,计算机技术领域就没有哪两种产品能够长期保持双头垄断地位。

 

技术专家张磊在2016年容器技术年终盘点文章里总结道:

 

“社区”两个字,竟成了 Mesos 生态的命门。在 Docker 公司煞费苦心在社区争取每一个用户和粉丝、Google 公司放下身段把 Github 作为一线阵地,用 Kubernetes 全力输出技术理念的时候,一旦错失了先机,哪怕有一身本事如 Mesos 项目,也只能望用户而心叹。这正是目前 Mesos 生态系统在容器圈子表现的不够强势的重要原因。当然,既然实力强劲,Mesos 生态在工业界中的案例还是数不甚数,除了 Marathon 框架,Mesosphere 公司重点维护的 DC/OS 项目其实能够提供并不逊于 Kubernetes 的各项容器编排和管理能力,不可谓不强大。但是社区表现不力,使得 Mesos 生态错失了成为容器圈的“buzz word”(热词)的机会。

 

2019 年,曾作为 Mesos“代言人”的 Twitter 华丽丽的宣布其基础设施将从 Mesos 全面转向 Kubernetes:“我们认为,使用 Kubernetes 项目作为 Twitter 公司基础设施向前演进的核心依赖,将会是一个正确的选择”。

 

昨天,Apache 提交“将 Mesos 移至 Attic”的进程之后,众多开发者对 Mesos 的开发时光予以了怀念。

 

作为 Mesos 项目的 PMC 成员,Ben Hindman在 Hackernews 上总结说:

 

“回顾过去,我认为 Mesos 的失败是种必然,原因有以下几点:

 

  • Kubernetes 拥有后发优势,承载着谷歌十多年来在构建此类系统方面积累起的丰富经验与知识。Mesos 则源自技术研究,随后虽然得到了 Twitter 的实际应用,但负责项目的工程师们(包括我本人)并不具备构建集群管理系统的经验。我们在探索当中学到了很多,回头来看,如果能有第二次机会、我们肯定会认真调整设计思路。

 

  • Mesos 这个项目做得有点‘小气’,导致社区变得支离破碎。为了正常使用,新用户们不得不付出大量重复劳动。很明显,大多数用户只想运行服务、作业与 cron 作业,但 Mesos 的设计思路并不是这样。大家必须得从一系列生态系统调度程序(包括 Aurora、Marathon、Chronos 以及 Singularity 等)中进行选择,或者自主构建某些内容。

 

  • Mesosphere 是一家靠风险投资支持的初创企业,后来则由 Twitter 接手赞助项目发展。正因为如此,我们必须找到一种能够产生收益的商业模式,这就导致我们与用户乃至其他供应商之间产生了紧张关系、甚至是严重的不信任感。相反,谷歌/k8s 不要求任何直接产出,反而可以不断投入大量资金与丰富的人才资源,由此带来的技术成果单靠增强谷歌自己的云计算业务就足以值回票价。”

 

他总结道:“即使没有出现 k8s,Mesos 也很可能被其他开箱即用类方案所压制。必须承认,Mesos 很难像其他开源项目那样建立起供应商与贡献者团结一致的友好氛围。随着时间推移,Mesos 也许会朝着这个方向发展,但目前还看不到希望。”

 

曾担任 Mesosphere 架构师和技术总监的 Yujie 博士也跟帖表示:

 

“Ben 说得很对。我也是 Mesos 项目的长期 PMC 与提交者之一。纵观整段历程,我吸取的教训之一,就是如果从初始设计论文来看,Mesos 的两级式资源分配机制完全就是为运行批量工作负载(例如 spark、mpi 等)所设计。使用它来运行长期服务实际上是后来才做出的改变。我们最终发现,由于第二级调度程序缺少集群的完整视图且第一级调度程序没有足够的信息做出正确决策,我们需要对第一级调度算法进行大量调整才能确保公平性。而其中乐观型解决方案在本质上,其实就是对 Kubernetes 模型的复制。

 

Kubernetes 成功的另一个原因,可能在于 golang 生态系统。在 Mesos 中,由于采用独特的线程模型,我们耗费了大量精力在 C++中构建基础 HTTP 层。如果能够重新选择,真希望能把这些时间花在开发点真实有用的功能上。

 

容器技术的快速发展,得益于开源软件社区的成功。如今,Mesos 社区已经逐渐淡去,但容器还依然处于技术世界的中心,正所谓“Mesos 已死,容器永生”。

 

延伸阅读:

https://www.infoq.cn/article/interpretation-of-2016-container

https://www.infoq.cn/article/672*aX6aQ1FB0QT1RRAM

https://news.ycombinator.com/item?id=26713082

2021-04-08 16:279944

评论

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

释放千行百业数据价值,华为云DAYU有一套

华为云开发者联盟

大数据 数据湖 华为云 数据价值 dayu

来学Python啦,用Python详细讲解温度转换器

Bob

Python Python 游戏编程 4月日更

函数

奈奈奈奈

Rust从0到1-结构体-方法

rust 方法 struct 结构体 method

传统金融体系vs新金融体系,区块链改变了什么?

CECBC

金融

如何只用一个小时定制一个行业AI 模型?

华为云开发者联盟

自然语言处理 AI 华为云 hdc ModelArts Pro

区块链BaaS服务平台开发,助推中小企业快速落地

13828808769

区块链+ #区块链#

我叫小M,立志建立MySQL帝国。

yes

MySQL

场景化面试:能聊聊你对充血模型和贫血模型的理解吗?

面试官问

领域驱动设计 DDD 充血模型 贫血模型

区块链给普通人带来的机会!

CECBC

区块链

maven中心仓库OSSRH使用简介

程序那些事

Java maven 程序那些事

文字识别:关键信息提取的3种探索方法

华为云开发者联盟

深度学习 文字识别 图结构 关键信息提取 栅格

知乎高赞:为什么同样是分布式架构的Kafka需要Leader而Redis不需要

中间件兴趣圈

分布式 raft 一致性 数据分片

优秀程序员必备技能之如何高效阅读源码

中间件兴趣圈

方法论 源码解读

Angular,AngularJS 和 react

HoneyMoose

并发的HashMap为什么会引起死循环?

Java小咖秀

容器 hashmap 并发

趁早

小天同学

个人感悟 成功 4月日更 恋爱 趁早

什么是你上大学才知道的事情?

🌍

4月日更

基于树莓派和OpenVINO的边缘计算

IT蜗壳-Tango

IT蜗壳教学 4月日更

「开源免费」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之序列号自定义组件(四)

crudapi

Vue crud crudapi 序列号 quasar

starforce源码解读二:游戏入口

风翱

Unity 源码解读 4月日更

7.1 Go语言从入门到精通:Cobra介绍

xcbeyond

cobra Go 语言 4月日更

我用Rocket-API实现了开放平台

棒锤🐮

强化区块链应用 破解知识产权运营难题

CECBC

区块链

如何在 GitHub 上选择合适的开源工具和项目

耳东@Erdong

GitHub 4月日更

从金融到物联网 区块链的落地应用将如何改变世界?

CECBC

区块链

关于Go语言,你不得不知的并发模式!

博文视点Broadview

构建基于Spring Cloud向Service Mesh框架迁移的解决方案及思路

xcbeyond

架构 云原生 Service Mesh 解决方案 引航计划

容器&服务: ClickHouse与k8s架构

程序员架构进阶

Kubernetes Prometheus Clickhouse 28天写作 4月日更

「编程概念」融合理解函数式和面向对象

顿晓

面向对象 4月日更 函数式 融合

世界五百强第一的沃尔玛在用区块链做什么

CECBC

区块链

Mesos已死,容器永生_服务革新_Tina_InfoQ精选文章