CoreOS项目是Google ChromeOS代码的一个fork版本,目前已成为一个超级精简的服务器操作系统,进化速度堪比ChromeOS。
创始人背景
CoreOS项目才刚刚起步,但是Polvi和他的团队有着得天独厚的经验和资源。Polvi曾创立过开源软件(服务器软件Cloudkick)创业公司,目前已被云计算巨头Rackspace收购。CoreOS的开发顾问Greg Kroah-Hartman是操作系统领域的核心人物,目前受雇于Linux基金会,审核Linux内核代码。
图:Brandon Philips(中)和Alex Polvi (左)
另外两个合伙人——前Google员工Michael Marineau和Linux开发者Brandon Philips是Polvi在俄勒冈州立大学(一所与开源运动渊源颇深的学校)计算机科学专业就读时的校友,大约10年前,三人共同运营学校的Linux用户组。他们曾邀请Kroah-Hartman在周六来学校讲授关于Linux设备驱动程序的课程。
从那时起,四个人就成了好朋友,CoreOS在某种意义上成了四个人再次合作的契机。
项目简介
Kroah-Hartman表示早在五年前他就有类似于开发CoreOS的想法。传统的服务器操作系统,包括大多数Linux发行版,每隔几年都会更换。在这期间,开发者会不断用安全补丁和更新完善这个系统,但是不会进行特别大的改动,最终这个操作系统以及其上的软件会慢慢僵化。但是CoreOS的思想是成为一个随时可被替换的操作系统,甚至在这个替换的过程中,应用程序的运行不会被打断。
CoreOS有两个root分区,我们暂且称其为root A和root B。CoreOS会与更新服务进行交互,查找更新并自动下载可用的更新,如果初始状态下,系统在root A下启动,更新就会被安装到root B,重新在root B下启动系统就可以完成更新。这个个过程中,被更新的机器不需要从负载集群中移除。同时,为了保证其它应用程序不被打断,CoreOS会通过Linux cgroups限制更新过程中的硬盘和网络I/O。
CoreOS为现代网络的服务器量身定做,Polvi团队对这个服务器操作系统做了最大的精简,所有附加的功能都被剔除了,并将操作系统和应用程序做了完全的分离。CoreOS核心思想是降低操作系统和应用程序的耦合度,使运行这些服务器的公司可以更快速、更廉价地更新自己的线上业务。
在CoreOS中,所有应用程序都被装在一个个“集装箱(Container)”中,这些集装箱就像一个个软件代码的小气泡,通过最简单的接口运行在操作系统之上。这意味着你可以很轻松得将应用程序在操作系统和计算机之间转移,就像是在轮船和火车上搬运箱子一样,同时也意味着可以在不中断应用程序的情况下更新操作系统。Polvi说:“我们之所以能够持续、快速地更新操作系统就在于我们能够保证应用程序的持续运行。”
开发一个这样的系统比想象中要复杂的多,但是Google已经在ChromeOS上做了很多基础性的工作,并且一个现有的“集装箱”项目Docker也解决了很多软件构建的问题。CoreOS和ChromeOS一样,都基于Linux内核,运行container的方式也类似于其它Linux操作系统。
作为Linux内核开发者Kroah-Hartman可以监督应用程序在操作系统的挂载方式,保证这个项目不会与传统Linux应用程序的构建方式发生冲突。
业界评论
几周前,CoreOS举行了发行派对,并在网站上加入了Hacker News的链接。Polvi透露,约有1300家公司表示对CoreOS很感兴趣,其中50家左右是世界500强的公司,并且很多都已签署协议对CoreOS代码进行测试。
这个项目也得到了Rackspace总裁兼董事会成员Lew Moorman的财政支持,Moorman曾在Cloudkick的收购案中与Polvi共事。作为一家拥有上万台服务器公司的总裁,Moorman说:“虽然刚刚起步,但我相信未来的应用程序都会如此构建。目前,这还不是主流,但是能够轻松管理大量机器的轻量级系统的价值毋庸置疑。”
OpsCode(其业务是帮助公司管理服务器)的联合创始人Adam Jacob认为CoreOS正是数据中心需要的操作系统,公司不需要依赖更加复杂和昂贵的软件就可以扩展其在线业务。
安装试用
你可以在Vagrant、AWS EC2实例或QEMU下安装CoreOS进行试用,官网上有详细的安装文档。