【编者的话】六月的San Francisco 居然异常的凉爽。而与之相反的确是DockerCon 2015的如火如荼。2000人的参与的大会使这个不太热的初夏平添了几分热度。美国时间6月22日,DockerCon 2015在旧金山举行。作为本次DockerCon的赞助商之一, 灵雀云 也为大会增添了不少中国特色,CTO陈恺以及战略及市场负责人于历濛,出席了本次DockerCon,他们在 灵雀云微博 直播了本次盛会,并为未能到现场的Docker爱好者们带来了第一手的报道。
本文为DockerCon主会的深度解读,主要围绕刚刚成立的OCP(Open Container Project)和Docker的商业模式。
近两年多来,Docker引领了一场以容器为核心的,席卷互联网应用乃至整个IT界的技术革新,正从根本上改变应用开发和发布的方式。经过持续爆发式的成长,以及迅速壮大的开发者社区和上下游生态,Docker容器实际上已经成为了容器格式和运行时的标准。之前,以CoreOS为代表的容器提供商认为,容器的标准不应该由一家公司掌控,而应更具开放性。
2014年12月,CoreOS推出自己的容器rkt,并随后发起了一项开放式的容器标准Application Container(appc),该标准立刻受到了Google、VMWare、Redhat等重量级公司的支持。而由于有不同容器标准的存在,所以也引发了容器战争,并很有可能引起社区分裂,从而减慢容器技术的发展进程。
OCP的发布包含了Docker、CoreOS在内的公司的共同参与,以开放式委员会的管理形式统一定义容器标准。社区和生态圈合作伙伴将受益于这个开放式的标准。
Docker创始人兼CTO Solomon Hykes在大会上表示,Docker一贯的方针就是要促进开放式的标准。Docker最大的价值不在于特定的技术,而是让所有人,包括企业和用户,对于某些标准实现统一。既然Docker已经成为了实际上的容器标准,那么Docker也肩负着完善这一标准的使命。Solomon认为,完善容器标准的最好方式就是推进该标准的开放性。
完善容器标准的原则:
这一宣布对于容器技术今后发展的影响不可估量。毕竟,相对于容器具体的标准,以及这个标准由谁来定,我们更关心的是容器技术有一个统一的标准可循,这样大家可以放心参考这一标准,在容器上层做更多的,真正产生价值的创新。
在Keynote大会上信息量极大,除了最重磅的OCP,还有大量新内容发布。Solomon Hykes也是以其一贯的“哲学家”的风格,为来宾细细讲述Docker创始的初衷,长远的目标,以及为了实现这些目标将在近期发布的内容。
归根结底,Docker的使命是“创建用于超大规模创新的工具”而Solomon认为创新的最大杠杆就是互联网应用,因此,Docker将不遗余力地帮助开发者“提升整个互联网的可编程性”。
围绕这些目标,Docker在本次大会上发布了一系列新产品和功能:
1 全新的容器网络 (Docker Network)
自并购SocketPlane后,两个团队马不停蹄地将SDN与Docker容器进行集成,重写了整个网络模块,并将其从Docker代码中剥离出来。新的Docker网络有几个重大的改动:
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项目,形成了该开放性容器运行时标准的基石。
1. Docker Hub
一直以来,Docker Hub上超过一个私有镜像仓库是付费式的,这也是Docker之前主要的收费途径。Docker研发高级副总裁Marianna Tessel首先为来宾就Docker Hub最新动态作了深度剖析。单从数据上看,Docker Hub直接体现了Docker的受欢迎程度:
另外,单是官方镜像下载次数就超过6000万次,并有13000家企业使用Docker Hub。Marianna强调,为了更适应生产环境,最新版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 Control,Auditing,并可做到轻松部署,升级,回滚。
Scott提到,在内测阶段Docker Trusted Registry已经聚集了超过800家用户,其中不乏企业级用户。而Docker Trusted Registry的第一个正式用户居然是美国政府。Scott调侃道这将意味着每年有超过1万亿美金的政府资源会流经Docker Trusted Registry。Scott表示毫无压力,不知作为纳税人的在场听众作何感想。
3. Docker Commercial Subscription
经过Docker Hub和Docker Trusted Registry的铺垫,Scott随后正式宣布了Docker商业版解决方案:Docker Commercial Subscription。该计划涵盖经过认证的Docker Engine,Docker Hub Registry或Docker Trusted Registry,以及商业客服,起板价$150/月。除了从Docker官方直接购买之外,还可从AWS,Microsoft Azure,IBM等渠道获取。这一举动标志着Docker向生产场景及商用化迈进了一大步。
4. 分布式应用展望圆桌讨论
大会进行到这里,Scott邀请微软Azure CTO Mark Russinovich,IBM Cloud CTO Jason McGee,及Booz-Allen EVP Michael Farber上台,就分布式应用展望这一话题展开圆桌讨论。
首先,三位专家一致认为互联网应用,唯“快”不破。当讨论到企业拥抱微服务架构时如何对既有技术进行转换,Jason强调新技术连接过去(connecting back)的重要性。Mark将既有技术进行分类,一部分并非对业务至关重要的可以让它自然淘汰,而与业务密切相关的技术则要作积极的转化,以保持竞争力。在讨论今后12个月容器技术的走向和看点时,Michael提到用户体验,希望听到更多来自用户的成功案例。Mark认为应用是驱动,并提及在这点上微软会将其重点的微服务框架Service Fabric与Docker集成。
5. Docker + Windows
圆桌讨论之后,Mark留在台上,继续为来宾介绍微软与Docker的深度集成。MarkRuss是笔者昔日密切合作过的战友,而Windows Container是 灵雀云 创始人左玥当年主导的项目,所以这段也听得尤其入神。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黑客松小项目:Docker与Cortana的集成。Mark对Cortana用语音发布指令:
Mark: “docker run redis”
Cortana: “OK, running container redis”
那么,今后会不会看到Docker与Hololens的集成呢?可以戴着Hololens直接窥测Docker容器内部细节。
6. Project Orca
大会的最后一个环节,Scott宣布了一个处于很早期的全新项目Project Orca,将容器运行场景中所有工具整合成一个完整的技术栈。Docker一贯的做法是将一个大的问题分割成一系列小问题,然后针对每个小问题开发一套独立好用的工具,同时确保这些工具可以方便的组合使用。之前Docker Engine解决了单一容器单机运行,Docker Machine解决了Docker Host配置,Docker Swarm解决了集群管理和资源调度,Docker Compose解决了多容器管理,那么Project Orca就是要把这些工具整合起来,形成一套完整的解决方案。
陈恺,2015年正式加盟 灵雀云 ,任首席技术官。携其十数年大规模、企业级分布式系统/云平台研发经验,打造基于容器技术、面向开发者的云计算平台。加入云雀科技之前,2004年在微软从事Windows操作系统内核(Kernel)的研发,2010年出任微软云平台Windows Azure首席架构师/软件开发部经理,专注于云计算/分布式系统的研发,组建、带领团队开发Azure最核心的中控系统(Fabric Controller),管理并支撑整个云平台后端,承载千万级规模应用。
本文为InfoQ中文站特供稿件,首发地址为: http://www.infoq.com/cn/news/2 ... ect02 。