中秋节前,数人云技术团队推出了一款新的基于SwarmKit技术栈的工具。大家可能都了解到数人云的容器技术栈是用Mesos驱动的,为什么在Docker刚发布最新的1.12版之后,我们要做出这个工具呢?在这里分享下我们的心路历程。
稳定可靠,还是简单易用?
时至今日,Docker技术在国内容器圈已成为实质性的应用分发标准,国内的容器公司都在以Docker作为自己的技术栈,围绕该技术进行突围。Docker Swarm技术是容器集群软件,在它发布之前,已经有Kubernetes、Mesos这两套优秀的容器编排工具,Swarm的出现让社区感到困惑,大家看不清楚Docker的方向。Docker公司当然并没有止步不前,后续又推出了SwarmKit套件,把Swarm的精华注入到Docker这个单一的二进制文件中,让开发者可以非常方便地获取原有的集群能力。
这种颠覆是非常挑战原则的——我们到底需要的是稳定可靠的基础设施,还是简单易用的基础设施?这种疑惑在容器圈炸开了锅。Docker秉承了Unix原则把每一块都做的很小巧、简单,但它又颠覆性地把模块都绑定在一起。大家知道,一个系统级程序应该是一个程序只做一件事,做到松耦合是前人的经验结晶,没有人愿意打破这个规矩。然而,Docker却在打破它,这种创新付出的代价就是Docker的架构越来越让人担心,担心它无法在生产级别中使用。在我看来,Docker技术引发的思想碰撞非常值得尊敬和学习。
最近,以红帽为代表的公司开始提供Forked版本的Docker,从社区运营的角度来看,社区的分化在一定程度上对Docker发展是有害的。因为Docker这个软件目前是由Docker公司掌握的,OCI标准实质上并没有起到开源标准的作用。这个现状把Docker公司推到了风口浪尖。从技术角度来看,激烈的竞争让Docker出现多个Forked版本,直接推动了技术的进步,亦不失为一件好事。
中国有一句成语:合久必分,分久必合,放在这个场景下描述Docker的现状是最合适不过的。从社区运营的角度来说,Docker本身的项目在Github上有3万Star,1万Forked。这种热度的开源项目已经屈指可数,我没有细查排名,但足以说明Docker是一个由全球开发者共同创造的工具。由于商业利益,无形中把开发者的贡献割裂开来,这是任何一个社区的开发者都不愿意看到的局面。所以,不管是追随Docker技术,还是打击Docker技术都会让人纠结。我本人的观点是,结合前人的经验,不管黑猫白描,只要能抓到老鼠就是好猫。
对于数人云来说,深入Docker技术本身,为企业提供有力的工具是我们高效产出的最好体现,很多技术争论的对错本身没有错,只是太耗费人的精力,最终容器技术的方向,还是让我们拭目以待看Docker公司如何应对。
更多技术栈的包容
数人云技术团队为了帮助广大技术爱好者对Docker新版本有快速直观的感受,制作了一款基于最新SwarmKit特性的容器管理工具Crane,具备一定容器开发经验的开发者可以通过它在第一时间体验Docker的新特性。数人云Crane在开发者和数人云之间建立了一条新的纽带,将集结越来越多的技术爱好者把Docker技术的推动落实到实现上。为了让企业用户了解更多Crane的原理,我们还在Github上把代码开放出来,让更多的开发者参与进来,一起推进真正的容器技术的发展。
数人云在继续专注Mesos技术栈的同时,包容更多的容器技术。数人云现有两版产品——数人云操作系统和容器管理面板Crane。数人云操作系统针对企业客户,帮助传统企业实现IT业务转型,更好地应对业务变化。而数人云容器管理面板Crane针对开发者,强调简单易用。我们认为,容器创业公司的目的就是帮助客户试错,并提供更方便的容器产品以及解决方案,这就是数人云的价值。
数人云Crane是一个极其简化的管理控制面板,它结合了国外最先进的容器技术和数人云对容器技术的认知和实践,数人云选择将它开源也是为了帮助更多的用户理解容器的好处和限制。开源的好处是用户可以参与进来一起讨论场景,帮助大家一起成长。
数人云Crane的发布是数人云迎来全容器新阶段的信号,数人云是一个容器技术驱动的公司,我们用容器技术驱动业务,未来我们会制作更多的新产品来满足不同层面的用户。
可以说,数人云Crane是在Docker技术能否持续下去的争论中发布的工具。国内容器圈对于Docker技术也是存在各种质疑和争论。但技术就是技术,毋庸争辩,Docker技术确实是一项新技术,值得我们应用起来推动自己业务的发展。所以,我推荐大家试用数人云Crane,体验一下新技术带来的改变。当然,数人云将一如既往的追求商业技术的稳定和发展,如何把Docker技术更好的结合起来,仍然是我们需要认真对待的课题。大家看看Mesos社区,就会发现Mesos技术本身也在发生巨变,原来基于HTTP socket的API,在汲取Restful的经验之后,于1.0版本全面转向了Restful JSON API。最近该社区又引入了UnifiedContainer(MESOS-2840)、Pod(MESOS-2449)等概念。很多人认为,这不是在和Docker唱反调么?其实,这就是容器技术的演进。新技术的演进在内部发展之快,正好说明容器技术的趋势是受到业界关注的。对于数人云来说,我们更关注的是产品的技术特性和使用体验,对于技术内部的演变,我们的态度是拥抱变化,为更多的应用可能提供基础。
数人云容器管理面板Crane是一个面向最终用户的工具,代表着数人云技术团队一种技术驱动的态度。我们深刻理解业界容器圈的担忧和争论,数人云期望通过务实的产出来表达一种观点,那就是数人云是一家以开源技术驱动的容器公司。期望更多的同道中人能加入我们,一起参与到容器技术的变革大潮中。