[开源中国访谈] DaoCloud 初创成员孙宏亮谈 Docker

IMG_9042

成立于2008年8月的开源中国,是目前国内最大的开源技术社区,拥有超过200万会员,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。作为初创公司的DaoCloud受益于开源社区,也回馈社区,积极参加各种社区活动。除了大力推动Docker Meetup在国内的落地、发展,也在开源中国源创会上踊跃分享。

DaoCloud创始团队成员孙宏亮继3月21日在深圳源创会上分享了Docker Container内部进程的研究成果后,又于近日接受开源中国编辑孔令双的采访,畅谈Docker、开源、创业以及成长。

以下内容为本次采访实录,转载自开源访谈栏目


【受访者简介】

孙宏亮(ID:shlallen),DaoCloud 初创团队成员,毕业于浙江大学计算机学院,InfoQ 中文站“Docker 源码分析“专栏作者。曾在 PaaS 和 Docker 开源社区活跃,对 Cloud Foundry 有深入研究和丰富实践,擅长底层平台代码分析,对分布式平台的架构有一定经验,致力于传播以 Docker 为主的容器的技术,推动互联网应用的容器化步伐。

【什么是Docker】

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。

【访谈实录】

1. 请简单地介绍一下你自己(技术背景、学习经历、工作经历)。

Hello, 大家好,自最近一次深圳源创会之后,很高兴又在开源中国这个大平台上和大家一起交流。我本科就读于东南大学,研究生就读于浙江大学,今年3月刚从浙江大学毕业。研究生期间,我主要方向集中于云计算领域的 PaaS 层,当时即开始通过开源社区学习与研究一些开源软件;而后由于对 Linux 内核的学习,燃起了对容器技术的热爱,包括从 LXC、warden 技术、以及现在风靡全球的Docker。学校期间,我一直连载发表《Docker 源码分析》系列,力求在国内推广 Docker,引导更多的开发者接触 Docker。毕业后,我很荣幸能够加入 DaoCloud 这个以 Docker 为主的创业团队,共同在云计算以及容器技术中探索 。

 2. 目前 Docker 主要应用于哪些领域?

海纳百川,容得极大。总体而言,Docker 的应用领域非常广。有关应用场景的探索不仅 Docker 爱好者在探索,Docker 官方也还在不断探索。 Docker 诞生之际,以单进程运行模式来推广,我认为是一个非常好的切入点。在云计算大潮之下,如何托管应用程序,以何种技术来包装应用,两者的需求日趋增长,Docker 正好让开发者看到了希望。因此,应用托管领域,Docker是非常好的选择,完全有能力提供软件交付能力。再往软件流程的上游来 看,Docker同样简化软件开发流程,提高效率。同时,由于联合文件系统技术的运用,Docker 在软件 CI/CD 方面的潜力大大被挖掘。另一方面,Docker 爱好者仍在探索多进程模式,尝试通过配置容器镜像以及完善容器的调度与管理,达到 CaaS(Container-as-a-Service)的服务。

 3. CoreOS 与 Google 的合作对 Docker 阵营有何影响?Rocket 与 Docker 有何异同?

大树扶植,弱化中立。对于市场而言,竞争不一定会是坏事。目前而言,Docker 的优势在于中立,并且社区活跃度极高。技术角度而言,Docker、 CoreOS 甚至其他第三方厂商都可以在内核基础上构建自己的容器技术。然而 Docker 的起步更早,且业界多家大厂商的支持,也会成为一种效应,使得 Docker 在容器技术方面长期处于制高点。CoreOS 从 OS 层的革新之举我个人非常敬佩,但毕竟对现有 OS 系统的改动过于巨大,使得企业实践与实行 CoreOS 时难度会大很多。另外,Docker 在容器市场的“垄断”,使得CoreOS被迫推出Rocket,而如今 Google对CoreOS的投资使得形势更为复杂,直观来看 CoreOS 得到了互联网大亨支持的,同时也意味着中立立场的弱化,而后者对于开源软件非常重要。

4. 你投身容器技术创业是基于何种原因?

源于热爱,继续任性。学校期间,很荣幸我能够感受到云计算以及开源的魅力,于此同时,我也切身体会到了当时云计算甚至 PaaS 的一些缺憾。Docker 的诞生,彻底吸引住了我,通过对 Docker 的学习,我也对未来云计算的发展有了一些新的想法。恰巧的是,此时一群志同道合的朋友也在通过 Docker 探索未来的云计算模式。互相接触后,一拍即合就加入创业团队。

5. 对于想从事 Docker 开发或者正在从事 Docker 开发的程序员,你有哪些建议给他们?

兴趣为主、共同成长。

首先说说个人经历。当我着迷 Docker 时,发现 Docker 对我而言竟是一个“黑盒”,这种感觉令我失望。于是,某个下午打定主意,看看这条“鲸鱼”背后的东西。兴趣的力量真的不容小觑,也让我对包括 Docker 在内的很多内容都有了新的理解。所以说,兴趣还是处于第一位。如果大家对运维 Docker、 Docker 原理感兴趣的话,那我建议可以从 Docker 的特性出发,并联系到对操作系统的特定概念,进行学习,加深理解;另外也可以参与到对 Docker 项目的代码 commit 中。如果是希望借助 Docker 的使用,解放软件交付能力与管理能力的话,那么熟练掌握 Docker API 同样可以释放 Docker 的魅力。另外,我认为 Docker 仍然很年轻,如果大家有兴趣的话,千万不要忽视如今的机会,在学习 Docker 的过程中与之一起成长的感觉,真的很难用语言形容。

6. Docker 未来会有哪些可能的走向和突破?

安全、网络,百花齐放。

Docker 未来的发展,肯定离不开实际的工业场景。如何降低或消除传统软件模式迁移到 Docker 模式的壁垒,Docker 还有很多工作要做。

现在来说,Docker 的发展受益于 Linux 内核,同时也受限于 Linux 内核。受益的是借助内核特性提供资源的隔离控制环境,轻量级虚拟化;受限的是, 内核特性的发展并不天生为容器,故仅依靠Linux 内核,很难达到类似于虚拟机的安全特性。因此 Docker 的安全性加强必定是一个走向,结合现在 OS 市场上的大变动,很有可能 Docker 在这方面会有大的突破。

同样值得注意的是,Docker 使得未来分布式系统的规模更大,粒度更细,传统以虚拟机为调度粒度的网络模式就会稍显乏力。如何发展 Docker 场景的网络模式,并能够有效管理大量的容器计算单位,将同样会是一个问题。

另外,我认为 Docker 的应用模式,目前还没有标准,而且我相信也不会有标准。百花齐放的局面,很有可能在最近几年就呈现。

7. 在创业的过程中有哪些有趣、好玩、或者印象深刻的事情?

Docker 技术毕竟还是一项比较新的技术。一个团队在了解 Docker 原理的基础上,自然需要大量的实践去检验这条鲸 鱼。在一个以 Docker 基础的创业团队中,我们的驯“鲸”经历颇为精彩,往往因为一个系统中的某个 bug,工程师们彻夜不眠,排查去“虫”。另外,平台上线之后,服务于平台用户时,我们会遇到各式各样的用户,和他们交流,为他们规范优化 Dockerfile,深入学习 Docker 本质,我认为是一件非常非常有趣的事。

8. 你能否谈一下你对开源的理解,以及对国内开源现状的看法?

机会、参与、分享。首先,我认为开源带给大家最多的是“机会”,闭源时代,接触软件的人员两级分化的情况非常严重,闭门的软件开发者,以及软件的使用者,两者对于软件的理解存在很大的 gap,信息传递存在很大的障碍。由于门槛之高,开发者很难互相学习,使得软件行业的发展稍显缺乏生机。开源的流行,情况则大不相同。开发者可以有很多机会接触业界一流的软件,也有很多机会参与并帮助二流软件变为一流。“众人拾柴火焰高”,健康的生态将会带来更多活力。其次,“参与”也是开源思想中重要的一块。虽然参与是漫长的过程,但参与就是支持,参与能为软件带来多元化的思想,不仅造福开源,也对自身有利。除此之外,“分享”也是开源精神的重要元素。分享是自由精神的体现,是流水不腐的本质,借助分享,社区的形成才有更大的可能性,社区的发展才能有更大的凝聚力。

国内开源现状,我认为有必要结合我国现状来说。国内拥有太多优秀的开发者,这一点本身就是一个很大的优势。另外从全球而言,“机会”也是非常多,但是从基数角度而言,国内开源的参与度并不是很乐观,并且“拿来主义”的思想仍占据不少开发者。当然,现状如此,原因很多。


非常感谢开源中国对DaoCloud团队的报道,我们将一如继往地参与国内开源社区的建设,为开源事业尽绵薄之力。

如其他媒体也有意联系采访,请邮件与info@daocloud.io联系,我们会及时回复。

Leave a Reply

Your email address will not be published. Required fields are marked *