容器平台武林盟主争夺大战

96
潘晓华Michael
1.2 2019.05.08 16:47* 字数 1999
容器平台武林盟主争夺大战

容器技术是继虚拟化技术后又一革命性的后台技术,厂商为了争夺容器PaaS的话语权,必将发起一场声势浩大的战争。谁也没想到挑起这场革命性战争的竟然是一家仅3年的创业公司——dotCloud。

2013年前:大战前夕——一片祥和

  • 虚拟化技术已经深入人心,以aws与openstack为主的云平台已经非常成熟。
  • PaaS理念也得到了普及,cloud foundry成为当时PaaS的标准

cloud foundry吸引了包括百度、京东、华为、IBM 等一大批国内外技术厂商,开启了以开源 PaaS 为核心构建平台层服务能力的变革。“PaaS 的时代就要来了!”

  • PaaS公司有:Cloud foundry、Heroku、Pivotal、Red Hat
  • PaaS 项目被大家接纳的一个主要原因,就是它提供了一种名叫“应用托管”的能力。

2013年容器武林大战——一鸣惊人

Docker横空出世
  • 2013年3月:一家创业公司dotCloud开源了它的产品Docker,解决应用构建、分发与发布的问题,它的最大改进是引入了镜像构建。

Cloud Foundry 的首席产品经理 James Bayer 做了一次详细对比:Docker 使用的还是老技术 Cgroups 和 Namespace ,没有什么特别的新东西,掀不起什么浪。
Docker一经发布,便得到的社区的追捧,各大厂商也都相继合作,推出基于Docker的PaaS产品,它的一个小创新,却给迷茫已久的PaaS指明了前进的道路。

  • 2013年6月:Redhat开始了基于Docker的容器平台Openshift的研发
  • 2013年10月:RedHat正式与dotCloud合作
  • 2013年:CoreOS成为Docker项目的贡献者,并在短时间内成为了 Docker 项目中第二重要的力量。
  • 2013年10月:Google发布了自己所用Linux容器系统的开源版本lmctfy(Let Me Container That For You)

面对Docker的强势崛起,Imctfy毫无招架之力,很快关停了该项目,并希望与Docker公司合作共同推进一个中立的容器运行时库作为Docker项目的核心依赖。
Docker拒绝了与Google的合作,不久发布了一个容器运行时库 Libcontainer。

2014年容器武林大战——三国鼎立

三国鼎立
  • 2014年-2015年:Docker 项目的迅速走红催生出了一个非常繁荣的“Docker 生态”

Docker 生态创业公司们的春天,大量围绕着 Docker 项目的网络、存储、监控、CI/CD,甚至 UI 项目纷纷出台,也涌现出了很多 Rancher、Tutum 这样在开源与商业上均取得了巨大成功的创业公司。

  • 2014年6月6日:Google发布了一个名叫 Kubernetes 项目,并早早与RedHat建立合作关系,共同维护推广。

面对着如日中天,而又野心勃勃的Docker,Google终于坐不住了。大家一致认为:Docker作为底层技术,对终端用户影响力终究有限,容器之战最终仍旧会落在PaaS之争上。借助于RedHat在开源软件上的经验与优势,Google强势推出了自己的杀手级产品Kubernetes。

  • 2014年6月10日:Docker 1.0版本发布
  • 2014 年 7 月:Docker 收购 Orchard 掀起了收购的序幕 ,将Fig项目更名为compose

Fig 项目之所以受欢迎,在于它在开发者面前第一次提出了“容器编排”(Container Orchestration)的概念。

  • 2014年10月15日:Azure云和Docker共同举办了Docker全球开发者大会。微软与Docker正式达成合作关系。
  • 2014年12月:Docker公司与CoreOS公司决裂,推出了自己研制的 Rocket(后来叫 rkt)容器。
  • 2014 年12月:Docker公司发布Swarm项目,重新加入PaaS项目战场。三国鼎立形成。

coreos公司的rkt打不开局面,Fleet集群管理项目更是少有人问津,coreos公司完败。
RedHat公司作为日期Docker的贡献者也与Docker公司决裂,只剩下Openshfit上一代Paas平台,被Mesos与Swarm碾压。

2015年容器武林大——论持久战

  • Mesosphere 公司发布了一个名为 Marathon 的项目,它是Mesos的私有PaaS,很快就成为了 Docker Swarm 的一个有力竞争对手。

虽然不能提供像 Swarm 那样的原生 Docker API,Mesos 社区却拥有一个独特的竞争力:超大规模集群的管理经验。

  • 2015年:3月Docker公司收购SocketPlane、Kitematic,10月收购Tutum。Docker在公有市场,企业化的私有市场都有了完善的解决方案
  • 2015年4月8日:Google和CoreOS宣布了一个新项目Tectonic。Google投资了CoreOS $1200万,CoreOS正式投入Google阵营
  • 2015年5月:Docker公司正式进驻中国。
  • 2015 年 6 月 22 日:由 Docker 公司牵头,CoreOS、Google、RedHat 等公司共同宣布,Docker 公司将 Libcontainer 捐出,并改名为 RunC 项目
  • 2015年7月:谷歌与Linux基金会以及众多行业合作伙伴准备共同建立一个云计算基金会(CNCF),Kubernetes1.0发布
  • 2015年7月:Openshift Enterprise V3发布,结合Docker与K8s
  • 2015年:传言微软希望40亿美元收购Docker,以摆脱对K8s的依赖,最终没成

2016年容器武林大战——背水一战

  • 2016年:微软公司也于2016年正式推出Windows容器。
  • 2016年:Docker公司放弃现有的 Swarm 项目,将容器编排和集群管理功能全部内置到 Docker 项目当中。Docker希望利用广大的Docker用户群,实现Swarm的普及,但是适得其反,Docker变得很复杂,稳定性下降。

K8s的战略则恰愉相反,整个社区推行“民主化”,从 API 到容器运行时的每一层,Kubernetes 项目都为开发者暴露出了可以扩展的插件机制,鼓励用户通过代码的方式介入到 Kubernetes 项目的每一个阶段。很快Docker的Swarm败下阵来,丢失了开发者的支持。

  • 这一次容器社区的繁荣,是一次完全以 Kubernetes 项目为核心的“百花争鸣”。

istio/Operator/Rook等等

  • Docker的背水一战,并没有挽回局势,败局已定。

2017年容器武林大战——清扫战场

  • 2017年3月29日:Docker将 Docker 项目的容器运行时部分 Containerd 捐赠给 CNCF 社区
  • 2017年4月:Docker 开源社区版改名为 Moby
  • 2017年8月10日:Openshift 3.6版本
  • 2017年10月:Docker公司在自己的Docker 企业版中内置 Kubernetes 项目

2018年容器武林大战——天下一统

  • 2018 年 1 月 30 日,RedHat 宣布斥资 2.5 亿美元收购 CoreOS。
  • 2018 年 3 月 28 日,Docker 公司的 CTO Solomon Hykes 宣布辞职。

至此容器武林重归太平,K8S稳坐武林盟主之位。

武林盟主

Docker作为一家创业公司,通过开源社区的运作取得了巨大的成功之后,雄心勃勃,直面天下武林世家的竞争与围剿,孤身一人对抗整个云计算产业的压力,最后以惨败收场,前景堪忧。
但是也因此容器技术在短短几年间深入人心,得到了飞速的发展。

各大门派旗帜

武林世家.png
openshift
Web note ad 1