
google 拥有许多数据中心,它如何进行管理呢?答案就是软件系统 borg。通过 borg,公司可以将众多数据中心视为一个电脑,进行统一管理。borg 是公司保存最好的秘密之一。不过,twitter 工程师们开发了一个类似的系统,并且是开源的。这就是 mesos。wired
网站为我们揭开了 mesos 开发背后的故事。
borg 由工程师 john wilkes 主导开发。他并不喜欢 borg 这个名字,“我乐意称其为那个不会被命名的系统”。google 使用这个系统已经有九到十年的时间,而且他的团队正在开发新的版本,代号是 omega。
通过 borg,google 可以在大量的服务器之间有效分配任务。根据 wilkes 的说法,这个系统非常有效,它为 google 节省了一个数据中心。
borg 是 google 的秘密。不过,twitter 的工程师已经构建了一个类似的系统:mesos。mesos 计划的创始人是 ben hindman。
mesos 项目开始于 5 年前。当时 hindman 在加州大学伯克利分校攻读计算机科学博士学位。他从英特尔那里获得了一些实验性的计算机芯片。这些芯片是“多核处理器”。通过将芯片结合在一起,他构建了 64 核,甚至是 128 核的机器,并且编写了软件系统,以便在这些芯片间均衡地分配任务。在此过程中,他意识到,这个系统可以应用到整个数据中心,“单一芯片上的 64 核或者 128 核,看起来很像是一个数据中心的 64 台或 128 台机器”。
与此同时,他的一些朋友,包括 andy konwinsik 和 matei zaharia,正在开发跨数据中心的软件平台,就是“分布式系统”。hindman 和朋友们决定一起开发项目。他们合作的成果是 mesos,一种更有效地运行分布式系统的方法。通过 mesos,他们可以在单一的服务器集群上运行多个分布式系统。
在 mesos 计划开始一年后,hindman 和他的同事在 twitter 进行了演讲,并引起了 twitter 三位工程师的兴趣。这三个人曾在 google 工作。他们告诉 hindman 说,他们怀念 borg,mesos 似乎是重构这个系统的完美方式。
很快,hindman 成为 twitter 的顾问,与这些前 google 工程师们一起扩展了 mesos 项目。他最终成为了 twitter 的全职员工。
mesos 项目引起了 google 的注意。john wilkes 说,“我们发现他们在做的事情,我开始安排他们到这里,大概是每六个月来一次,只是聊聊天”。
mesos 与 borg 的基础理念是相同的。根据 hindman 的说法,google 构建的新版本 borg omega,会更接近 mesos 模式。
由于 mesos 的开源性质,一些公司已经开始使用它,包括 airbnb 和 conviva。borg 也会在不久的将来揭开面纱。john wilkes 说,google 近期会发表关于 borg 的论文,因为公司相信这类工具已经达到一定的成熟度了。
wired 网站认为,从长期来看,会有越来越多的公司跟随 google 和 twitter 的步伐。