Docker CTO Solomon Hykes 对开发者说: 按你的方式去做!
【编者的话】很少看到有对Solomon Kykes的采访,LinuxInsider是一个全球性的Linux媒体网站,近日,LinuxInsider对Docker CTO Solomon做了专访,整个专访对Docker的定位、发展、生态等问题进行了探讨,并且还有不少爆料,比如Windows 10将预装Docker。
Solomon Hykes / Founder and CTO of Docker
我们远见卓识,并作出了努力,将Docker技术融入到现有的工具集中。我们并不是现在开发者世界的颠覆者。我们不断对Docker进行着改进,随着时间的推移,开发者会发现有更多的东西能够应用到Docker上。开发者正在向着新的构建体系迈进,在他们的世界里使用新的工具构建着未来。
在过去的两年时间里,Docker从一个默默无闻的Linux项目升级为目前云计算领域最受欢迎的开源技术之一。项目开发者见证了无数的Docker引擎被下载,以及遍布全球40多个国家的Docker群组。现在越来越多的公司开始使用Docker,甚至微软都宣称在即将发布的Windows 10中预装Docker。
Docker创始人兼CTO Solomon Kykes告诉LinuxInsider,Docker居然能吸引这么多人的关注,真的很让我惊讶。
Docker是一个开放的平台,用以帮助开发者和运维人员构建、部署和运行分布式应用,Docker可以用来标准化开发、测试、生产环境。使用Docker可以快速交付应用并且可以在任何环境中运行,包括笔记本、数据中心虚拟机以及云环境。
在这次独家采访中,LinuxInsider与Solomon Hykes共同讨论了Docker如何促进Linux以及云计算的变革。
LinuxInsider:你曾经说Docker的成功是大势所趋,Docker只不过是在正确的时间做了正确的事罢了。为什么这对于用户来说很重要?
Solomon Hykes:成功的要素之一正是在正确的时间做了正确的事,我们一直坚信这个理念。直到最近,市场还没有为这项技术做好准备,但是我们一直都在努力。我们努力让这个技术更加灵活,更容易使用。
LinuxInsider:Docker是一种新的云技术还是一种新的云存储方式?
Solomon Hykes:容器本身只是一个推动,真正的大动作是如何彻底改变现有的软件模型。开发者创建了不同类型的应用,这些应用不光只是运行在一个机器上。他们需要一个崭新的完整架构,并且完全独立于机器。
问题在于开发者创建这些应用的时候不得不依赖于某种容器,你需要在不同平台上打包应用。而Docker容器正好解决了这些问题。
LinuxInsider:这种软件技术就好比传统的货运集装箱喽?
Solomon Hykes:这是一个恰如其分的比喻。Docker就好比传统的货运集装箱。但是创新可不仅仅是在这个盒子里,而且还包括如何自动管理呈现上万个这样的箱子。这才是问题的关键。
LinuxInsider:Docker是如何影响开发者构建这些应用的?
Solomon Hykes:Docker可以帮助开发者以更好的分布式去构建他们的应用程序。比如分布式应用的方式是Gmail,它不仅仅运行在一个应用上,它是分布式的,开发者可以把这个应用打包成一系列的服务,这是在刚开始设计Docker的时候所采用的理念。这带来了划时代的设计理念。
LinuxInsider:是什么引导你采用这样的设计理念?
Solomon Hykes:有趣的问题,我们并没有发明这个模型。相反,他一直都在那里。你试着环顾周围,你会发现越来越多的开发者使用的工具都是分布式的,很多人试图去解决现有的问题。这是一个崭新的架构。当你找到工具支持这个新模式时,需要告诉那些开发者,之前那些工具已经过时并且不合适,所以扔掉原来的旧工具,使用新工具才是正道。
LinuxInsider:有多少冲突是发生在和那些不想扔掉旧工具开发者上?
Solomon Hykes:这个方法听起来似乎是合理的。但是实际上,很难让开发者扔掉旧工具。这点和IT部门发生的事情是一样的。他们试图用传统的工具去支撑项目构建。但是很可惜,这些试图使用下一代工具的时候他们失败了,原因是他们一开始就对新工具抱着怀疑的态度。
LinuxInsider:你从一开始就注意那些开发者的反馈吗?
Solomon Hykes:我们从一开始就试图将Docker融入到已经存在的工具箱中,这是一个明智的决定。我们并没有奢望一下子就把开发者根深蒂固的观念转变过来。相反,我们逐步的让开发者跟随Docker一起成长,他们也发现了Docker更有意思的地方。因此开发者用他们自己的方式使用新工具去构建一个全新的架构,通过这种方式世界也因此在改变。
LinuxInsider:您对这个策略持什么态度?
Solomon Hykes:当我问他们,现在使用Docker带来多大的变革,有人说,他们没有用变革的方式来使用Docker,Docker只是我的工具箱中的一个新工具,我想这才是问题的关键。而另一些人认为,他们从一开始就爱上Docker,这些回应都是正常的。每个人都可以根据自己的进度来迁移到新的模型。
LinuxInsider:那您认为如果要使用Docker,是应该将Docker集成到现有平台,还是更换全部的技术栈?
Solomon Hykes:开发者会选择自己的方式,现在有很多关于Docker本地化的需求。但是这样的改变是基于一个完整的生态系统,并且很多公司也试图在Docker之上构建新平台。相信我,伴随着时间的推移,Docker本地化趋势会越来越明显,相信在不久的将来就会看到。我们鼓励并支持开发者在现有平台上实现他们的想法。
LinuxInsider:能谈谈Docker共享Linux内核的相关架构吗?
Solomon Hykes:恩,关于这个问题,我认为这至少包含两个阶段。首先Docker构建在Linux内核的基础之上,这是一个抽象的功能。这样可以允许Docker使用Linux底层的组件,并且可以使用所有Linux的特性,还可以利用Linux的网络堆栈和存储子系统,这种抽象的组件模式正是开放者需要的。
LinuxInsider:开发者的具体开发过程是怎样的?
Solomon Hykes:作为一个开发者,当我提出一个申请,希望使用一个在沙箱中可以运行应用程序的时运行时环境。我需要一个打包系统,一个便于轻易从其他操作系统中移除的应用系统。我需要一个网络模型能够允许我的应用程序和外界交互。我需要存储等等,诸如此类。我们将他们抽象......任何一个kernel可以做到的实现细节我们都做到了。
LinuxInsider:开发者这样做有什么好处?
Solomon Hykes:这里有两个非常大的好处。第一点是简单。因为现在的概念对开发者来说更容易理解,它就是为这些而设计的,开发者实际上有了更好的产出。系统的API正是为这个系统而设计,开发者需要的是在任何地方都一致的概念。
第二点是以后会支持更多的系统。 比如, Docker早期仅能在窄内核的单一Linux发行版上运行,后来,我们又扩展到覆盖那些原本支持Docker的系统. 现在你可以在任意主流Linux发行版上运行Docker, 还可以与更多的网络和存储功能结合在一起。
LinuxInsider:这个功能只是针对专业开发者,那么非专业开发者有什么好处呢?
Solomon Hykes:每次我们扩展Docker,每一个开发者也会因此受益。每一个运行在Docker上的应用添加的新功能都能从Docker社区获取扩展。这就是Docker使用者得到的收益。没有那些全球化的扩展,每一个独立开发者不可能第一时间就得到更新。Docker因此也得到了大量的支持。
LinuxInsider:最近听闻微软宣称要发布Docker的Windows版本?
Solomon Hykes:如果你认为Docker仅仅停留在狭隘的单一工具,你就想错了。这也是为什么还要提供对windows的支持?问题的关键在于,随着时间的推移,你可以在不断的发挥想象。windows系统和linux有很大不同,这是显而易见的。但是现在微软决定将windows 10移植到Docker上,因为微软需要在Docker上运行windows.这的确是个令人兴奋的消息。
Docker尚未完成移植到Windows的工作,但微软已经为移植工作做了很大贡献。他们也逐渐意识到微软需要这样去做。微软大力支持本地化、开源的方式。Windows10将会预装Docker。
LinuxInsider:今后Docker的发展将会是更多的功能扩展和面向基础用户的应用?
Solomon Hykes:社区中已经有很多功能在日程表上了,他们很多人都开发了更好的工具以帮助开发者更好的部署分布式应用。一个工具包意味着有一系列的工具,每个工具需要专门设计。
在每一个子系统里,需要很多全新的工具。在这些领域里,你将会发现大量的人正在Docker社区贡献源码和提出他们的设计理念。在这方面,Docker项目雄心勃勃,在这些领域我们有能力重组开发者不在需要在碎片化中做出选择。
原文: http://www.technewsworld.com/story/81504.html
译文: http://dockerone.com/article/80