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