为什么 Docker 在引领虚拟化和云计算的新浪潮
又是一年的OSCON之际,今年的技术领域关注在人们热烈讨论的云基础建设。其中更有趣的是刚开始起步的Docker,这是一个超轻量化容器应用,充满潜力。
我对Docker的服务副总裁James Turnbull非常着迷,他将会在大会上带来一场Docker的速成班。除了探究Docker是什么之外,我们还将导论云,开源贡献和得到一份真正的工作。
您曾经出版过关于不同linux方面的著作。您开始是如何探索linux的呢?是什么让您对linux如此热衷呢?
我想我第一次接触linux是在Debian刚发布不久的90年代中期。我在工作环境中曾先后使用过OS400,VAX/VMS和SunOS。开始我并没意识到这个"开源"的家伙有多强大。但当我发现Linux时,我突然拥有了一个具有桌面规格的电脑,它可以运行为internet提供动力的相同工具和服务。这是非常振奋人心的。而更重要的是它是免费的。我不需要花钱去买昂贵的硬件和操作系统软件来完成这些很酷的事。稍后我发现我不仅可以免费使用它,我还可以得到它的源码。如果出了问题或者我需要其他一些功能,我可以实际改动它(或最少可以尝试修复它)或告知其他可以修复它的人。这种对系统的完全拥有感和围绕开源而成立的胚胎期社区令我很惊奇。从那时起我就爱上了开源。
在您履历中写到“为了一份真实的工作”,而您已成为了Docker公司的副主席,您会将您其他的开源工作只当作爱好么?
这话跟我伙伴开的玩笑一样。正如很多极客一样,我会经常守在电脑旁,解决问题或者写一些东西。我伙伴嘲笑我说我有两份工作:我的“真实的“工作和我的开源工作。感谢在像Puppet和Docker这种开源环境中度过的这几年,我已经能够在激情的同时得到了回报。
开源贡献者们经常以那种方式来谈论他们的工作;在开源领域中爱好与职业的界线是很模糊的。您觉得这会产生积极还是消极的影响呢?
我认为在不同的领域中它即是积极的又是消极的。积极的是在我们工作中遇到的问题(如构建工具,修复bug,写文档等)的解决方案是可以分享的,而且希望可以简化他人的生活或使他们能够快速解决这类问题。而它又是消极的,因为对于接近我日常工作的事如此热衷会加剧"你一直都在“的感觉(意思是一直在忙却没有完成日常需要完成的工作,即要加班)。
我也意识到这些模糊的界线是如何影响到我们行业和开源社区的多样性的。在创业者的世界中有一种看法,即一个好的开发者需要有一个GitHub个人资料,并且为开源做过贡献。我很幸运能有可以为开源做贡献的时间,金钱和教育背景。但很多其他人没有这些特权,并且白种人,男性和受过良好教育等这些要求提高了很多开源社区的门槛。由这种对于“好“开发者的观点导致了有点封闭式的招聘循环,并且更大范围地延长了开源和我们行业中的单一性。我觉得这是我们急需改变的地方。
您是如何加入到Docker项目的?
我是在Solomon将它开源后不久偶然发现的。我对LXC和容器有一些了解(过去有工作于Solaris Zones和IBM硬件上的LPAR的经历)因此我决定进行一下尝试。我被它的简易使用震惊了。原先使用容器的经历给我留下了需要不断调试和培养的复杂生物的印象。但Docker却跳了出来。当我看到Docker和构建于Docker之上的以CI/CD为中心的工作流时我就被它迷住了。
Docker在虚拟化和云计算领域掀起了一股热潮。为什么人们会对它如此兴奋呢?
我觉得是因为它的轻量级特性和与它一起的工作流。它是一个快速,易于使用且以开发者为中心的DevOps工具。它的作用只是进行基础的打包和承载代码。开发者希望有一种工具可以将这个过程的细节抽象出来。他们只想看到他们的代码运行起来。当代码传送到别处时会与系统管理员产生各种冲突,结果会导致代码只能运行于开发环境。Docker通过将您的代码尽可能地移植化来完成这项工作,并将这个移植的过程变得更加友好简单。
在你看来Docker最令人激动的潜在用途是什么?
当然是构建过程了。我的意思是我看到很多家伙用容器做超大规模的部署,的确,你可以在一台主机上使用很多容器,而且速度也很快。但这并不比使用它进行自动化的开发-测试过程更让我激动。
Docker是如何区别于标准的虚拟化的呢?
Docker是操作系统级的虚拟化技术。与需要通过中间层使虚拟机运行于硬件之上的hypervisor虚拟化技术不同,Docker容器运行于操作系统内核之上的用户空间中。这使得Docker容器更加轻量迅速。
你认为云技术开发已经深受开源开发影响了么?
我觉得开源软件已经紧紧地与云计算绑定到了一起。不论是运行于云中的软件还云中所支持的开发模型。开源软件很便宜,而且从性能和许可角度看它都有很高的性价比。
你认为Docker将会如何改变虚拟化和云环境?你认为云技术已有固定的轨迹,还是仍有重大改变的余地?
我提到早期超大规模计算世界里的许多容器和使用案例开发-测试-构建两者之间,我认为距离Docker的理想还有很大的差距。我满心期待大量的公司和供应商去拥抱Docker,在裸机和云计算之间,把它作为一个可替代的方案。
云技术的轨迹。我想我们已经看到,在过去的几年里发生的重大变化。我认为他们在我们做之前要做的更多。OpenStack和它是否能成功作为IAAS的替代方案或者DIY的云解决方案是个问题。我认为我们仅仅触及了潜在的PAAS,并且其成长和开发的空间还有许多的余地。这将是PAAS产品开发的有趣能力,不论是他们渐渐拥抱还是连接基于云的客户产品。
您能给我们一个扼要报告关于我们应该从这一年的OSCON Docker演示上期待什么吗?
这是一个非常速成的Docker课程介绍。受众是开发者和系统管理员和那些想以一种比较容易上手的方式开始使用Docker。我们会教授如何使用Docker的基础知识和如何将其与你的日常工作流进行整合。