深入浅出Mesos(一):为软件定义数据中心而生的操作系统

简介:
我讨厌“软件定义数据中心(SDDC)”这个词,并不是因为我质疑这个概念,而是我发现很多公司都对这个词有误用,他们甚至直接把这个词拿来套用,并急于把自己定位为下一代数据中心的创新者。具体来说,我认为,在商用x86硬件上运行软件(应用)并不是什么SDDC解决方案,它也不具备虚拟化硬件到资源池的能力。真正的SDDC底层基础架构应该可以从运行于其上的应用程序中抽象出来,并根据应用程序不断变化的需求,动态且自动地分配、重新分配应用程序,然后运行于数据中心的不同组件之中。这就是为什么我一直兴奋地要在后面介绍Mesos,一个Apache开源项目。为什么我对Mesos如此兴奋?回想x86虚拟化之初对数据中心曾经的承诺:通过增加服务器利用率使其更高效,通过从物理基础架构抽象应用使其更敏捷。虽然收获颇丰,但是以虚拟机为单位,粒度仍不够精细,如果应用程序都过于庞大,那就难以充分实现这一承诺。如今,飞速发展的容器技术、分布式应用程序和微服务技术正悄然改变着我们对数据中心的运行和管理方式。

试想,可否整合数据中心中的所有资源,并将它们放在一个大的虚拟池里,代替单独的物理服务器;然后开放诸如CPU、内存和I/O这些基本资源而不是虚拟机?同样,可否把应用程序拆分成小的、隔离的任务单位,从而根据数据中心应用的需求,从虚拟数据中心池中动态分配任务资源?就像操作系统将PC的处理器和RAM放入资源池,使其可以为不同的进程协调分配和释放资源。进一步讲,我们可以把Mesos作为操作系统内核,然后将数据中心看为PC。这也是正是我想说的:Mesos正在改变数据中心,它让真正的SDDC成为现实。

接下来我先介绍下Mesos的历史。Mesos的起源于Google的数据中心资源管理系统Borg。你可以从WIRED杂志的这篇文章中了解更多关于Borg起源的信息及它对Mesos影响。Twitter从Google的Borg系统中得到启发,然后就开发一个类似的资源管理系统来帮助他们摆脱可怕的“失败之鲸”(译者注:见上图)。后来他们注意到加州大学伯克利分校AMPLab正在开发的名为Mesos的项目,这个项目的负责人是Ben Hindman,Ben是加州大学伯克利分校的博士研究生。后来Ben Hindman加入了Twitter,负责开发和部署Mesos。现在Mesos管理着Twitter超过30,0000台服务器上的应用部署,“失败之鲸”已成往事。其他公司纷至沓来,也部署了Mesos,比如Airbnb(空中食宿网)、eBay(电子港湾)和Netflix。

Mesos是如何让Twitter和Airbnb这样的公司,通过数据中心资源更高效的管理系统,扩展应用的呢?我们从一个相当简单但很优雅的两级调度架构开始说起。

上图修改自Apache Mesos网站上的图片,如图所示,Mesos实现了两级调度架构,它可以管理多种类型的应用程序。第一级调度是Master的守护进程,管理Mesos集群中所有节点上运行的Slave守护进程。集群由物理服务器或虚拟服务器组成,用于运行应用程序的任务,比如Hadoop和MPI作业。第二级调度由被称作Framework的“组件”组成。Framework包括调度器(Scheduler)和执行器(Executor)进程,其中每个节点上都会运行执行器。Mesos能和不同类型的Framework通信,每种Framework由相应的应用集群管理。上图中只展示了Hadoop和MPI两种类型,其它类型的应用程序也有相应的Framework。

Mesos Master协调全部的Slave,并确定每个节点的可用资源,
聚合计算跨节点的所有可用资源的报告,然后向注册到Master的Framework(作为Master的客户端)发出资源邀约。Framework可以根据应用程序的需求,选择接受或拒绝来自master的资源邀约。一旦接受邀约,Master即协调Framework和Slave,调度参与节点上任务,并在容器中执行,以使多种类型的任务,比如Hadoop和Cassandra,可以在同一个节点上同时运行。

我将在接下来的文章中,详细介绍Mesos的体系结构和工作流。我认为,Mesos使用的两级调度架构以及算法、隔离技术让在同一个节点上运行多种不同类型的应用成为了现实,这才是数据中心的未来。正如我之前所述,这是到目前为止我所见过的,履行SDDC承诺最好的现成技术。

我希望这篇介绍让你受用并吊起你了解Mesos的胃口。接下来,我将带你深入技术细节,教你一些上手方法,还会告诉你如何加入社区。

目录
相关文章
|
4月前
|
监控 区块链 数据中心
Arista EOS 4.35.0F 发布 - 适用于下一代数据中心和云网络的可扩展操作系统
Arista EOS 4.35.0F 发布 - 适用于下一代数据中心和云网络的可扩展操作系统
291 0
Arista EOS 4.35.0F 发布 - 适用于下一代数据中心和云网络的可扩展操作系统
|
运维 安全 Devops
Cisco NX-OS ACI 16.1(4h)F 发布 - 适用于 ACI 模式下的 Cisco Nexus 9000 系列交换机系统软件
Cisco NX-OS ACI 16.1(4h)F 发布 - 适用于 ACI 模式下的 Cisco Nexus 9000 系列交换机系统软件
131 0
|
5月前
|
Devops API 语音技术
Cisco NX-OS 10.6(1)F 发布 - 数据中心网络操作系统
Cisco NX-OS 10.6(1)F 发布 - 数据中心网络操作系统
148 0
Cisco NX-OS 10.6(1)F 发布 - 数据中心网络操作系统
|
9月前
|
网络协议 区块链 KVM
Arista vEOS 4.30.10M - 虚拟化的数据中心和云网络可扩展操作系统
Arista vEOS 4.30.10M - 虚拟化的数据中心和云网络可扩展操作系统
284 2
Arista vEOS 4.30.10M - 虚拟化的数据中心和云网络可扩展操作系统
|
10月前
|
Devops API 语音技术
Cisco NX-OS Software Release 9.3(15) - 数据中心网络操作系统
Cisco NX-OS Software Release 9.3(15) - 数据中心网络操作系统
222 5
Cisco NX-OS Software Release 9.3(15) - 数据中心网络操作系统
|
9月前
|
监控 区块链 数据中心
Arista EOS 4.34.0F - 适用于下一代数据中心和云网络的可扩展操作系统
Arista EOS 4.34.0F - 适用于下一代数据中心和云网络的可扩展操作系统
321 0
Arista EOS 4.34.0F - 适用于下一代数据中心和云网络的可扩展操作系统
|
8月前
|
存储 数据采集 监控
软考软件评测师—— 操作系统综合知识
本内容主要介绍了嵌入式操作系统(EOS)的特点,包括可裁剪性、实时性、统一接口、强稳定性、弱交互性、固化代码、硬件适应性和可定制性。此外,还涉及操作系统的概念与功能,如资源管理、工作流程组织和用户接口;以及不同类型的操作系统(批处理、分时、分布式、实时)。同时通过历年真题解析,深入探讨了嵌入式操作系统可定制性的含义、多线程资源共享规则、通用操作系统基本功能及页式存储管理等关键知识点。
|
10月前
|
数据采集 人工智能 运维
深度探讨操作系统运维、软件选型等社区标准,龙蜥标准化 SIG MeetUp 圆满举办
围绕软件选型、操作系统运维、RISC-V 三个方向的社区标准进行了分享与讨论。
深度探讨操作系统运维、软件选型等社区标准,龙蜥标准化 SIG MeetUp 圆满举办
|
12月前
|
安全 前端开发 开发工具
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
595 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
|
12月前
有哪些CAD软件支持(国产操作系统)麒麟操作系统
CAD梦想画图是由成都梦想凯德科技自主研发的轻量级CAD软件,专为国产操作系统如麒麟、统信设计。支持AutoCAD所有版本的dwg二维图纸,具备精准显示、测量、标注、绘图修改、文字查找及批注等功能,操作流畅,无需安装字体。用户可通过应用商店轻松安装,适合新手和专业人士使用。

推荐镜像

更多