写点什么

解读 2014 之 Docker 篇:才气、勇气、运气

  • 2015-01-09
  • 本文字数:4072 字

    阅读完需:约 13 分钟

编者按

2014 年,整个 IT 领域发生了许多深刻而又复杂的变化,InfoQ 策划了“解读2014 ”年终技术盘点系列文章,希望能够给读者清晰地梳理出技术领域在这一年的发展变化,回顾过去,继续前行。

毫无疑问, Docker 已经成为 2014 年最热门的技术之一,它被爱好者冠以云计算新星、下一代虚拟机等称号,可见大家对其的期望之高。2014 年,Docker 的发展可谓是一路凯歌,从年初的 B 轮融资到年末的 DockerCon 欧洲大会,Docker 在这一年里顺风顺水,就连微软、谷歌、AWS 这样的巨头也敬它三分。

InfoQ 从 2014 年 5 月开始重点关注 Docker,先后策划了深入浅出源码解读 CoreOS 实战 Docker 周报等系列专栏,共产出了百余篇新闻与文章,同时还建有两个千人的 QQ 群以供读者学习交流。在这一年里,作为负责 Docker 专栏的技术编辑,我密切关注了 Docker 的每一次融资、收购、合作,也亲身见证了一个技术的发展之路。本文作为 Docker 专栏的年终总结,分析了过去一年 Docker 的发展、模式、应用,并结合自己的理解展望了 2015 年 Docker 的发展以及与它相关的技术变革。

另本文的标题来自热播无胸版电视剧《武媚娘传奇》张公公之口。

发展

2014 年是 Docker 的起步之年,这一年里 Docker 又是融资,又是收购,又是办大会,又是与巨头合作,迅速获得了资本以及云厂商的认可。记得在 6 月的一段时间里,每天早上起来只要一打开朋友圈,就会看到关于 Docker 的爆炸性新闻,想想也是醉了。先撇开 Docker 的优势不谈,我们来回顾下过去一年 Docker 的几个重要的发展节点。

  1. Docker 1.0 发布。6 月 10 日, Docker 团队宣布发布 Docker 1.0 版本,从第一个版本到 1.0 版本的发布,Docker 大约经历了 15 个月的时间,共收到了超过 460 位贡献者的 8741 条改进建议。1.0 版本的发布也就意味着 Docker 可用于生产环境,从发布特性中可以看到,Docker 当时重点在关注稳定性、扩展性、兼容性等方面的问题,并没有提及安全事宜。同时从数据中可以看到社区对 Docker 的贡献。
  2. Docker 出售 dotCloud。8 月 4 日, Docker 宣布出售其平台即业务服务 dotCloud ,并称接下来将专注于容器业务。CEO Ben 表示他们已经看到 Docker 的快速增长,希望把所有的精力和资源都集中在这项业务上 。从这件事情上可以看出 Docker 公司的决心,把成败都押在 Docker 上,何尝不是一种魄力。当然,那时 Docker 有足够多的用户,他们也很有信心。
  3. 微软全面拥抱 Docker。10 月,微软宣布下一个版本的 Windows Server 将支持 Docker ,同时还发布了 Windows 10 客户端的技术预览版。Windows Server 主要是面向企业市场,显然,微软已经意识到容器技术的发展趋势以及其对企业的意义。比较有意思的是,微软早在之前就开发了自己的容器技术(Drawbridge),而 Windows Server 却选择支持 Docker,可见 Docker 的势头之猛。
  4. AWS 加码押注 Docker 。在 AWS re:Invent 2014 大会上, AWS 推出了高性能容器管理服务 EC2 Container 服务,用户可以在 AWS 上使用容器轻松地运行和管理分布式应用。AWS 是云计算的老大哥,在其 EC2 上早就支持 Docker,这次的容器服务瞄准的是集群服务,也是第一家将 Docker 应用于集群服务的公有云,AWS 果然是 IaaS 的带路人和领头羊。
  5. Docker 发布新的跨容器的分布式应用编排服务。12 月 4 日, Docker 宣布发布跨容器的分布式应用编排服务,编排服务可以帮助开发者创建并管理新一代的可移植的分布式应用程序。之前 Docker 关注的都是单个或者少量的容器,所以我们也经常看到官方用词“Engine”,而编排服务的发布意味着 Docker 正式进军集群服务,彻底平台化。通过三个新的编排服务( Machine Swarm Compose ),用户可以迅速构建 Docker 集群环境并部署应用,至此,Docker 为 2014 年画上了圆满的句号。

模式

正如热播电视剧《武媚娘传奇》中所说,一个才人的上位需有才气、勇气、运气,Docker 在这一年里能有如此快的发展也与此道理大同小异。才气不多说,从 Docker 一出现大家就很认可它带来的颠覆性的优势,现在流行打标签,如果要给 Docker 写标签,我认为应该有几个词:容器、虚拟化、轻量、可移植、分布式。谈到勇气,不得不提 Docker 的创始人 Solomon(dotCloud 的创始人),在 PaaS 市场举步维艰的情况下,他敢于将自己的核心引擎开源,并让团队的核心成员参与开源项目,以及后来直接把 dotCloud 卖掉,把全部精力都投入到 Docker 的开发上,可谓魄力十足。运气又名天时,近几年,DevOps、微服务、云计算等技术理念如日中天,而 Docker 可以全部和这些技术集成,并且都能为之一颤。

官方公布的数据来看,截止到 2014 年 11 月,Docker 的贡献者已经超过 700 人,与去年相比增长 52%;Pull Request 数量为 5200 个,增长 37%;GitHub 上相关的项目已达 18000 个,增长 177%;相关的仓库数量已达 65000 个,增长 348%;Docker 的下载量有 6700 万之多,增长 2336%。

一年的时间里,Docker 的生态系统发展迅猛,知名的云计算公司以及软件、操作系统、系统集成厂商、配置管理软件、大数据厂商以及开源软件都在向 Docker 靠拢,不管是在哪个领域,Docker 都在“Doing the old thing the new way”。Docker 相关的生态圈可以参考下图,图片来自 DockerCon 欧洲,需要注意的是图中没有列出国内的云计算公司。

应用

前面提到过,Docker 可以和很多的概念联系到一起,生态圈如此之大,那可以做的事情肯定也很多。但是,现在有多少公司 / 开发者在使用 Docker 了?这个问题真是得打个大大的问号,从平时的采访以及 QQ 群中读者的问题来看,绝大部分人对 Docker 的使用还停留在观望状态,并且将 Docker 应用于生产环境的公司少之又少。记得刚开始追踪 Docker 的时候,我把英文站的一篇新闻中描述Docker 发展的词主观的翻译为了“吹捧”,我认为媒体、社区、厂商对Docker 炒作的声音远大于需求驱动,看似火热而又令人心动的变革其实并不如外表看起来的那么红火。不过,从一个技术的发展角度来看,如此情况也在情理之中。

Docker 的应用和它本身的优势密切相关,系统集成厂商 Flux7 曾总结过 Docker 的一些应用场景,虽然 Docker 目前的实际应用人数并不多,但也不乏最佳实践。开发方面,开发者可以使用 Docker 搭建开发环境,借助 Docker 可移植的特性,开发者可以将自己的环境分享给开发以及相关的测试同事,省去了因为环境搭建而耗费的时间。同时,由于 Docker 可以快速创建并启动一个或多个容器,所以它可以和 Jenkins 一起来进行持续集成(CI),相关的开源项目有 Drone Strider

很少有人提及 Docker 对 SaaS 带来的影响,从普通用户的角度来看,Docker 可以为他们解决很多苦恼的技术问题。举个例子,之前用户想卖东西,可能就是入驻淘宝这样的平台,一是需要依靠大平台的流量,二是自己根本无法搞定一套电商程序的安装以及维护。有了 Docker 后,用户拿到的就是镜像,通过几个来回的命令就可以完成安装。所以我认为假以时日,类似 Wordpress、Drupal 这样的开源软件都会通过镜像的方式交付给用户,用户也会在选择 SaaS 平台还是自己搭建方面有更多的主动权。同样,得益于 Docker,SaaS 平台也许会向 PaaS 过渡。

PaaS 方面,Docker 已经扎根新一代的 PaaS,如果把 Azure、Heroku 等公有的 PaaS 看为第一代,允许用户自建 PaaS 的 Cloud Foundry 和 OpenShift 就应该是第二代,那以 Docker 为首的平台就应该是第三代,主要代表有 Deis Flynn Tsuru 。目前第三代 PaaS 也已经成熟,其中 Deis 和 Flynn 都已经发布 1.0 版本,借助 Docker,这些平台可以占用更小的资源。部署方面,新一代 PaaS 平台也可以借助 Docker 实现从开发环境到 PaaS 平台的无缝迁移,可谓从里到外,Docker 都是得力帮手。

IaaS 方面,巨头 AWS 已经推出基于 Docker 的容器服务,老二 Azure 也已经全面支持 Docker,并和官方建立了合作关系。放眼国内,阿里云、腾讯云、UCloud、青云等公司都已经支持 Docker,更进一步的支持看似也没有。同时,新一代的基于 Docker 的 IaaS 也在紧锣旗鼓的设计中(此处省去很多创业公司),Docker 可以提高资源利用率,降低云成本,所以也有很提出了 CaaS(容器即服务)的概念。没有人能够知道在这样的时代 Docker 到底会带来什么样的变革,所以面对如此火热的技术,IaaS 厂商扑上去也容易理解。

2015 年

11 月底, CoreOS 发布了自己的容器引擎 Rocket ,Docker 有了名义上的第一个竞争对手。新的一年,容器之争才刚刚开始,其实微软、谷歌都有自己的容器技术,亚马逊应该也有。如果容器会带来历史性的变革,那容器的战争是早晚的事。CoreOS 发布 Rocket 时称 Docker 已经忘记初心,并且开始冲击生态系统中的其它软件,于是便另起炉灶。现在过去一个多月了,还在 Stage 0 阶段,在社区方面获得的支持远不如 Docker 刚开始的时候,所以我并不看好。单从引擎这一点来看,类似 Rocket 的其它容器引擎并不是没有机会,因为 Docker 也有自己的问题(比如安全),新的一年,更是着重考验它们逼格的时候。

DockerCon 欧洲上,Docker 发布新的跨容器的分布式应用编排服务,旨在简化分布式应用的部署。分布式应用可以保证服务的稳定性和可扩展性,Docker 重新定义了分布式应用之道:我们可以根据需求随意收缩分布式应用节点。之前,Docker 教你怎么玩好一个容器,而现在 Docker 会教你如何玩好成千上万个容器,并在这么多容器上部署你的应用。当你在几百台服务器上部署几万个容器的时候, Kubernetes Mesos 这些调度框架的作用就显现出来了,所以分布式应用相关的开源软件也是新一年的风向标。

回到国内,2015 年 Docker 会逐渐落地,经过去年一年的发展,Docker 已经相对稳定,研究和使用的人越来越多,并且中文资料也开始多了起来。现有的云计算厂商应该会重点关注 Docker,并可能在其底层架构中使用 Docker,与 Docker 相关的 IaaS 和 PaaS 也会迎来一个创业小高潮,相关的开发者服务商也会提供对 Docker 的支持。

也许是看武媚娘看多了,每每去思考 Docker 发展的时候,我都会想 Docker 又何尝不是下一个“武媚娘”了?如果是,那“武代李唐”的预言会不会再次上演?这一次李唐们会如何做?好戏还在后头。

2015-01-09 08:437519
用户头像

发布了 219 篇内容, 共 138.3 次阅读, 收获喜欢 191 次。

关注

评论

发布
暂无评论
发现更多内容

Studio One6永久免费版本下载安装包

茶色酒

Studio One6

软件测试/测试开发 | 接口自动化测试中,文件上传该如何测试?

测试人

软件测试 自动化测试 接口测试 测试开发 文件上传

谈谈enabled_shared_from_this

SkyFire

c++ 智能指针

架构训练营第10期模块5作业

Geek_4db2d5

Golang如何优雅接入多个远程配置中心?

王中阳Go

golang 高效工作 学习方法 后端 viper

流程的价值一,固化业务的最佳实践!

CTO技术共享

深入理解跨域和最佳实践分享

Crazy Urus

面试 前端 HTTP 跨域

如何让Java编译器帮你写代码

京东科技开发者

后端 编译器 java; 编译器原理 企业号 1 月 PK 榜

嘉为蓝鲸IT服务管理解决方案入选2022广东省政务服务创新解决方案

嘉为蓝鲸

自动化运维 嘉为蓝鲸 IT服务管理中心

CleanMyMac4.12.3中文版如何汉化免费?

茶色酒

CleanMyMac4.12.3

树与二叉树深度剖析(二)

C++后台开发

数据结构 算法 二叉树 红黑树 Linux服务器开发

深度学习快速上手——基于 MegEngine 的 LeNet 快速训练与部署

MegEngineBot

深度学习 开源 MegEngine

华为云发布冷启动加速解决方案:助力Serverless计算速度提升90%+

华为云开发者联盟

Serverless 华为云 冷启动 Cold Start 进程级快照

nCompass为医疗行业信息安全穿上“铠甲”

智维数据

大数据 数据可视化 智能运维 应用交付 流量分析系统

DAPP/去中心化系统开发流程解析方案(成熟理念)分析结果

I8O28578624

栉风沐雨 韧性前行 | 2022年九科大事件

九科Ninetech

RPA 超自动化 流程挖掘

MySQL:如何给字符串加一个高效索引?

程序员拾山

MySQL

阿里巴巴最新版“Java性能优化实践文档来袭”把性能优化玩的出神入化

架构师之道

Java 编程 性能优化

Lattice - 模式级复用的能力定义

原力在线

架构 lattice 高可扩展

“零信任”下的防火墙策略管理

智维数据

大数据 防火墙 数据可视化 智能运维 运维安全

比Postman更懂中国程序员,Apipost真香!

不想敲代码

接口测试 API 研发管理工具

30+亮眼指标,看看2022年嘉为蓝鲸的逆势创新之路!

嘉为蓝鲸

自动化运维 嘉为蓝鲸 2022大事件

Databend 内幕大揭秘第二弹 - Data Source

Databend

安全事件溯源分析场景

智维数据

大数据 数据可视化 智能运维 应用交付 流量分析系统

从人工分析到智能分析,流量分析如何快速上手?

智维数据

智能运维 应用交付 可视化数据 流量分析系统

人人都在聊的云原生数据库Serverless到底是什么?

华为云开发者联盟

数据库 Serverless 云原生 华为云 GaussDB

在Spring异步线程池中自动传递上下文,这样写轻松又方便

程序员拾山

Spring Boot #java

设计模式之装饰者模式

程序员大彬

Java 设计模式

流程的作用是服务于业务,所有不能被用来帮业务部门好好打粮食的流程,都不是好流程!

CTO技术共享

启科 QuTrunk+Runtime+QuSaaS+亚马逊云科技量子计算编程实战

亚马逊云科技 (Amazon Web Services)

Python 量子计算 Amazon EC2 Hero 专栏 Amazon Braket

中国国际电子商务中心与易观分析联合发布:2022年3季度全国网络零售发展指数同比增长1.5%

易观分析

零售 电商

解读2014之Docker篇:才气、勇气、运气_服务革新_小盖_InfoQ精选文章