【编者按】Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。Mesos最初是由加州大学伯克利分校的AMPLab开发的,后在Twitter得到广泛使用。InfoQ接下来将会策划系列文章来为读者剖析Mesos。本文是整个系列的第一篇,简单介绍了Mesos的背景、历史以及架构。
注:本文翻译自 Cloud Architect Musings ,InfoQ中文站在获得作者授权的基础上对文章进行了翻译。
最近我一直在写Apache Mesos的系列文章,目前已经完成的内容如下:
包括技术考量在内,我同样对Mesos项目本身的进展颇为兴奋。所以,我想从以技术为重点的文章中走出,做些关于Mesos项目的总体观察。正如我此前在推文中所说的,我对Mesos一直颇具深刻印象的是它的三个特点:
借此机会,我要说下近来大家对Mesos的认识,我发现人们已经非常容易掌握Mesos的概念,并了解其技术的价值。这对于正在发展并寻求扩大其覆盖面的项目来说是至关重要的。一个项目中的技术所带来的切实利益是非常重要的,它能让人心生向往并积极参与在社区中。
正如本系列第二篇文章中所述,我看到了在效率、商业敏捷性和可扩展性等方面,Mesos带给数据中心的很清晰的好处。随着分布式应用程序和微服务的流行,越来越多的用户正在寻找一种技术,以帮助他们管理这些复杂的应用程序。因此,我们看到越来越多的人在关注着Mesos项目和 Mesosphere ,Mesosphere是一家基于Mesos来构建商业产品的公司。
Mesos项目的另一个重要优势是对其作用域的限制。Mesos被设计成一个数据中心资源管理系统,Mesos具备其主要功能,并避免超越设计理念的诱惑,至少在这之前,已经建立了一个坚实的基础。相信Mesos项目已完成了两件重要的事情,使Mesos不会过早迷失于作用域之外。
建立了坚实的基础——诱惑是永远存在的,新的技术总是会不断地增加新的功能。当功能驱动开发并以代码的稳定性为代价时,问题随之而来,特别是疏于确保新增加的模块不会破坏已有模块的时候。Mesos项目已经为此做出了很好的工作,Mesos关注于修复社区中报出的缺陷并加强现有功能,并不鼓励人们不断地追逐闪亮的新事物。
构建了强大的生态系统——为了专注于资源管理和控制Mesos架构的规模,该项目启用了插件化的Framework生态系统。在大多数情况下,Mesos项目避免了为每个应用程序建立一个调度器或者严格限定一个隔离模块。这使得不同的社区可以参与其中,例如Hadoop社区和Docker社区都可以为Mesos开发插件。可以预见Mesos项目的好兆头,因为拥有一个强大的生态系统是其在软件领域成功的必要条件。
在做好培养一个强大生态系统的同时,Mesos项目做到了避免让太多的厂商太早介入。相反,似乎有一个最终用户和厂商合作的极佳组合。这其中的主要原因是因为Mesos是为特定问题,提供解决方案的,而不是像AWS那样针对通用的问题。不管是什么原因,阻止大量厂商的介入以及该项目日趋成熟,使得Mesos社区的成长没有厂商政治干预、利益斗争,以及过度的商业诉求等包袱。我不是说这些挑战就没有,但Mesos至少不是一个基本上由厂商控制的项目,Mesos可以以一个自然的步伐去成长。就像Linux项目,厂商的参与是以匹配客户的兴趣和使用,自然而然地发生的。
正如你所知道的,我很期待Mesos项目的未来,当更多的最终用户走进分布式系统的世界之时,希望可以看到Mesos在数据中心操作系统内核中发挥的价值。同时,我鼓励大家学习和参与进来。David Lester在这篇 采访 中讲述了一些与此相关的方法, David Lester 是Twitter的工程师和开源倡导者。
本系列的后续文章将讲述如何搭建Mesos集群、如何为部署和管理应用程序,集成和编写Framework。同时,我鼓励读者提供反馈,特别是关于如果我打标的地方,如果你发现哪里不对,请反馈给我。我非全知,虚心求教,所以期待读者的校正和启示。我也会在 twitter 响应你的反馈,请关注 @hui_kenneth。
查看英文原文: APACHE MESOS: OPEN SOURCE COMMUNITY DONE RIGHT
感谢郭蕾对本文的策划和审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 )。