所以,Apache Mesos是________? 可以说,Apache Mesos是为构建和运行其他分布式系统提供服务的分布式系统。它将CPU 、内存、存储介质以及其它计算机资源从物理机或者虚拟机中抽象出来,构建支持容错和弹性的分布式系统,并提供高效的运行能力。Mesos使用与Linux 内核相同的系统构建原则,只是它们处在不同的抽象层次上。Mesos内核运行在每台机器上,通过应用程序Framework ,提供跨整个数据中心和云环境进行资源管理和调度的API。
3 基于Mesos的DCOS其实是Mesos衍生的生态系统之一
下图是基于Mesos衍生的生态圈。值得一提的是,像Twitter、Airbnb、苹果这样的大公司几乎都是自己搭建基于Mesos的基础设施。但开源的Mesos是一项非常尖端的技术,通过开源工具手工装配,并将Mesos用于生产环境是非常高难度的。这也是Mesosphere DCOS的价值所在。Mesosphere推出的DCOS,具备和Twitter、苹果公司同等的能力和自动化效果。
下面介绍三种基于Mesos衍生的生态系统: Mesosphere DCOS 从Mesosphere官网了解到,Mesosphere DCOS是以 Mesos为“核心”,与其周边服务及功能组件所组成的一个生态系统。它跨越数据中心或云环境中的所有主机,将所有主机的资源放入一个资源池,使所有主机的行为整体上像一个大计算机。 Mesosphere DCOS内部架构图
由图可见,Mesosphere DCOS除了内核Mesos,还有两个关键组件Marathon和Chronos。其中,Marathon(名分布式的init)是一个用于启动长时间运行应用程序和服务的框架,Chronos(又名分布式的cron)是一个在Mesos上运行和管理计划任务的框架。此外,Mesosphere DCOS还有Mesos-DNS这样的插件模块,它类似一个CLI,一个GUI又或者是提供你想运行的所有的包的仓库等工具。 Mesosphere DCOS 可以运行在任意的现代Linux环境,公有或私有云,虚拟机甚至是裸机环境,当前支持的平台有亚马逊AWS,谷歌GCE,微软Azure,Openstack等等。据Mesosphere官网显示,Mesosphere DCOS在其公有仓库上已提供了40多种服务组件,比如Hadoop,Spark,Cassandra, Jenkins, Kafka, MemSQL等等。 浙江移动与天玑联合研发的DCOS 下图为该DCOS内部架构示意
由图可见,“核心”Mesos负责集群中所有节点资源的动态调度与管理。其上还包括DCOS管控平台,容器应用框架等重要功能组件。该运营商表示,上述DCOS平台不仅具备灵活弹性的伸缩能力,为系统提供高效的平行扩展来应对突发的业务高峰,而且Mesos与Docker的结合极大简化业务运维复杂度,实现自动化部署与应用程序升级,Mesos还可为资源管理提供高容错性,自动辨别服务器、机架或网络出现的故障等。
苹果公司基于Mesos重建的Siri后端服务 在MesosCon 2015上,苹果公司分享了在生产环境中使用Mesos的经验。原来苹果用了近一年时间从原有的基于VM的环境迁移到基于Mesos的环境。他们使用Apache Mesos重建了个人助理软件Siri的后端服务,并创建了一个名为J.A.R.V.I.S.而且类似PaaS的专有调度Framework,由此,开发者可以部署可伸缩和高可用的Siri服务。据说其Mesos集群规模保守估计有10,000个节点,支持Siri应用程序的后台系统包括约100种不同类型的服务,应用程序的数据则存储在Hadoop分布式文件系统(HDFS)中。从基础设施的角度来看,使用Mesos 有助于使Siri具备可伸缩性和可用性,并且还改善了iOS 应用程序自身的延迟。
结束语
此刻,你是否已经对Mesos和DCOS有了新认识呢?其实近年来,随着云计算的快速普及,Docker为代表的容器技术如火如荼,企业用户越来越关注基于云计算的下一代IT架构变革,而软件定义数据中心(SDDC)的理念也逐渐被接收。Mesos技术正是在这样的大环境下应运而生,有了基于Mesos的数据中心操作系统,企业可以方便地对数据中心资源进行统一管理,这无疑是IT架构质的飞跃。相信不远的未来,以Mesos为代表的一系列SDDC技术将成为业内的新热点。