Ben Golub:多个Docker组件在多台服务器上运行
容器公司Docker已发布了多项服务,并声称这些服务是开源技术领域在未来12个月最重要的动向。
在阿姆斯特丹召开的DockerCon欧盟大会上,这家公司演示了一套新的Docker编排工具和API(应用编程接口),另外还演示了其专有的Docker Hub Enterprise管理套件的内部部署版。
Docker***执行官Ben Golub说:“它们意义重大,因为最终未来的应用程序其实是分布式应用程序,到时多个Docker化的组件跨多台服务器运行。”
“Docker编排工具是未来一年在开源项目上出现的最重要的大事。对我们这家公司来说,Docker Hub Enterprise是我们最重要的产品,它将是我们未来的重要创收来源。”
通过将构建应用程序并部署到容器中这项任务实现自动化――这是一种轻型虚拟化,Docker的目的在于让开发人员从此摆脱对软件和基础设施的依赖,同时在这个过程中削减成本、提高效率。
Docker编排工具包括三套开源API:Docker Machine、Docker Compose和Docker Swarm。它们各自负责处理这个问题的不同方面:构建并管理跨多个容器的分布式应用程序。
Golub说:“Docker Machine让你可以拿来任何一个主机――其实是任何服务器,无论是你数据中心里面的笔记本电脑、服务器或虚拟机,还是亚马逊、Azure或其他众多云平台上的远程云实例,就可以让它们能够运行任何Docker应用程序。”
“所以,这个工具让它们可以准备好运行Docker,然后让你能够使用同一个用户界面(UI),管理所有那些主机上的所有那些容器,无论它们是本地还是远程。”
Docker Swarm是一项集群服务,让用户可以把数量众多的服务器当作单单一个机器,因而为分布式应用程序创造了资源池。
由于Swarm API支持可插式集群实现技术,用户可以决定采用Mesosphere之类的高可扩展性产品,跨数量众多的节点来编排容器。
编排服务的第三个部分Docker Compose旨在让用户很容易从众多容器(比如前端、数据库和负载均衡等组件)构建一个复杂的分布式应用程序。公司声称,构建而成的应用程序完全可以移植。
Docker Hub Enterprise是去年6月发布的商用云控制中心的内部部署版,它提供了一些工具,便于构建Docker化的组件的库,面向工作流程以及与企业可能已经在使用的其他工具(比如监控工具)进行整合。
Golub说:“这两则宣布其实都事关多容器应用程序这个概念。Docker创办之初,人们对此觉得非常兴奋,因为Docker让你有办法将任何Linux应用程序或任何Linux组件放在轻型容器里面,然后可以在任何地方运行。”
“情况已发生了变化,以至于现在人们期望将多个组件结合起来,每个组件都在各自的容器里面,跨数量众多的不同服务器来运行这些组件。于是,我们从一台或若干台服务器上的一个或若干个容器转向众多服务器上的多个容器。这两款产品都旨在应对你试图实现这项任务时所面临的挑战。”
虽然所有的Docker编排服务现都处于alpha测试阶段,但面向Docker Machine的那套API现在可以使用。这三套API定于2015年第二季度面向公众发布。Docker Hub Enterprise会在2月份发布预览版。
Golub表示,公司现正在致力于Docker的资源调度功能,到时会进一步提高管理容器的自动化程度。
他说:“眼下,你能够为容器设定限值,但是要是你碰到某个事先设定的限值,如果你希望能够自动扩展或者自动迁移,就需要这项功能,将来会推出该功能,但目前不是上述两则宣布的一部分。”
“所有这些再过几个月或几个季度就会发布。这方面正在迅速取得进展。好就好在,Docker公司或Docker项目在直接发力;另外,还有18000个项目都与Docker有关,它们都试图填补不足和空白。”
正是开源社区的广泛参与,有助于在如此短的时间内大力推动Docker快步前进,如今公共软件库中已有大约65000种语言、框架和应用程序实现了Docker化。
Golub说:“我认为,你只好接受一定程度的混乱,这没法子。不过,完全拥抱开放和开源在这方面有所帮助,因为社区在帮助我们开发API,社区帮助辨别这些项目中哪些是好是坏,然后最终有某种优胜劣汰的机制,有助于确定这些项目中哪些值得为之努力,哪些不值得。”
最近发布了这则宣布:微软将在定于2015年发布的Windows Server下一个版本中支持Docker容器,这也会极大地加大人们对这项技术的兴趣。
Golub说:“所有企业工作负载中至少有一半是基于Windows;由于我们在与微软通力合作,我们将Docker引入到Windows。在某种程度上,这让可以充分利用Docker的用户圈子变大了一半,同时也加大了我们的产品对企业的吸引力。”
“这还为我们将Docker扩展到其他架构上铺平了道路。我们在去年6月份还是一种64位Linux架构;现在我们已是一种能与Windows协同运行的架构。我们能够与ARM芯片协同运行,Solaris和SmartOS方面也有相应的宣布。所以,我们其实在努力成为一种通用工具。”
添加这种Docker支持功能的底层工作会出现在Windows内核里面,低级的容器基础工作由微软来完成。中间层Docker守护程序方面的工作则是Docker项目的一部分,微软、Docker工作人员和更广泛的开源社区都为该项目捐献代码。
Golub说:“然后顶层是标准的Docker。如果我们做好顶层这一块,底下那两层对我们、微软以及社区那些关注Docker的人士来说只是个技术细节,而其他一切对最终用户来说将是透明的。”
“可用性肯定将取决于Windows Server 10版本;我从微软那里听到的消息是,该版本会在2015年年底发布,但我不能代表微软说话。但它肯定会完成Docker的一大块任务。”
除了与微软达成合作关系外,Docker还发展了几个重要盟友,包括与IBM、红帽、VMware、谷歌和亚马逊结为联盟,将来会还其他公司合作。
据Golub声称,这种结合商界力量和社区力量的做法有助于让Docker如此火爆。
他说:“Docker所做的实际上是让容器大众化――让它们成为标准,让它们易于移植,并围绕容器建立起一个生态系统。我不愿说容器在Docker之前就存在了,因为之前出现的是低级容器技术,但它只能被大型互联网公司的高级团队所使用,而且不容易移植。”
“Docker之前存在的许多解决方案是很早以前构建的,那时候应用程序具有下列特点:驻留很长时间,整体式,而且在单单一台服务器上运行――实际上上述三个特点都已发生了变化,今非昔比。”
但正是Docker背后的社区让这项技术得以大获成功;就Docker的未来而言,社区依然至关重要。Golub提到欧洲40多个城市的Docker见面会或社区就见证明了这种广泛参与性。
他说:“显而易见,只有通过开放这项技术,努力建造一个生态系统,而不是试图打造仅仅一项技术或仅仅一家公司,我们才得以迎来如此迅猛的发展。”
“很显然,项目以及整项技术正由主要在互联网公司使用的技术变成目前许多银行、制药公司、制造企业和政府使用的技术。所以,大家对稳定性、安全性以及企业级工具非常注重。这是我们要完成的一大优先事项。”
英文原文链接:http://www.zdnet.com/article/docker-ceo-why-it-just-got-easier-to-run-multi-container-apps/