为何CoreOS和Docker的分手是命中注定
发布日期:2016-7-11 10:7:0
韦恩·格雷茨基曾说过:“我总是溜向冰球将达到的点,而不是追逐它曾在的地方。”关于Docker是否应该扩大产品的边界以扩张CoreOS的集群管理范围的争论由来已久,这也直接导致了CoreOS开发了自己的容器Rocket来与Docker争雄。此现象可被Clayton Christensen教授的 Law of Conservation of Modularity 一书中的观点合理地解释:“根据我们的研究,存在这样一种现象,当价值链上的一种产品在商品化的同时,与此同时在价值链上肯定会有一种当前产品非商品化的趋势,这种相互作用的进程就意味着,当新的破坏性浪潮冲刷一个行业的时候,差异化能力仍在价值链上不断的转移着。当发生这种情况的时候,那些将自身定位再不够完善的价值链区间的企业就能盈利” -Clayton Christensen, 第六章:创新者的方法。 关于Docker和CoreOS之间的这点事在科技界并不新鲜,在计算机产业发展的初期就曾发生过。当差异化能力在价值链上不断的转移的时候,力图拥有这种能力的人之间就会产生各种对抗。就像在冰球比赛中一样,总有人滑向价值将要产生的地方。历史不会重演,但是总是惊人的相似。起初,大型机的发展总是差强人意,因此被整体设计、制造和出售是一个大的趋势。IBM在这一整合的历史趋势中获得了大部分利润,因为它的供给能填补当时这种趋势中的不足。几年后,小型机和大型机已发展得足够完善了。这时利润从组装整个机器的整合资源者(如IBM和康柏)转移到各个部件的生产商了:操作系统(微软),处理器(Intel),存储器和驱动器。现在又到了整合资源的商家通过填补整合资源的空白来获取利润的时代了。 在台式机的领域里,处理器和操作系统一开始不那么令人满意,因此价值转移至此并不断被持续改善。但是存储器和驱动器就不那么幸运。当他们发展得足够好且能进行模块化操作时,利润早已被生产DRAM的厂家瓜分大半。在云服务领域,截至2013年云服务商(如阿里云)提供的虚拟机服务已足够完善而且成功商品化。发展得并不尽如人的方面是应用的重构、部署和多服务器的管理。这时涌现了一大批工具如puppet、chef 和ansible,但所有工具的表现不分伯仲。直到王者Docker在Github上的出现才打破了现有的格局。从模块化和整合化的方面来说,可认为Docker被设计的初衷是在独立封装和在任何平台都可以同步运行。Docker将操作系统、虚拟机、物理机和基于上面的操作整合起来进行商品化。同时提供了一系列的API,使得其他人能基于这些API进行操作。Docker不能商品化的部分是数据中心,我们稍后会解释为何特别强调这一点。 从一个开发者的角度,把应用封装在Docker的意义在于你可你整个云服务作为一个模块进行操作,这其中的模块只是一个可被替代的商品。Docker的伟大之处在于你可任意地把你的应用进行迁移而无需要做出其他改动。这对于谷歌这样的云服务的提供者可并非一个好消息,因为用户的迁移成本变得特别低。这时代,价值就从提供虚拟环境VM的云服务商流向Docker。Docker对于开发者的意义在于,封装应用只需Docker就够了。可预见的是将会很快出现一大批公司提供基于Docker的无差异的整合服务。最著名的无疑是CoreOS。CoreOS提供了分离式的Linux版本服务和基于容器Docker的集群服务。CoreOS剥离了虚拟机和容器Docker,并以单一集群和商品化的数据中心进行代替。价值再次进行转移,从Docker转向整合Docker之后提供的服务。无论他们承认与否,CoreOS与其友商都是其他云服务商(如阿里云)的潜在威胁:他们要将云服务以及其建立在之上的整合平台进行商品化。 感受到这样的威胁,如果采取调整自己的服务以适应Docker的发展这样的策略对于谷歌这样的云服务提供商来说并不奇怪。他们的服务可基于自己的硬件平台并将Docker整合在自己的服务里进行管理,这可使价值重新分布。但是令人大跌眼镜的是,谷歌又推出了自己的容器集群管理工具 Kubernetes,直到现在我还是不能够理解。那最后留给Docker的是什么呢?从一开始它提供了一个模块化的组件供其它应用使用。这对于其他组件是有很大价值的,但是对Docker却没什么价值,由于这个过程并不能够获得极大的利润。完全商品化并不是一条好的出路,对于Docker的投资人来说肯定也不会带来极高的回报率。 所以CoreOS肯定会把Docker当作一个商品的构成要素,当Docker意识到自己的价值不过是被像CoreOS这样的企业作为一个工具来创造价值时,Docker肯定不能够只是继续停留在OS层面提供价值。对于Docker来说,惟一的出路是向上一层发展。基于Docker进行构建和运行并且进行管理的整合式集群服务对Docker来说才有意义。CoreOS对这种变化是特别在意的,由于Docker对于他们来说 ,在开发者中间,是一个极大的潜在竞争者。最自然的反应就是构建一个新的容器作为和Docker进行博弈的工具从而支持他们本来自己的服务。Rocket从出生开始相对于Docker就有技术方面的优势,这是因为它本身就是CoreOS制造用来抵挡来自Docker的威胁。在不久的将来,集群管理也将会被完全商品化,价值将会流到别的地方,这种循环又会重新上演。
|