首页 > 新闻 > 专家观点 >

Docker:给云计算插上奔腾的芯

2016-07-04 14:27:25   作者:   来源:牛透社   评论:0  点击:


  20年前,我们总能在个人电脑的广告结尾,听到标志性的“IntelInside”音乐。随着云计算和移动互联网的的兴起,个人电脑的黄金时代早已一去不复返,可是“IntelInside”的模式,仍在继续上演。作为国内Docker创业大潮的一份子,借新一届DockerCon召开之际,提笔回顾过去两年的所见所感,撰文一篇,与诸君探讨和共勉。
  IaaS is the BIOS of Cloud
  在我的职业生涯中,有幸先后在个人电脑时代的霸主微软,和云计算时代的新贵VMware这两家伟大的公司工作。他们都是靠平台起家:凭借Wintel联盟,比尔·盖茨独霸市场三十余载;依靠独特的虚拟化技术,和Intelx86体系对VT技术的全面支持,VMware成为企业云计算市场的弄潮儿。
  2012年初我加入VMware时,也算赶上了一段黄金时代:
  彼时VMware投入大量资金,网罗全球最顶尖的开发者,全力打造CloudFoundry这一开源PaaS平台,我也有幸作为团队成员,参与和目睹当时这一极具前瞻性平台的发展壮大。
  Cloud Foundry早期的架构师Mark Lucovsky(他曾担任Windows NT核心架构师,Google技术元老)在一次内部的分享会上语出惊人,Mark说:“IaaS is the BIOS of Cloud”。这一句话对我印象极其深刻,从那时起,我开始思考,如果今天的公有云、私有云,其本质就是一台(堆)机器,那么在它之上的生态如何构建?谁又能够主宰未来?
  VMware打造Cloud Foundry时,早在2011年就引入了类似Docker的容器技术,这项技术当年被命名为Warden,由于种种原因,Warden技术被作为Cloud Foundry的一项后台技术和部署工具,并未提升到任何战略层面。
  在推广Cloud Foundry时,业界已经普遍认为,在PaaS类云平台上运行的应用(当时还并无Cloud Native一词),其理想的载体应该是类似Warden这样的“容器”,而不是虚拟机。
  Docker公司的前身dot Cloud,也是当年开放式PaaS大军中的一员,在进军PaaS市场未果的情况下,Solomon Hykes将dot Cloud的PaaS底层容器技术开源,无心插柳,却成就了今天大家看到的Docker生态。
  2014年的夏天,我请了一个星期的年休假,在上海浦东图书馆认真的观看和阅读了所有能够找到的有关Docker的资料。当时,第一届DockerCon正在旧金山举办,Solomon Hykes放出了“Upgrade the Internet”的豪言壮语,并公布了libcontainer、libchan和libswarm这三个重要的项目。在平台厂商工作多年养成的直觉告诉我,Docker将是一个比“the BIOS of Cloud”强大很多的东西。
  我曾把这一周的学习笔记,总结成《Docker的生态系统和未来》一文,洋洋洒洒写了将近7000字,刊登在当年9月出版发行的《程序员》杂志上。文章付梓之后,我即向VMware公司提出了辞职,义无反顾地踏上了Docker的创业之路。
  如今,大约两年的时间过去了,再次提笔撰写此文时,新一届的DockerCon正在西雅图召开,4000余人的参会规模,也又一次刷新了纪录。
  一骑绝尘的Docker
  相信本文的读者都是Docker技术和生态的密切关注者,代码和架构层面的细节,我也就不班门弄斧了。我尝试带领大家,从两个独特的角度,分析Docker技术和社区这两年的发展历程。2014年我写《Docker的生态系统和未来》一文时,曾提出可能影响Docker发展的几个领域的预言,它们分别是:
  1.开源的独立性
  2.企业客户的接受度
  3.云厂商和ISV的参与
  4.上层架构的支持
  Docker公司过去两年做了几轮非常漂亮的融资,在毫不盈利的情况下成功跻身十亿美元估值的独角兽俱乐部,并且仰赖以财务投资者为主的股权架构,成功维持了自己的独立性。坊间曾盛传微软开出数十亿美元的价格意图入主Docker,但今天看来,Docker公司在相当长的一段时间内,都有能力继续保持自身的独立性。
  频繁融资的同时,Docker公司这两年的一系列漂亮的收购,如Tutum、Unikernel、Conductant,每一项都是神来之笔,都为自己的Docker生态打下更加厚重的基石。有人曾在朋友圈评论,虽然是100%的开源软件,却又牢牢地控制了生态。如此这般,无人能及。
  2015年DockerCon的口号是“Ready for Production”,这并不是一句空话。近一年来,容器技术快速在企业市场渗透,远有美国著名投行高盛公司宣布将把90%以上的应用转换为Docker容器的形态运行;近有国内金融、制造、能源等领域企业客户全面开花。云厂商和ISV的参与,微服务架构的流行,也都印证了我之前文章的预言。
  在本届DockerCon,有两个非常值得关注的细节,也是我想跟大家探讨的角度。
  Docker公司的CEO名叫BenGolub,每一届DockerCon,他都是第一个开场致辞的嘉宾。历届DockerCon,Ben的致辞时间都很短,内容结构高度一致:社区发展规模、代码贡献者人数、各地meetup建设、DockerHub镜像数量、下载量,等等。
  圈内曾流传这样的笑话:Ben的DockerCon PPT模版近些年来从未曾改过,唯一变化的,就是其中的数字。但就是这些简单的数字,描绘了Docker生态一骑绝尘的轮廓。在此我只提取一组数据与各位读者分享:
  上面这张表格,如果用普通直角坐标系画一张时间和数量的关系图,将是一条极其陡峭向上的直线,即使采用对数坐标,也能呈现非常高的增长斜率。
  “凡构建平台,得开发者得天下”,Docker凭借其容器镜像标准,在开发者社区的普及程度呈几何级数快速蔓延。过去两年,有CoreOS、rkt等试图挑战Docker,另立标准,但如同当年的Intelx86+Windows的庞大生态,一旦形成了“平台-开发者-标准”这样的三足鼎立,循环反馈的形态,其他新兴生态妄图打破这样的铁三角,是及其困难的。
  本届DockerCon,另一个值得关注的细节,是SwarmKit。有关SwarmKit的定位和架构,大家可以搜索孙宏亮撰写的系列文章,这里我不再赘述。
  SwarmKit的发布,使Docker Engine的能力大大增强,开启了Docker Engine“超大规模集成电路”的高度集成化之路。早年的Docker Engine,只是Linux LXC API的封装,随着Machine和Swarm这两个项目的高速推进,Docker Engine完成了几个实质性的飞跃:
  首先,Docker Engine通过Libcontainer项目,将LXC抽象,初步实现了操作系统的无关性,为今后支持Windows等非LXC/C Group内核架构提供了可能性;
  第二,通过集成Volume Driver、内建网络虚拟化能力,在容器层屏蔽了底层存储和网络资源的细节,为今后容器级别的软件定义存储和网络打下了基础;
  第三,本次发布的Swarm Kit项目和Swarm Node,使Docker Engine从单一节点走向了集群形态。
  Docker项目虽然开源,但是Docker公司同时挥动镜像标准和DockerEngine这两面大旗,互为犄角,相辅相成,不仅牢牢的控制了生态,还在此基础上发展壮大,根基日益牢固,不得不令人佩服。
  历史总是惊人的相似
  “以史为鉴,可以知兴替”,这句话在如今的IT行业同样适用。当年,Intel的x86架构芯片并非市场上唯一的选择。可能很多年轻人并不了解,上世纪90年代初,微软开发的WindowsNT操作系统,曾同时支持IA-32、MIPS、DEC Alpha、PowerPC、Itanium、x86-64和ARM等多种处理器架构。随着Wintel联盟的巩固,Intelx86架构芯片的能力逐渐加强,迅速形成了垄断的形态,其他处理器架构,也随之烟消云散。
  每次提到Intel,大家都会想到耳熟能详的摩尔定律:“集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍”。Docker镜像的庞大生态,其中以Docker标准交付的软件,和Docker镜像在全球范围的下载使用数量,将成为新的“摩尔定律”,在相当长的一段时间内,保持着线性高速的增长,带动“平台-开发者-标准”这个三足鼎立的雪球滚滚向前,势如破竹。
  在最初的386时代,Intel的CPU仅仅完成整数型运算,类似浮点数运算等基本操作,都需要靠协处理器完成;如今,Intel的CPU(包括其南北桥芯片组),已经把诸如浮点运算、显卡、声卡、网卡等之前相对独立的组件(部件)统统集于一身。本次Docker Engine的增强和Swarm Kit的发布,也预示了Docker开始走集成化的道路,Swarm Kit以原生插件的方式强势进入DockerEngine,结束了“Docker只能管理单机”这一困扰业界三年之久的难题。
  随着Docker Engine集成度的提升,存储和网络等底层资源适配对接范围的扩大,Docker将为云计算这台巨大计算机插上“奔腾的芯”。
  不论是Amazon AWS还是Microsoft Azure等公有云,还是VMware、OpenStack等私有云,其最终形态都是一组可以自动化调度的计算、网络和存储资源的集合。
  Docker容器技术的出现,将在这一系列异构资源之上,架设一个独立、抽象、开发者认可、应用程序兼容的层级。如同当年的x86芯片和其上的操作系统API,帮助开发者免除了以机器语言对接特定硬件的苦恼,Docker也将抹平各类公有和私有IaaS云平台的差异,营造天下大同的云端新生态:云上的应用采取Docker镜像构建,通过Compose标准定义组件关系并声明资源需求,借助SwarmKit完成部署,通过Docker Engine和Machine来调度底层的硬件(IaaS云平台)资源。
  这画面太美,恰似一江春水向东流,几家欢喜几家愁。
  云计算厂商现在已经开始加速拥抱容器,Docker Inside的格局,正在迅速形成。也许用不了多久,Amazon AWS视频广告的结尾,将会出现一只跃出海面的鲸鱼。
  当正反馈形成时,无人能够阻挡
  比尔·盖茨在1995年出版的《未来之路》一书中提出了著名的正反馈循环:事实标准常常通过经济机制在市场上发生演变,这种经济机制与推动商业成功的正向螺旋的概念十分相似,它使一个成功推动另一个成功,这一概念叫做正反馈,它说明事实标准之所以常常出现在人们寻求兼容性的时候的原因。
  Docker就是处在正反馈循环的事实标准,这样的循环,以巨大的生态势能,裹挟大量的上下游厂商。未来,Docker的生态走向将会朝何处去?请容许我做一些大胆的预测:
  1、公有云厂商加速跟进。
  本次DockerCon发布的Docker for AWS和Docker for Azure就是一个鲜明的例子,当Docker成为云端分布式应用(Cloud Native)的编排和交付标准,就已经奠定了其公有云入口的高贵身份。
  2、分布式存储和网络虚拟化厂商将加速Docker Native的支持步伐。
  近些年来,随着超融合概念和软件定义网络、软件定义存储的兴起,产生了大量不依赖专用硬件,仅靠普通CPU运算来完成的“纯软件”存储和网络厂商,这些厂商不仅撼动了Cisco、EMC等老牌企业的市场份额,也正在加速对接Docker的庞大生态。
  大家可以看一看这一届DockerCon赞助商的名单,存储和网络领域涌现了大量的新生力量。DockerEngine为存储和网络厂商提供了一个入口,由于这两个领域的复杂性和背后的企业级功能的需求,注定了将产生一个庞大的第三方市场。
  3、容器编排、调度等开源社区将遭遇洗牌,以Docker目前的发展势态,形成了DockerEngine为核心,加上Machine、Swarm/Swarmkit和Compose三架马车的布局。
  “卧榻之侧,岂容他人鼾睡”,这几个领域关系到了Docker未来发展,在这个领域的第三方项目,如实现集群管理的第三方工具Mesos、Kubernetes、各类开源Compose扩展插件等,将会发生巨大的格局性变化。
  4、微服务架构的应用开发将迅速流行,绝大多数从头开始的全新互联网应用架构选型,都会认真考虑微服务架构和容器化交付。
  5、目前Docker容器技术在企业市场的托张将逐步走向“深水区”:
  企业客户的选择,将从“人云亦云”、“是容器就要试试”的情况,过渡到全面评估,深入理解Docker原生生态的阶段,也将从实验性的小规模测试,逐步过渡到打造Docker原生数据中心(Docker Native Data center)的阶段。
  结束语
  当每一朵云都贴上Docker Inside的标签,谁会是这场游戏的赢家?谁会在生态的大战中独善其身,谋求一席之地?让我们拭目以待!
  作者:牛透社特约撰稿人 喻勇
  曾就职于微软和VMware,从事技术布道师、开发者社区、ISV渠道及市场战略负责人等工作。2014年末喻勇从VMware离职,与同事共同创立DaoCloud。目前,公司已经完成两轮超过千万美元规模融资,产品被企业级客户、互联网公司等广泛采用。

分享到: 收藏

专题