微信号:infoqchina

介绍:有内容的技术社区媒体

DockerCon 2015:容器标准首立项,新商业模式待展望

2015-06-24 12:24 陈恺

导语


美国时间6月22日,DockerCon 2015在美国旧金山举行。大会Keynote上,Docker创始人兼CTO Solomon Hykes宣布:Docker将联合CoreOS等公司共同创建一个完全开放的容器标准,称之为“开放式容器项目”(Open Container Project)。包括AWS、Google、Microsoft、Redhat、VMWare、华为等超过20家业界巨头同时宣布支持该项目,并成为开放式容器项目创始成员。Docker率先为OCP捐献出了Docker所基于的容器格式和运行时(Runtime)代码及文档,成为OCP项目的基石。同时,由CoreOS发起的Application Container(appc)标准将与OCP整合。这也就是说OCP将会成为了首个业界开放、统一的容器标准。

本文将以“容器标准”为线索,阐述Docker作为容器革命的领跑者,对明确容器标准的实践,以及对未来商业模式的展望。


PAST : 无统一标准导致容器技术发展进程缓慢


近两年多来,Docker引领了一场以容器为核心的,席卷互联网应用乃至整个IT界的技术革新,正从根本上改变应用开发和发布的方式。经过持续爆发式的成长,以及迅速壮大的开发者社区和上下游生态,Docker容器实际上已经成为了容器格式和运行时的标准。之前,以CoreOS为代表的容器提供商认为,容器的标准不应该由一家公司掌控,而应更具开放性。

2014年12月,CoreOS推出自己的容器rkt,并随后发起了一项开放式的容器标准Application Container(appc),该标准立刻受到了Google、VMWare、Redhat等重量级公司的支持。而由于有不同容器标准的存在,所以也引发了容器战争,并很有可能引起社区分裂,从而减慢容器技术的发展进程。

NOW : 完善容器标准,并推进标准的开放性


OCP的发布包含了Docker、CoreOS在内的公司的共同参与,以开放式委员会的管理形式统一定义容器标准。社区和生态圈合作伙伴将受益于这个开放式的标准。

Docker创始人兼CTO Solomon Hykes在大会上表示,Docker一贯的方针就是要促进开放式的标准。Docker最大的价值不在于特定的技术,而是让所有人,包括企业和用户,对于某些标准实现统一。既然Docker已经成为了实际上的容器标准,那么Docker也肩负着完善这一标准的使命。Solomon认为,完善容器标准的最好方式就是推进该标准的开放性。

完善容器标准的原则:

正式的标准:开放基于Docker的容器格式,即Open Container Format(开放式容器格式),作为OCP容器格式定义的起点。


独立管理:Open Container Project会成为Linux Foundation成员项目,由委员会管理。


中立的参考实现:Docker贡献出其所基于runC的代码。


受广泛认同、支持:超过20家业界巨头共同参与、支持Open Container Project。


广泛接受新的意见和建议:由CoreOS主导的Application Container(appc)标准将与OCP整合,成为OCP项目的一员。


这一宣布对于容器技术今后发展的影响不可估量。毕竟,相对于容器具体的标准,以及这个标准由谁来定,我们更关心的是容器技术有一个统一的标准可循,这样大家可以放心参考这一标准,在容器上层做更多的,真正产生价值的创新。

在Keynote大会上信息量极大,除了最重磅的OCP,还有大量新内容发布。Solomon Hykes也是以其一贯的“哲学家”的风格,为来宾细细讲述Docker创始的初衷,长远的目标,以及为了实现这些目标将在近期发布的内容。

归根结底,Docker的使命是“创建用于超大规模创新的工具”而Solomon认为创新的最大杠杆就是互联网应用,因此,Docker将不遗余力地帮助开发者“提升整个互联网的可编程性”。

提升互联网可编程性的目标:

不断对开发工具进行创新;


做开发者的管道工;


推动公开的标准;


帮助企业用独到的方法解决实际的问题。


FUTURE :新产品、新功能、新商业模式


围绕这些目标,Docker在本次大会上发布了一系列新产品和功能:

1.全新的容器网络 (Docker Network)

自并购SocketPlane后,两个团队马不停蹄地将SDN与Docker容器进行集成,重写了整个网络模块,并将其从Docker代码中剥离出来。新的Docker网络有几个重大的改动:

Docker将原生支持跨主机连接;


应用内部可定义多个容器网络,相互之间可实现隔离;


支持基于DNS的服务发现机制,


已经有11个网络后端的插件,今后会支持更多。


2.全新的插件框架(Docker Plugins)

用户可以在保持完整的Docker体验的同时,通过不同插件来自定义某方面功能,并不影响与其他支持Docker工具的兼容性。同时,在多租户环境下,不同容器可以使用不同插件来适应各个场景的需求。目前已有的插件覆盖网络、存储、调度、服务发现等各个方面。

3.试验性发布,每日更新

为了更高效、快速地采纳来自社区的建议,并加快迭代速度,Docker推出“Docker试验性发布”(Docker Experimental Releases),实现每日更新。

4.Docker Plumbing Project

为了更有效、重复使用Docker某些基础功能层面的模块,Docker推出“Docker Plumbing Project”,会对Docker代码做重构,剥离一些可以独立使用的模块,反馈到社区,用于Docker以外的项目。

5.Notary

Docker对安全模块进行重构,剥离出了名为Notary的独立项目,用于解决互联网内容发布的安全性。该项目不局限于容器应用,但在容器场景下可对镜像源认证、镜像完整性等安全需求提供很好的支持。

6.runC

Docker对基本容器实现进行重构,剥离出了最底层的容器运行时runC。在架构层面,Docker本身基于这个模块,但runC对于Docker没有任何依赖。更重要的是,Docker将runC贡献给了随后发布的OCP项目,形成了该开放性容器运行时标准的基石。


围绕Docker的生产场景应用及未来几大商业模式:


1. Docker Hub


一直以来,Docker Hub上超过一个私有镜像仓库是付费式的,这也是Docker之前主要的收费途径。Docker研发高级副总裁Marianna Tessel首先为来宾就Docker Hub最新动态作了深度剖析。单从数据上看,Docker Hub直接体现了Docker的受欢迎程度:

24万用户;


15万镜像仓库;


超过5亿镜像下载次数



另外,单是官方镜像下载次数就超过6000万次,并有13000家企业使用Docker HubMarianna强调,为了更适应生产环境,最新版Docker Hub在质量和性能方面做了很多优化,例如:基于Registry 2.0,镜像下载时Request数量减少了80%,带宽使用减少了60%Docker Hub UI完成了2倍的提速,搜索比之前版本快1.6倍。另外出错率有几个数量级的减少。Docker Hub在安全性上也有所提升,提供了微服务认证,镜像内容索位,一次性镜像构建主机,持续审计等功能。最后,Marianna为大家揭示了全新Beta版的Docker Hub


2. Docker Trusted Registry


在众多Docker开源项目中,Docker Registry非常受欢迎,下载量达到了650万次。这让Docker意识到私有Registry存在巨大的市场需求。同时对与很多生产场景,私有Registry必不可少。经过6个多月的内测,在本次DockerCon上,产品高级副总裁Scott Johnston宣布Docker Trusted Registry正式发布。这是一个商业版的Docker Registry,可用于On-Premise部署,可与LDAP/Active Directory集成,支持Role-based Access ControlAuditing,并可做到轻松部署,升级,回滚。



Scott提到,在内测阶段Docker Trusted Registry已经聚集了超过800家用户,其中不乏企业级用户。而Docker Trusted Registry的第一个正式用户居然是美国政府。Scott调侃道这将意味着每年有超过1万亿美金的政府资源会流经Docker Trusted RegistryScott表示毫无压力,不知作为纳税人的在场听众作何感想。


3. Docker Commercial Subscription


经过Docker HubDocker Trusted Registry的铺垫,Scott随后正式宣布了Docker商业版解决方案:Docker Commercial Subscription。该计划涵盖经过认证的Docker EngineDocker Hub RegistryDocker Trusted Registry,以及商业客服,起板价$150/月。除了从Docker官方直接购买之外,还可从AWSMicrosoft AzureIBM等渠道获取。这一举动标志着Docker向生产场景及商用化迈进了一大步。



4. 分布式应用展望圆桌讨论


大会进行到这里,Scott邀请微软Azure CTO Mark RussinovichIBM Cloud CTO Jason McGee,及Booz-Allen EVP Michael Farber上台,就分布式应用展望这一话题展开圆桌讨论。


首先,三位专家一致认为互联网应用,唯不破。当讨论到企业拥抱微服务架构时如何对既有技术进行转换,Jason强调新技术连接过去(connecting back)的重要性。Mark将既有技术进行分类,一部分并非对业务至关重要的可以让它自然淘汰,而与业务密切相关的技术则要作积极的转化,以保持竞争力。在讨论今后12个月容器技术的走向和看点时,Michael提到用户体验,希望听到更多来自用户的成功案例。Mark认为应用是驱动,并提及在这点上微软会将其重点的微服务框架Service FabricDocker集成。


5. Docker + Windows


圆桌讨论之后,Mark留在台上,继续为来宾介绍微软与Docker的深度集成。MarkRuss是笔者昔日密切合作过的战友,而Windows Container灵雀云创始人左玥当年主导的项目,所以这段也听得尤其入神。


Mark先将一个ASP.NET容器部署到一台Linux主机上,演示了.NET开源后对Linux的支持,又将一个Node.js容器部署到一台Windows主机上,演示了新版本Windows Server对于容器的支持以及和Docker的兼容。这标志着容器应用进入到了跨平台的场景。



随后,Mark演示了Visual Studio通过Docker实现的持续集成,包括容器化的测试,与Docker Hub对接,在Azure获取Docker Machine,组建Docker Swarm集群,以及用Docker Compose一键部署多容器应用。


最后,Mark演示了一个有趣的在Docker黑客松小项目:DockerCortana的集成。MarkCortana用语音发布指令:

Mark: “docker run redis”

Cortana: “OK, running container redis”


那么,今后会不会看到DockerHololens的集成呢?可以戴着Hololens直接窥测Docker容器内部细节。


6. Project Orca


大会的最后一个环节,Scott宣布了一个处于很早期的全新项目Project Orca,将容器运行场景中所有工具整合成一个完整的技术栈。Docker一贯的做法是将一个大的问题分割成一系列小问题,然后针对每个小问题开发一套独立好用的工具,同时确保这些工具可以方便的组合使用。之前Docker Engine解决了单一容器单机运行,Docker Machine解决了Docker Host配置,Docker Swarm解决了集群管理和资源调度,Docker Compose解决了多容器管理,那么Project Orca就是要把这些工具整合起来,形成一套完整的解决方案。




回复关键词查看对应内容:

React | 架构师 | 运维 | 云 | 开源 | Kubernetes | 架构 | 人工智能 | Kafka | Docker | Netty | CoreOS | QCon | Github | Swift | 敏捷 | 语言 | 程序员 | 实践 | 物联网 |




如果想要评论本篇文章,直接戳右下角的“评论”发表观点和建议,我们一直在寻找的技术人中的KOL,也许就是你!


版权及转载声明:

极客邦科技专注为技术人提供优质内容传播。尊重作者、译者、及InfoQ网站编辑的劳动,所有内容仅供学习交流传播,不支持盗用。未经许可,禁止转载。若转载,需予以告知,并注明出处。


【号外】

极客邦科技官方顶级账号已开通,关注极客资讯,引领技术潮流,新鲜有温度,专业有态度的技术人社区。更多精彩内容,动动手指,长按二维码自动识别即可获取关注。您也可以搜索“geekbang01”手动获取。

关于“geekbang01”,我们还在成长,希望有更多有极客精神有专业有态度的技术人来共同浇灌,一起茁壮。


 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 迎接万物互联,构筑安全的全联接网络时代 2015年程序员生存报告 你苦你先看 书单推荐|程序员都应该看的5本书 WEB请求处理(2):Nginx请求反向代理 C语言结构体的定义和使用