Docker:无限风光在险峰
- 来源:软件和集成电路 smarty:if $article.tag?>
- 关键字:技术明星,谷歌,亚马逊 smarty:/if?>
- 发布时间:2015-11-28 14:52
基于Docker的PaaS平台所体现出的敏捷性和灵活性已经得到了广大技术开发者的喜爱,并逐渐延伸到企业级应用当中。
2015年,开源领域的技术明星—Docker,一时风光无限。从目前来看,Docker吸引了业界众多知名IT企业的鼎力支持,其中包括亚马逊、CenturyLink、谷歌、IBM、微软、红帽以及VMware,从某种程度上说,只要在有Linux的地方,就能看到Docker被追捧的盛况。
一个“世界级支持应用平台”的诞生
事实上,在2010年,Docker只是一家位于美国旧金山的创业公司所开发的一款基于Linux的核心管理引擎。这家创业公司提供PaaS服务,其主打产品与公司同名,叫DotCloud。DotCloud不仅支持PHP(超文本预处理器)、MySQL(关系型数据库管理系统)等传统技术框架,还支持包括Node.js(一个基于浏览器脚本JavaScript运行时建立的平台)、MongoDB(非关系型数据库)等新兴技术。据资料显示,基于DotCloud提供的开发工具和技术框架,可以直接使用DotCloud的 SDK编写代码和构建业务服务,并通过互联网把这些代码推送到云端,实现自动部署和测试。
在2011年,DotCloud公司曾拿到1000万美元的首轮融资,在这次融资中,雅虎创始人杨致远、风险投资公司Benchmark Capital的普通合伙人Peter Fenton和投资公司Trinity Ventures的高管Dan Scholnick均加入了DotCloud的董事会。
DotCloud吸引投资机构关注的最大亮点在于它的灵活性,通过允许开发者自定义组件和支持多种语言和工具,让开发者迅速地建立和部署他们自己的应用程序。通俗地讲,对于程序员来说,不同工具之间的兼容性问题迎刃而解。
DotCloud公司的共同创始人Sebastian Pahl曾说:“使用DotCloud,开发者不再需要填充那些系统管理员角色。取而代之的是,开发者和他们的IT团队能够选择一个站点,把代码放进我们的自动化系统中,只需很少的工作量就可看到他们的应用实现效果。”
DotCloud公司在得到首轮融资后公司创始人Solomon Hykes也曾信心满满地宣称,未来要将致力于打造一个世界级支持的应用平台。
2010年,PaaS的概念十分新潮,DotCloud公司在当时可谓走在潮流的前端。然而,随着IT巨头不断涌入,IBM的BlueMix、微软的Azure、亚马逊的AWS,Google的GAE、VMware的Cloud Foundry等等,将DotCloud公司原本寥寥无几的市场份额蚕食殆尽。而PaaS平台业务自身的局限性也日益显露,市场规模也一直没有向SaaS、IaaS一般迅速崛起,这对于DotCloud公司而言,无疑是雪上加霜。
在举步维艰的发展状况下,Solomon Hykes决定将DotCloud的核心管理引擎向市场开放。2013年3月,Docker作为DotCloud公司的开源项目获得业界赞赏。2013年10月,DotCloud公司也将其品牌名改为Docker,并最终将其原有的PaaS业务出售而专注在Docker上。
2014年8月,Docker宣布把PaaS业务出售给位于德国柏林的PaaS提供商cloudControl,DotCloud公司的发家史逐渐演化为Docker的成长史。在过去的一年多时间里,Docker迅速成长为云计算领域最受瞩目的开源项目。
走下神坛 Docker体现差异化价值
作为Docker社区的核心成员、IBM开源、云计算技术专家Doug Davis曾详细解析Docker如何让管理容器变得更加便捷。他说道:“从基本的开始,Docker通过Docker Host(主机)和Docker Daemon(启动)来管理容器,并借助Docker Registry(安装)的API来进行沟通。终端用户可创建和管理这些容器,并通过Docker Registry分享、下载、截屏,在社区内实现共享,还可通过下载Docker Daemon,更好地实现终端用户与容器的便捷互动。”
那么,Docker是如何通过保证高速来提供好的用户体验的呢?Doug Davis介绍道:“从最基础的filesystem(作为PHP核心的组成部分的函数)开始到Linux的内核,Docker把这两层组合在一起。在此之上,我们可以看到合并的文档,由Fedora(Linux发行版)去管理下一层。再往上一层,可看到Tomcat(Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成),需要对它进行监控。这三层是一个容器,这个容器能够看到所有的系统文档。在App1里管理Tomcat和Fedora文档,并有自己的备份。这时,第二个容器出现了,第二个容器想去运行Fedora,不用再去下载、不需要再做任何文档系统,便可实现存储自由。再往下是Fedora,用文档系统来安装应用。通过容器和有两个文档系统实现共享,就实现了运行时的优化。”
正如Doug Davis的设问—毫秒级的启动时间意味着什么?这正是一种差异化价值的体现。总的说,Docker的差异化价值体现在:快速敏捷(启动、停止都是以秒或毫秒为单位的)、隔离轻量级(不添加额外的操作系统)以及完整的镜像存储方案。
Docker最大的创新点在于Docker镜像的设计,开发者可像乐高玩具一样搭建各式各样的镜像,并可随需获取想要的镜像,然后快速启动运行,而不必像以前那样安装各种麻烦的附加软件。对于开发者而言,Docker解决了应用发布、构建和运行中存在的诸多痛点,并衍生出很多新的解决方案,尤其是创建第三代基于Docker的PaaS平台。
第三代PaaS平台积极拥抱Docker
第三代PaaS浪潮赶在Docker最为流行的时期,经过一段时间的发展,基于Docker的PaaS平台所体现出的敏捷性和灵活性已得到广大技术开发者的喜爱,同时它还有助于促进PaaS吸引更大规模的用户,并逐渐延伸到企业级应用当中。
随着企业越来越多地采用基于容器的应用交付解决方案,它们需要更高效、更一致地部署、运行和管理应用。这种向容器化应用和不可变基础架构的转变,使企业能够轻松地部署基于微服务的新应用架构,同时管理物理、虚拟、私有云和公有云环境中现有的一些应用。
作为Linux的领军企业,红帽公司在拥抱Docker的过程中秉承了先天优势。红帽OpenShift3集成了Docker技术,并提供了基于Docker和红帽企业级Linux的应用平台,为开发、部署和运行应用服务提供了安全、高效且可移动的方式。这也使OpenShift用户能够接入最广泛的封装应用组件生态系统,并且享用红帽容器认证计划所保障的安全性和可信度。
红帽公司副总裁、云与OpenShift业务部门总经理Ashesh Badani在接受采访时并没有回避一个大家都很关心的问题—如何保证在公有云中的这些内容是可信的?比如在你进行搜索时,可能你会问,这么多镜像是由谁创建的?是不是安全可靠?
“如果我们要使用容器技术,这些都是不可避免的,这是我们应该解决的问题,同时也是红帽一直在思考的问题。”Ashesh Badani说:“我们已经在和几百个ISV进行容器认证方面的合作,另外,我们还为他们提供一些开发包,像红帽的容器开发包工具,这使他们能够更容易地创建容器。也就是说,镜像的内容和原数据,这两部分是分开的。这样当你在搜索一个镜像时,它会根据原数据中包含的一些信息,来帮助你匹配搜索结果,然后再根据搜索结果把内容提出来,并与搜索结果的原数据进行匹配。”
或许,在有了OpenShift这样的PaaS平台应用案例之后,Docker将会助力PaaS在云计算中迅速占据有利地位。
鳞次栉比的Docker生态圈
2015年6月,在美国旧金山举行的2015 DockerCon大会上,容器技术的Docker与基于Linux内核的轻量级操作系统CoreOS联合推出了开放容器项目Open Container Project,目标是实现容器镜像格式与运行时的标准化。而在此之前,CoreOS与Docker还处于水深火热的竞争之中。
CoreOS公司一直被业界称为“低调的实力派”,CoreOS则是该公司开发的一个基于Linux内核的轻量级操作系统,为计算机集群的基础设施建设而生,并专注于自动化、轻松部署、安全、可靠、规模化等。一直以来,CoreOS都是以Docker的拥趸者自居。然而,2014年底,CoreOS却发布了自己的一款容器引擎—Rocket,这款引擎在诸多功能上与Docker十分接近,但Rocket则志在成为一个纯粹的业界标准。
面对CoreOS所带来的挑战,Docker的应对方式显得十分特别,于是便有了旧金山2015 DockerCon大会上,让人惊诧不已的大动作—共同开放容器项目Open Container Project。无论客户选择哪种操作系统或云服务提供商,都可使用通用容器技术。在分工上,Docker将为项目贡献其容器格式、运行时代码并提供规范。项目创始成员包括CoreOS、AWS、Google、红帽、VMware、EMC等,而华为是创始成员中唯一的中国公司。
在公开发布的Docker1.7.0运行时,华为中软HULK团队主导完成其中3大关键特性:用户命令docker exec增强,容器CFS quota支持和容器磁盘IO限制支持,并得到了Docker社区的一致认可。
数据显示,截止2015年8月,Docker Hub上已经有超过7.5万个认证应用、超过4亿的容器下载量,Docker Meetup已在超过50个国家的150多个城市成功组建,社区贡献者超过900多个组织及个人。
除了在技术上的显著优势,Docker的生态圈建设对巩固Docker在开源领域的强势地位功不可没。除了遍布全球的Docker Meetup,Docker的合作伙伴计划还包括技术合作伙伴、服务供应商、培训合作伙伴和咨询合作伙伴四种。事实上,以亚马逊、微软、IBM为代表的IT巨头业已成为Docker最高级别的合作伙伴,并实现互利互通。
2015年7月,谷歌联合20多家技术公司共同发起成立的原生云计算基金会(Cloud Native Computing Foundation)同时宣布推出Kubernetes 1.0版本。谷歌的产品经理Craig McLuckie称:“谷歌希望通过原生云计算基金会向全球推广他们的模式,容器已经被视作是虚拟机解决方案的有效替代方案。”
而原生云计算基金会成员Cycle Computing的CEO Jason Stowe称:“容器技术给我们带来了一台不需要启动时间的虚拟机。我们可以在数秒钟内在容器内部运行具有不同要求的应用,而不用再花很长的时间启动不同的虚拟机。与Docker集成在一起的Kubernetes在处理计算时就如同使用微波炉加热食物一样便捷,我们在加热食物时不需要像使用传统炉灶那样必须等待45分钟。”
在技术更迭频繁仍的当下,也许不用多久,Docker将被另外一个更具革命性意义的新技术所取代,但Docker依然是今天的翘楚。
本刊记者/程梦瑶
