Docker 员工自述:Docker 为什么输给了Kubernetes?

一、前言


Docker 还活着。尽管它近两三年的境况并不理想,但它还在苦苦挣扎,试图找到自己的商业价值。就在上周,Docker 宣布更改 Docker 软件的许可条款。在不久的将来,为大企业工作的 Docker Desktop 专业用户需要付费订阅才能继续使用。

与此同时,Docker 还推出了一项专门针对企业的新订阅计划,即 Docker Business。新条款于 8 月 31 日生效,但 Docker 给出了截至 2022 年 1 月 31 日的宽限期,以便开发人员遵守新服务协议并在有需要的时候购买付费订阅。

不出所料,Docker 的举措引发了开发者的讨论。虽然许多人表示理解 Docker 新订阅背后的考虑,但也表达了他们的不满。批评主要分两类,有些人认为 Docker 的决定开创了有潜在“危险”的先例,未来它可能会增加订阅成本。不过,其他人表示,这种观点并没有考虑到团队如果不得不依赖“维护不善”的开源软件时,会产生更高的成本。

另一方面,人们最担心的是企业内部采购流程的难度,这可能会“劝退”开发者继续使用 Docker,自然而然地,不少人开始探索替代方案,包括 Minikube、Canonical 的 MicroK8s 等。

至于开发者和企业会不会觉得 Docker Desktop 的替代方案更方便,又或者选择支付订阅计划所需的少量费用从而保持现有工作流程不变,还有待观察。

Docker 的商业尝试无可厚非,但更遗憾的是,Docker 从未成功将技术创新转化为可持续的商业模式,还被迫在 2019 年 11 月将企业业务出售给 Mirantis。

今天,广受欢迎的开源编排工具 Kubernetes 已经取代了 Docker 为自己设计的利润核心 Swarm 企业容器编排工具。于是,Docker 苦心经营多年的利润还是“泡了汤”,之后只能半死不活地挣扎求存。但是,真实的故事要比这复杂得多。近日,外媒 InfoWorld 采访了数位前任及现任 Docker 员工、开源贡献者、客户及行业分析师,试图从这个分崩离析的故事中找寻真相。

二、“每件事都只能浅尝辄止”


严重依赖巨额风险投资、竞争格局不断变化加上各大云巨头都想分一杯羹,Docker 这家年轻企业面临的压力实际远远超过大多数人的想象。

Docker 从 2014 年左右开始认真考虑将自身的容器市场领先地位转化为可变现商业战略。2014 年与 2015 年,该公司分别用一部分风险投资收购了 Koality 与 Tutum,同时也推出了 Docker 企业支持计划的首个迭代版本。

这些投资后来催生出了 Docker Hub 等产品——大家可以把它理解成是 Docker 镜像的 GitHub(目前仍然存在)——最终又成就了 Docker Enterprise。但这些产品一直没能真正受到企业客户的认可,他们通常乐于同更成熟的合作伙伴携手,或者是自主构建而非直接采购解决方案。因此 Docker 只能继续努力开发客户真正想要的产品组合。

Docker 创始人 Solomon Hykes(于 2018 年 3 月宣布从 Docker 离职)在接受采访时指出,“我们一直拿不出优秀的商业产品,原因是我们始终无法集中注意力。我们对每件事都只能浅尝辄止。单是维持开发者社区的增长并构建一款伟大的商业产品就已经够难了,当时我们还需要同时开发三到四款。很遗憾,我们在这方面投入了大量精力和金钱,但没能在任何一条道路上走到终点。”

事后来看,Hykes 认为 Docker 不应该急于开发产品,而最好能更多倾听客户的意见。Hykes 感叹道,“我本来没必要急着扩大商业产品的规模,反倒该用更多资金从社区中收集洞察见解,并建立起一支理解需求、有能力解决需求的团队。我们在 2014 年曾经面对转折点,但我们觉得自己等不及了,所以在急切当中做出了决定。实际上并没那么急。”

也有人认为 Docker 过早把好东西免费发布了出来。今年年初,谷歌的 Kelsey Hightower 在采访中表示,“他们相当于是免费推出了自己最有份量的王牌。他们已经解决了问题,而且是全面解决:设计镜像、构建镜像、存储镜像、运行镜像。之后还剩什么?没有空间了呀。”

Hykes 并不同意这样的观点。“我认为这说法不对。一般来讲,核心开源产品先要创造巨大的增长,之后才能找到可行的商业化机会。很多企业都成功实现了 Docker 的商业化,只是 Docker 自己没有。Docker 中的很多东西都可以成功商业化,只是 Docker 自己没做成。”

例如,Red Hat 与 Pivotal(现属于 VMware)都是 Docker 的早期合作伙伴。他们将 Docker 容器集成至自己的商业 PaaS 产品(分别是 OpenSHift 与 Cloud Foundry)当中,并为开源项目做出了贡献。

如今回忆起来,Hykes 还觉得他混淆了“社区与生态系统”这两个概念。Red Hat 根本“不是社区中的一部分,他们也从来不真正在乎 Docker 到底能不能成功。我们错误地希望让 Red Hat 成为社区中的一部分。回想起来,这样的伙伴关系永远不可能给 Docker 带来助益。”

因此,旅游科技企业 Amadeus 等早期客户从 2015 年起转向 Red Hat,借此填补 Docker 留下的企业应用空白。其云平台负责人 Edouard Hubin 表示,“我们直接从先驱用户转型为 Red Hat 的主要合作伙伴。我们在这种模式下使用 Docker 开源版本,并由 Red Hat 为我们提供容器技术支持。容器化是颠覆虚拟化的重大技术变革的第一步,而真正改变了企业游戏规则的是容器编排解决方案。很明显,Docker 没能压制住 Kubernetes,最终被迫陷入极为困难的局面。”

Docker 公司前 CEO(2013 年至 2017 年)Ben Golub 则表示,“正所谓「神仙打架、凡人遭殃」。我们都知道,这场风暴的中心其实并不在于 Docker,而是各大云服务商之间的惨烈搏杀。他们都想把 Docker 拉向自己的方向,而选择忠于我们最初设立的价值观与业务根基简直像是在钢丝上跳舞。”

这位前任 CEO 指出,随着 Docker 的不断发展,这一切因素都自然而然造成一种“紧张”的氛围。Golub 回忆道,“我们希望建立起伟大的社区并通过开发者产品获利,同时还希望打造一款出色的运营商产品,帮助客户大规模构建并部署容器。虽然愿景在此,但我们很快意识到自身必须迅速扩大规模,而且拿不出太多时间来平衡社区发展与商业企业转型这两条路线……作为一家初创企业,我们每天在匆忙中做出上百个决定,之后就是祈祷自己能少犯点错。”

推荐一个 Spring Boot 基础教程及实战示例: https://www.javastack.cn/categories/Spring-Boot/

三、与 Kubernetes 谈不拢的合作:自负与傲慢


纵观整个发展历程,Docker 做出了很多令其追悔莫及的决定,但其中最严重的一个当数拒绝接受 Kubernetes 作为首选新兴容器编排工具。面对这位新朋友,Docker 摆出了敌对的架势、一意孤行地推进自己的专有 Docker Swarm 编排工具。

事实上,Docker 公司在 2014 年本来有机会与谷歌 Kubernetes 团队开展密切合作,并在过程当中把控整个容器生态系统。

Docker 最早一批员工、也是效力时间最长的 Jérôme Petazzoni 表示,“我们最大的错误就是错过了 Kubernetes。当时我们正处于集体心态膨胀的状态,我们认为 Kubernetes 太复杂了,Swarm 一定能获得成功。这种错误判断也最终让我们陷入了集体失败。”

据多位亲历者证实,双方在谷歌旧金山办公室内展开的紧张讨论中包含众多技术细节,两边对于容器编排的具体实现方法也都有着明确而强烈的己见。

Kubernetes 联合创始人、现任 VMware 公司副总裁 Craig McLuckie 表示,他曾提出将 Kubernetes 捐赠给 Docker,但双方未能达成协议。他在采访中提到,“两边确实有点互相看不起的意思。我们从 Docker 那边感受不到任何开发经验,感觉上这群年轻的暴发户根本不理解分布式系统的管理秘诀。”其他在场人士也提到讨论氛围并不正式,当时的主要诉求就是寻找联合开发的可能性。但无论如何,两边团队未能达成任何统一的意见,于是最终分道扬镳。谷歌则在 2014 年的夏季推出了 Kubernetes。

Hykes 也承认,当时 Docker 与谷歌团队之间的关系非常紧张。“有那么一刻,我们的自负占据了上风。谷歌拥有很多既聪明又富有经验的人才,但 Docker 这位局外人却被胜利冲昏了头脑。我们没在谷歌工作过、也没上过斯坦福大学、更没有计算机科学博士学位。有些人不想让对方来瞎掺和,于是这就成了一场自我之战、「反智」之战。最终,Docker 与 Kubernetes 团队之间充满意义的合作就这样胎死腹中了。”

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

做任何事情都要用心,要非常关注细节。看起来不起眼的、繁琐的工作做透了会有意想不到的价值。
当然要想成为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。

更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
47017)]

[外链图片转存中…(img-VT1Hj17j-1711964847017)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 29
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值