@xishuixixia
2015-01-08T05:54:58.000000Z
字数 3629
阅读 1745
毫无疑问,Docker已经成为2014年最热门的技术之一,它被爱好者冠以云计算新星、下一代虚拟机等称号,可见大家对其的期望之高。2014年,Docker的发展可谓是一路凯歌,从年初的B轮融资到年末的DockerCon欧洲大会,Docker在这一年里顺风顺水,就连微软、谷歌、AWS这样的巨头也敬它三分。
InfoQ从2014年5月开始重点关注Docker,先后策划了深入浅出、源码解读、CoreOS实战、Docker周报等系列专栏,共产出了百余篇新闻与文章,同时还建有两个千人的QQ群以供读者学习交流。在这一年里,作为负责Docker专栏的技术编辑,我密切关注了Docker的每一次融资、收购、合作,也亲身见证了一个技术的发展之路。我把Docker当成我的女朋友,她有优点也有缺点,且听我娓娓道来。
2014年是Docker的起步之年,这一年里Docker又是融资,又是收购,又是办大会,又是与巨头合作,迅速获得了资本以及云厂商的认可。记得在6月的一段时间里,每天早上起来只要一打开朋友圈,就会看到关于Docker的爆炸性新闻,想想也是醉了。先撇开Docker的优势不谈,我们来回顾下过去一年Docker的几个重要的发展节点。
正如热播电视剧《武媚娘传奇》中所说,一个人要成功需有才气、勇气、运气,Docker在这一年里能有如此快的发展也与此道理大相径庭。才气不多说,从Docker一出现大家就很认可它带来的颠覆性的优势,现在流行打标签,如果要给Docker写标签,我认为应该有几个词:容器、虚拟化、轻量、可移植、分布式。谈到勇气,不得不提Docker(dotCloud 的创始人)的创始人Solomon,在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。目前它们也已经成熟,其中Deis和Flynn都已经发布1.0版本,借助Docker,这些平台可以占用更小的资源。部署方面,新一代PaaS平台也可以借助Docker实现从开发环境到PaaS平台的无缝迁移,可谓从里到外,Docker都是得力帮手。
IaaS方面,巨头AWS已经推出基于Docker的容器服务,老二Azure也已经全面支持Docker,并和官方建立了合作关系。放眼国内,阿里云、腾讯云、UCloud、青云等公司都已经支持Docker,但是更进一步的支持看似也没有。同时,新一代的基于Docker的IaaS也在紧锣旗鼓的设计中(此处省去很多创业公司),Docker可以提高资源利用率,降低云成本,所以也有很提出了CaaS(容器即服务)的概念。没有人能够知道在这样的时代Docker到底会带来什么样的变革,所以面对如此火热的技术,IaaS厂商扑上去也容易理解。
DockerCon欧洲前夕,CoreOS发布了自己的容器引擎Rocket,Docker有了名义上的第一个竞争对手。新的一年,容器之争才刚刚开始,其实微软、谷歌都有自己的容器技术,亚马逊应该也有。如果容器会带来历史性的变革,那容器的战争是早晚的事。