作为四年前刚刚诞生的新生儿, Docker 已然给云计算、应用交付等多个领域带来革新, Docker 的席卷之势空前巨大。不论是技术领域有什么独到之处,还是时势造就了如今大好的局面,我们都没有理由不来细细品鉴 Docker 这四年来的种种发展。
本期「坐而论道」, Docker Swarm 全球 Maintainer 孙宏亮 ( Allen ) 将为大家解读 Docker 技术发展历程和 Docker 社区生态的建设。还有 Docker Birthday #4 Meetup 的精彩预告,点击此处报名,来现场和 Docker 大咖论道!
Docker 的诞生要回溯到 4 年前。在 4 年之前,PaaS 概念还是雏形,换言之, PaaS 在当时未必是个很成熟的概念,企业级落地面临很多障碍。这时,硅谷有这么一群人做了一个 PaaS 平台 —— 名字叫做 DotCloud。他们的 CEO 就是如今 Docker 的 Solomon Hykes ( Docker 创始人兼 CTO )。正如刚才所说,在 PaaS 的概念尚未成熟的情况下, DotCloud 这家公司坚持做 PaaS ,势必意味着失败。
失败之后,就像我在《 Docker 三年回顾:梦想依然在,人生正当年》那篇文章中总结的一样,痛定思痛, Solomon 觉得 PaaS 的时机在四五年前尚未成熟。但是,在创业过程中,他们感受到一些事物可以给整个行业带来更多的价值,这个技术就是容器技术。他们把当时 DotCloud PaaS 平台中的容器技术,以开源项目的形式向全世界公布,这就是如今的 Docker 。
这时 Docker 已经初具雏形,它的确对整个 IT 世界带来了巨大的变革,也有越来越多的开发者参与到了 Docker 社区当中。当社区的发展如日中天之后,公司直接把 DotCloud 的 PaaS 业务卖掉了,选择专注做 Docker , 这就是 Docker 公司的诞生。
这家公司一步步发展到如今,四年时间一直聚集着全世界的目光。虽然它已经卖掉原来的 PaaS 业务,但仍然保留着公司的技术核心——容器技术。
事物的发展都要经历从不成熟到成熟,经历过不成熟的周期之后, Docker 这家公司反过来依附 Docker 技术 ,又逐渐回到 PaaS 平台。因为 PasS 平台是真正可以给一家公司带来足以支持未来企业发展的收益。
这四年间确实有很多翻天覆地的变化。我认为这些变化是由几方面的因素促成的:
第一方面,整个行业对容器技术的要求不断提高,达到更良性的状态。在这种情况下 Docker 会出现技术和结构上的变化。
另一方面, Docker 虽然是一个开源项目,但它是由一家商业公司支持。商业公司的商务诉求肯定也会在 Docker 软件中有所体现,这也会对 Docker 的技术或架构造成影响。这是外来的需求。
内部和外部两方面诉求,推动了 Docker 技术的变化。
说到具体的变革,我认为 ,在最初的两年, Docker 要迅速构建起开发者生态,开发者生态要围绕开放性和镜像。 Docker 公司要维护好镜像,确保镜像的唯一性和全球唯一,不允许他人复制。
但是到了两三年之后,在开发者生态达到令人满意的状态,在稳定占领开发者市场之后, Docker 公司要考虑的是,如何真正地帮助企业解决问题,包括调度、网络问题等。
到了最近一年,编排概念在行业当中变得非常活跃。面对这种场景, Docker 必须要构建自己的壁垒。这未必是技术壁垒,但很有可能是商业壁垒。依附于 Docker ,将 swarm mode 这种编排模式加入其中,就构建了现在这样一个模型。
因此,技术变革大致可以分成 3 个部分。第一部分,构建开发者生态;第二是解决客户的需求,包括网络、存储、调度等方面;第三,主要是随着行业中容器生态向编排发展的趋势, Docker 公司必须要构建商业壁垒或者技术壁垒。
这两者之间势必会有矛盾,这也是大家有所争论的地方。在技术的世界里,往往很多工程师以乌托邦的情节来看待技术,例如他们认为开源技术,就必须要按照开源的运作方式,非常纯粹地运营。但事实往往并非如此。这时社区里面会产生争论,比如说有些人觉得软件的架构要非常纯粹,层次非常清晰,但是 Docker 现在层次的一些变化,就会引起他们的不满。这就是带来的一些冲突。
我觉得软件的开源可以迅速够建起用户生态,在开放的环境下,用户的参与度也会越来越高。 Docker 社区的主要推动者是 Docker 这家公司,因此该项目成长的初期,聚拢在 Docker 周边的较为集中的管理方式反而有利于事物的迅速崛起。当然,容器生态中同样会有一些负面的生态,认为 Docker 呈现出了些许封闭的状态。在如今残酷的商业环境下,一家公司如果想要容纳所有声音,同时要快速发展,在我看来很难实现。所以从这个角度来讲,与其他的技术社区相比,随着商业性的融入, Docker 的开放性会有一定程度的萎缩;但是,它的发展速度会非常快。
Docker 公司投入了很多精力,在容器生态里, Docker 开源项目拥有最多的全球贡献者。这也得益于 Docker 公司在前期做了很多铺垫工作,引导所有的开发者参与其中、共同维护这个项目。从这个角度来讲,包括 Docker Engine 本身,我们也可以认为它几乎是最稳定的。但从数据统计来看,最稳定并不意味着没有 bug ,这是从软件学角度来讲。。
Docker 4 周年的活动也即将到来, DaoCloud 联合 Docker 主办了这次社区性的活动。我觉得最大的看点,就是我们非常有幸地邀请到了来自 Docker 公司 DevOps 专家 John Willis,他将给我们分享 DevOps 方面 3 个非常重要的关键点,对企业践行 DevOps 肯定会有很多的启发。
与此同时,这也是一个技术盛宴,我们也会带来一些非常欢乐的环节,让大家在这个社区里面玩得开心的同时也能够学到东西。
我个人在不同城市的介绍内容会有所不同。在北京,我主要会介绍 Docker 现在的新发展,rolling update 等新功能的进展以及它的实现。在上海和深圳场,我会作为 Docker mentor ,做一些 Docker 相关的实验 Demo。例如如何作为开发者来构建镜像;构建镜像之后,如何部署,如何来通过健康检测的方式来让大家感受到 Docker 的魅力。同时,如何部署服务,部署一个分布式系统。我的所有的 Demo 只是想让大家知道一点,无论开发者还是运维人员, Docker 所有操作都非常简便,这也是 Docker 容器技术给我们带来的好处。
福 利
DaoCloud 作为 Docker Birthday 4 周年生日会中国地区的唯一承办方,将在北京、上海、深圳和成都举办 4 场四城联动 Docker Birthday 四周年 Meetup 。点击此处,立即报名 Docker Birthday Meetup 活动!
下期我们将从 Docker 在企业落地的角度为大家解读 Docker 过去四年的发展。