【ArchSummit架构师峰会】精华内容上线75%,AI大模型中台从理念到实践的探索!>>> 了解详情
写点什么

Docker 的凋零与 Kubernetes 的兴起

  • 2019-10-24
  • 本文字数:3795 字

    阅读完需:约 12 分钟

Docker 的凋零与 Kubernetes 的兴起

本文最初发表在 The HFT Guy 的个人博客,经原作者授权,由 InfoQ 中文站翻译并分享。


导读:


Docker 和 Kubernetes 的区别是什么?为什么说 Docker 要灭亡,而 Kubernetes 要兴起呢?Docker 指的是 Docker engine(也叫做 Docker daemon,或最新的名字:Moby),它是一种容器运行时(container runtime)的实现,而且是最主流的实现,几乎就是容器业界的事实标准。Docker 是用来创建和管理容器的,它和容器的关系就好比 Hypervisor(比如:KVM)和虚拟机之间的关系。当然,Docker 公司对 Docker engine 本身的定位和期望不仅仅在于在单机上管理容器,所以近年来一直在向 Docker engine 中加入各种各样的高级功能,比如:组建多节点的 Docker 集群、容器编排、服务发现,等等。而 Kubernetes,是搭建容器集群和进行容器编排的主流开源项目(由 Google 发起并维护),适合搭建 PaaS 平台。容器是 Kubernetes 管理的核心目标对象,它和容器的关系就好比 OpenStack 和虚拟机之间的关系,而它和 Docker 的关系就好比 OpenStack 和 Hypervisor 之间的关系。一般来说,Kubernetes 是和 Docker 配合使用的,Kubernetes 调用每个节点上的 Docker 去创建和管理容器,所以,你可以认为 Kubernetes 是大脑,而 Docker 是四肢。因此,在这样的背景下,Docker 逐渐式微,而 Kubernetes 崛起,就毫不奇怪了。我们曾发表过《Docker 麻烦大了》,由此可见一斑。


正文:


就在几年前,Docker 遍地开花。每一家中小企业都采用它,或者即将采用它。


3~5 年后,Docker 还剩下什么?嗯,不多。


让我们将这个问题换一种说法,以便说得更准确些。现在,有哪家公司还会关心 Docker?令人惊讶的是,答案居然为零。


这个世界总是在不断前进。

Docker 就业前景如何?

如果你只是 Docker 专家,那么,你现在就有麻烦了。现在没有什么岗位需要 Docker 的专业知识,而你就要面临失业的危险了。


Docker 专家的意思是,非常熟悉容器化概念和特定于 Docker 的实现,以及在生产环境中构建、运行和调试容器的经验。


以下是 2017 年的典型面试问题:


  • 什么是 Docker?

  • 什么是容器?

  • 虚拟机和容器之间的区别是什么?

  • 什么是构建 Docker 映像的最佳实践?

  • 如何构建容器?

  • 映像存储在哪里?

  • 什么是 cgroups?

  • 你能说出一些 Docker 的命令吗?


以下是 2019 年的 6 个典型面试问题:


  • 什么是 pod

  • 什么是部署

  • 什么是有状态集

  • 如何在不停机的情况下更新应用程序?

  • 什么是命名空间?什么时候使用?

  • 你能说出一些 Kubernetes 的命令吗?


2019 年那些面试问题都是小菜一碟,是吧?但世界上所有的 Docker 专家却无法回答这些问题。这些都是 Kubernetes 的概念,一个全新的学习世界。如果你是 Docker 专家,为了能够保持就业的优势,在竞争中立于不败之地,请认真阅读,更好地跟上当前的技术吧!


最近,公司对 Kubernetes 有强烈的偏见。他们真的在寻找具有 Kubernetes 的经验(最好是很多年的生产经验)的独角兽。

Kubernetes

Kubernetes 几乎在一夜之间改变了格局。在这个过程中,Kubernetes 还修改了关于容器和编排的每一个术语(有关一些实例,可参阅上面的问题)。


曾经被称为 Docker 的东西,现在只被称为“容器引擎”(Docker Engine)。这种巧妙的营销手段取得了巨大的成功。就像汽车的引擎一样,容器引擎依然存在,事实上它无处不在,包括作为依赖项与 Kubernetes 一起运行,但它的存在被忽略了,被所有人遗忘。


只需参加会议和求职面试,你就会发现,Kubernetes 现在已经无处不在,但容器引擎却销声敛迹,不知所踪。


这就是浮在大海上的冰山可见部分。Kubernetes 正在垂直整合整个生态系统,并成为首选解决方案。


在幕后,这是一个微妙的举动,将 Docker 重新定位一个可替换的引擎,等待被推出。有多个玩家在发挥激励作用,并积极努力将其淘汰(如 RedHat、Google、Amazon 等等)。

Kubernetes 争取到了管理层的认可

Kubernetes 在 Docker 失败的地方取得了成功,得到了管理层的认可。


只要在财富五百强企业工作,并关注高层管理会议、全体员工大会、公告和其他大型公司活动,你就会发现,它指出了时间和金钱的去向,为未来铺平了道路。


一半时间是在未来铺路,另一半时间用来做预算和自我推销。不管怎样,这都是正确的道路。


你可能会注意到,经常反复出现的主题是:#Cloud #Kubernetes #AWS #AI #MachineLearning #BigData #BlockChain(猜猜哪个是游戏规则的改变者,哪个是时髦语)


计算一下 Kubernetes 被提及的频率,你将会发现,几乎在每一个事件中都有提及 Kubernetes,重复了很多次。而容器引擎自今年年初以来,被提及的次数恰好为零(注意,今年还有两个月就过去了)。


财富五百强企业在 Kubernetes 进行了大量的投资:更多的员工,公开招聘,咨询业务,高达 6 位数和 7 位数的支票拨给企业提供商和承包单位。而一分钱都不会给 Docker。


显而易见的是,在这一阶段,Docker 完全没有从企业中获利。

钱都去哪里了?

首先也是最重要的,DevOps 人员,无论是全职员工、承包商还是顾问。请记住,与软件许可证或硬件不同,人力资源总是在推动项目和成本。对工人来说,只不过是个简短的插入语,而在承包 / 咨询方面则有很多机会。显然,对于 Google 前员工或其他为这些技术做出贡献的人来说,这个市场尤为火爆。


对于中小型企业来说,他们通常是在云端上。大笔资金正在流向 AWS EKS、AWS ECS、Google GKE 或 Microsoft Azure。


对于中大型企业来说,他们采用的是内部部署或混合部署。大笔资金流向了 VMWare(虚拟机仍然很强大)、Pivotal Cloud Foundry 和 RedHat OpenShift。


对于企业咨询来说,最大的竞争对手似乎是 Heptio,它刚刚被 VMware 以 4 亿美元收购(这是一笔明智的收购)。顺便说一下,VMware 很快就会在 vCenter 之上推出完全托管的 Kubernetes 解决方案。


Kubernetes 也需要一个容器注册表。云端中的托管解决方案有自己的注册表,这是账单中的另一个明细项目。


在现有前提下,要么是免费注册,要么是付费的商业解决方案,Quay 在一段时间内似乎成了主导者。注册表市场最近可能有点饱和,因为所有的东西都跃升为注册表,包括 gitlabgithub、nexus 和 artifactory 在内。


容器引擎注册表在商业版可用。然而奇怪的是,从来没有在任何公司中发现它的影子,也没有遇到任何使用它的人。我们真的很想知道它是否有客户或收入。这可能是最大的商业失败之一,就跟 Apple 公司当初推出自家地图服务各种出糗一样。


译注:2012 年,Apple 在 iOS6 不再使用 Google 地图服务,推出了自家的 Apple 地图服务,但却因错误百出而被用户密集吐糟,Tim Cook 曾就地图错误被迫公开致歉,承认 Apple 地图服务确实搞砸了,并建议用户使用 Google 地图服务。

Podman 来了

由于所有位都可以通过不同的解决方案来单独使用,因此,或多或少都可以进行管理。唯一需要替换的是容器引擎本身。


不用多说,接受挑战!从 RHEL 8 开始,RehHat 就开始计划扼杀它,很显然,他们在用自己的引擎来取代它。他们的引擎就叫做 Podman。


有没有可能毁掉一个命令,或者更甚,一个品牌?再甚,一家供应商?如此下去,就这样吗?


是的。在最近的历史上,这样的事情已经发生过很多次了。最著名的例子之一就是 MySQL。MySQL 在 2010 年左右被 Oracle 收购,随后被社区抛弃而惨遭淘汰。后派生出来的分支称为 MariaDB。如果你在过去十年里曾运行过 apt-get install mysql 的命令,那么它很有可能安装的是 MariaDB,以透明的方式进行别名和替换。


长话短说。对 RedHat 来说,对 docker => podman 做同样的事情简直就好像在公园里散步一样。

谁会买下 Moby?

九轮融资共计 2.72 亿美元。要让投资者获得回报,出售价格必须相当高才行。


话虽如此。不要陷入一个常见的错误,认为公司就一定会失败,变得一文不值。按照硅谷的标准,一家不成功、没有增长的公司,仍然是一家非常受人尊敬的中型企业。一家只有几百名员工的普通企业可能价值 1 亿美元。人才收购或杀手级收购,可以带来 100 万美元的人均收入。


目前的员工人数显示公司在 100~250 人之间,不管用什么标准来衡量,这家公司都不值它所筹集到资金。


不过,更糟糕的情况可能还没有到来。这种趋势很有可能是下降而不是上升。我对看到本文的员工要道一声抱歉。员工们都在离开,他们可以从负面新闻和其他更好的机会看到潮流的转变。


唯一有价值的可能是公共镜像注册表。来自所有注册会员和组织的个人资料和联系方式(销售线索或其他货币化)。再加上一个直接的自动化部署管道,几乎可以连接到世界上的每家公司(暗黑模式和恶意软件的潜力是无穷无尽的)。回想一下,2012 年 SourceForge 以 2000 万美元的价格出售分发广告软件。


所有的东西都包括在内,还有些价值需要补偿。接近 8 位数而不是 10 位数。



请称我 Moby


即使有买家,假设是其中一个常见的潜在买家,如 RedHat/Pivotal/VMWare/AWS/Google/Microsoft。为什么今天买东西,明天就掉了一半价呢?当你已经把替代产品 / 服务卖得更好时,为什么还要去买呢?对于任何人来说,没有谁真正获得压力。


作者介绍:


The HFT Guy,定居英国伦敦的开发人员,掌握多种技能,拥有扎实的软件工程背景和硕士学位。他在软件公司、金融科技、航空航天、银行、咨询和政府项目方面有着广泛的经验。他的生活哲学理念是“活着是为了创造,创造是为了谋生。”HFT 是高频交易(High-frequency trading)的意思,作者以此为笔名,是为了勉励自己争取成功和成就。


原文链接:


The demise of docker and the rise of kubernetes


2019-10-24 16:3812700

评论 3 条评论

发布
用户头像
有点激进。。。MySQL还活得挺好吧,MariaDB替代MySQL还很遥远
2019-12-03 15:57
回复
用户头像
有了K8S,Docker变成可替代的了
2019-10-30 11:28
回复
用户头像
Docker当年卖给微软多好
2019-10-27 22:40
回复
没有更多了
发现更多内容

创意世界在 Photoshop 上运行~

真大的脸盆

Mac ps Mac 软件 Photoshop 2022下载

必知必会的JavaScript前端面试题篇(二),不看后悔!

控心つcrazy

如何通过Logstash将MySQL数据同步到ElasticSearch

北桥苏

php MySQL elasticsearch Logstash

Windows下hadoop环境搭建之NameNode启动报错

北桥苏

大数据 hadoop

2023最新后端中大厂面经&在面试过程中如何反问?

Java你猿哥

Java ssm java面试 面试官 Java面经

毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题

做梦都在改BUG

Java spring Spring Boot 框架

Logstash如何批量同步MySQL多表到ElasticSearch

北桥苏

elasticsearch Logstash ELK Stack

由Elasticsearch7.8评分脚本引起的一个索引迁移解决方法

北桥苏

elasticsearch Logstash ELK Stack

C++编译器和链接器的完全指南

小万哥

c++ 程序员 面试 后端 开发

Kubernetes CNI之Flannel网络模型分析

王玉川

Kubernetes 云原生 flannel VXLAN cni

系列课程:从零开始接触人工智能大模型(介绍)

茶桁

逆袭!阿里专家手码23版Java面试三件套,Github星标直线狂飙

Java你猿哥

Java 微服务 面经 算法题 java核心知识点

Go语言中如何通过接口来实现单一职责原则

Jack

如何优化Golang中重复的错误处理

乌龟哥哥

三周年连更

Logstash同步MySQL一对多关联表到Elasticsearch父子文档

北桥苏

elasticsearch Logstash ELK Stack

深入探秘OpenTelemetry Agent奇特的muzzle机制

骑牛上青山

Java Java Agent OpenTelemetry

使用Spring Boot接入ChatGPT

Java你猿哥

Java spring Spring Boot ssm ChatGPT

一篇文章教你在业务开发中高效玩转TDD(测试驱动开发)

Java你猿哥

Java ssm TDD

【RabbitMQ】| 带你 (超详细) 从0到1使用SpringBoot操作RabbitMQ

Java你猿哥

Java spring Spring Boot ssm RabbitMQ

单调栈模板总结及应用

timerring

算法

PoseiSwap:合规、隐私与支持更广泛的资产

鳄鱼视界

比起失业我更害怕自己“一无是处”|社区征文

轻口味

个人成长 移动端 三周年征文

利用 Amazon API Gateway 和 Amazon Lambda 处理 Cloudfront 的内容请求

亚马逊云科技 (Amazon Web Services)

23年最新Java岗常见面试题及答案(1000道),90% 的公司都会问到

Java你猿哥

Java MySQL zookeeper JVM java面试

奇葩的 Git 签名错误

HoneyMoose

Github标星90K!不愧是阿里大牛珍藏的LeetCode题解全彩小册

Java你猿哥

面试 算法 LeetCode ssm 算法题

干货力荐!京东首席架构师:亿级流量架构的核心技术文档

做梦都在改BUG

Java 架构 亿级流量

深入解析Java适配器模式:将接口转换为你所需要的形式

做梦都在改BUG

Java 适配器

程序员晋升指南!13年顶级架构设计经验的锦囊妙计与实践分享

Java你猿哥

Java 架构 ssm 架构设计 架构师

Logstash同步MySQL关联表到Elasticsearch的嵌套文档中

北桥苏

elasticsearch Logstash ELK Stack

独一份,15年经验汇聚而成的《SpringBoot“踩坑”手册》首次开源

做梦都在改BUG

Java spring Spring Boot 框架

Docker 的凋零与 Kubernetes 的兴起_大数据_Thehftguy_InfoQ精选文章