对于Docker公司而言,将2017年形容为艰难的一年恐怕都有些轻描淡写。事实上,除了Uber之外,我真的想不到其它哪家被沸沸扬扬的炒作新闻所包围的硅谷初创企业会像Docker这样经历糟糕透顶的一年。未来的人们在回顾Docker公司的发展历程时,会将2017年视为这家重要软件公司被糟糕商业惯例所摧毁,并最终走向灭亡的起点。通过今天的这篇文章,我们将对Docker公司的错误作法进行回顾,并探讨其为何已经很难或者说太迟于解决这一切难题。
需要明确的是,Docker公司确实在软件开发的这一波革新当中发挥了重要作用。能够将cgroups、命名空间、进程隔离等Linux原语纳入至同一工具当中绝对是个了不起的成就。2012年,我曾经尝试弄清如何让开发环境变得更具可移植性。Docker的崛起使得开发环境最终转化为一个简单且具备版本控制能力的Dockerfile。其工具链将Packer、Vagrant、VirtualBox以及其它多种基础设施共同转移至Docker阵营当中。Docker UI实际上也做得相当出彩!总而言之,我认为Docker团队的成员应该为他们所打造出的工具而自豪!
Docker公司的早期成功使其快速以产品为核心建立起一套庞大的社区。此外,快速发展同样带来了极为顺利的资金流引入。高盛、格雷洛克风投、红杉资本以及洞见风投等纷纷为Docker公司提供大量资金。截至目前,Docker公司的融资总额已经达到2.42亿到2.5亿美元之间。
不过同其它不少资金充裕且诞生于2010年代的初创企业类似,Docker公司同样遭遇到一系列人力资源失误。Docker公司对其中的一些蹩脚成员盲目加以保护[1],这导致我个人对其领导层并不欣赏。虽然产品本身的质量值得肯定,但公司的行为则令我无法认同。更遗憾的是,很多硅谷宠儿都存在这样的问题,且显然有必要作出改变。
随着Kubernete的兴起,Docker公司的厄运可谓加速降临。Docker公司一直未能找到应对开源社区容器编排新宠Kubernetes的好办法。Docker公司旗下的Docker Swarm是其所拥有的惟一容器编排工具。尽管Kubernetes率先向Docker容器示好,但Docker仍然拿出了自己的竞争性方案。而且根据记录,Docker方面曾在2017年年初通过文章、会议乃至其它大型活动对Kubernetes表达不满。
但通过本届于奥斯汀召开的DockerCon 17大会来看,
Docker方面突然决定全力支持Kubernetes。这种突然的变化显然是承认了Kubernetes的崛起已经不可阻挡。而Docker在2017年KubeCon + CloudNativeCon北美大会上再次陈述此项决定,无疑更进一步强调了这一结论。
没人了解Docker在今年4月的DockerCon 17大会上到底为什么要宣布Moby。Moby据称属于Docker项目的新上游,然而考虑到事前毫无先兆,因此当Solomon Hykes在DockerCon 17大会上加以宣布时引发了大范围的震惊与争议性情绪。为了解决这波冲突,GitHub方面的工作人员甚至选择直接加以干预[2]。
事实上,此项转变不仅管理水平低下,且消息传达也没有得到很好的考虑。Docker方面随后就此事作出道歉,并作出了进一步解释。但这进一步混淆了已经令人摸不清头脑的容器空间与Docker(或者应该说是Moby?)生态系统之间的关系。Moby部署的处理工作仍然困扰着从来者们,而Docker品牌亦可能因此受到损害。
Docker公司对于Kubernetes在最后一刻才张开的迟到且尴尬的拥抱,代表着其即将遭遇崩溃。在被问及Docker Swarm实际上是否已经无以为继时,Solomon Hykes在推文中表示:“Docker将继续将Kubernetes与Swarm作为首选方案中以支持,并鼓励二者间的交叉补充。开放性与选择性将为每个人创造出更为健康的生态系统。”但这里的问题在于,Docker Swarm还远远称不上成熟。事实上,Docker Swarm产品团队及其少数开源贡献者根本无法跟上Kubernetes社区那迅猛的发展步伐。而且与Docker UI一样,Kubernetes UI同样非常出色。就目前来看,Docker公司本身似乎正开始沦为一家容器领域中的边缘咨询企业。
Docker公司的真正问题在于缺乏连续的领导。在该公司当中,每一任领导者都拥有自己的战略重点设定。这种断代性虽然距离公司的核心越来越远,但却仍然存在。通过重组,Docker公司已经将业务重心转移到企业领域。这种转变对于Docker的投资者们具有现实意义(毕竟该公司肩负有信托责任),但这种转变同时也会削减原本推动该品牌取得重大成功的根基。有人曾说过,“伟大的文明不是被消灭的,而只是在自取灭亡。”很明显,Docker再次印证了这种论断。
阴谋论:Docker公司知道自己已经没戏唱了。技术人员们决定大规模推出Moby,并突然接纳Kubernetes,这些都是为了给自己争取一点喘息之机。 #Docker #DevOps
——Chris Short (@ChrisShort) 2017年12月29日
我曾在推文当中提到Docker公司在2017年遭遇失利的理论性猜想。Docker方面很可能意识到自己已经没戏唱了。目前该公司的一系列组织性变革已经证明,其很可能即将退出市场(可能通过接受收购),而其技术核心也在对各类变化进行考量。如果能够将所掌握的成果捐赠给CNCF[3],使Moby成为真正的Docker上游,同时积极拥抱Kubernetes,那么Docker公司的这些贡献将流芳百世。在这样的背景下,甲骨文或微软这类巨头将可能对其进行收购,且不必担心因许可问题导致Docker员工无法作出更进一步的技术贡献。这无疑为Docker公司现有技术人员与收购方提供了两全其美的解决方法。不用说,2018年将成为Docker公司发展历程当中极为重要的一年。
相关链接:
https://twitter.com/mipsytipsy/status/723565091598147584
https://www.theregister.co.uk/2017/04/21/docker_renames_open_source_code_moby/
https://blog.docker.com/2017/03/docker-donates-containerd-to-cncf/
原文链接:https://chrisshort.net/docker-inc-is-dead/
基于Kubernetes的容器云平台实践培训
本次培训包含:Kubernetes核心概念;Kubernetes集群的安装配置、运维管理、架构规划;Kubernetes组件、监控、网络;针对于Kubernetes API接口的二次开发;DevOps基本理念;Docker的企业级应用与运维等,点击识别下方二维码加微信好友了解具体培训内容。