随着时间的推移,Docker开始根植于我们的日常生活当中。代表Docker的鲸鱼吉祥物图像开始成为各类现代开发者网站以及博客页面的背景,由此掀起的巨大话题激起技术领域的广泛关注,我们甚至再也无法将关于Docker的印象从头脑当中抹去。
然而,在这一切辉煌的背后,技术社区中开始有不少人认为Docker正一路朝着沉没的方向前进。更具体地讲,Docker项目持有者以及管理者错误地设定了发展思路,并导致其陷入了充满绝望的境地。那么,这样的判断有没有依据?Docker真的快要不行了吗?或者说,这只是技术领域当中部分小年轻们一厢情愿的偏执?
Docker Swarm,一曲悲歌
目前,围绕Docker项目最严厉的批评与恐惧,在于该公司容器编排平台Docker Swarm的悲惨境遇。在本文中,我们不打算聊太多具体的技术细节。总而言之,Docker Swarm的设计目标在于提升可用性,帮助用户对一组服务使用容器技术并轻松加以管理。Docker Swarm成为该公司的赚钱希望,他们也为此砸下了超过2.72亿美元的研发资金。
但遗憾的是,Docker公司目前糟糕的处境,很大程度来自他们砸下重注打造的Docker Swarm被竞争对手尽数夺去了光芒。谷歌公司的Kubernetes拥有更为庞大的资源储备与运营预算,也成为希望保护投资回报的用户们更理想的方案选项。此外,AWS EC2 Container Service(ECS)的出现,则成为那些希望简化容器工作流程、摆脱设施构建与维护成本的团队的最佳选择。
这就带来了一种奇怪的状况——Docker Swarm这一官方解决方案,反而成了最没人气的选项。VMware等科技巨头已经全力投入Kubernetes阵营。另一方面,日活用户高达2700万的Riot Games等公司,以及跨越860台服务器上运行13000套容器的Expedia等巨头企业,都在使用AWS ECS。
其他企业吃掉了这么大的市场份额,Docker遇到财务问题自然也就不足为奇。在外流的备忘录中,可以看到虽然融资额度已经相当惊人,但Docker公司的现金流仍然入不敷出。如果说Docker Swarm无法成为成功的吸金驱动器,那么Docker未来的出路会在何处?他们又该如何走上健康的运营道路?
Docker,开放而又封闭的社区
Docker的麻烦始于项目的开源性质与管理思路,也终于开源。没错,Docker确实是一套开放平台,每个人都能够为其做出贡献并参与进来……但实际情况并没这么单纯。我们可能抱着巨大的热情准备好令人难以置信的Docker贡献集并提交了上去,但如果这些贡献与公司的发展愿望不一致,那各位恐怕要白费劲了。
当然,这一点与目前其他一些开源项目并没什么不同。贡献者总是会发现问题、加以改进、提交结果并等待审查。而项目的拥有者则根据自己的思路对贡献内容投出赞成或者反对票。在理想的开源项目当中,拥有者总是会赞同那些能够对代码库的发展拥有客观助益的贡献内容。换言之,成功的开源项目不会让一小拨管理者以闭门造车的方式考虑项目的未来,而愿意把这种权力下放给每一位使用并热爱着这个项目的参与者。
但Docker的问题在于,项目拥有者在审查方面拥有不容质疑的权威。他们不会问,“这项贡献会给Docker以及整个社区带来好处吗?”相反,他们的脑回路是“这项贡献能否给Docker带来竞争优势,从而推动Docker Swarm发展成编排领域的首选解决方案?”