一个不喜欢玩黑盒的程序员—专访《Docker源码分析》作者孙宏亮

初次见到 Allen 是在4月的深圳,给人的第一印象是聪明、成熟 ,有着一般程序员所没有的活泼劲。谈起 Docker 来,总有一种说不出的痴迷。 在深圳开源中国大会上作演讲时,面对着几百号观众,表现出超出自己年龄的沉稳和自信。半个小时的技术演讲让我这个小白也听的津津有味。

 

他是谁?

Allen,孙宏亮,90后,硕士,浙江大学毕业,现为 DaoCloud 软件工程师,近期出版了《 Docker 源码分析》一书,目前主要负责企业级容器云平台的研发工作。数年来一直从事云计算、PaaS 领域的研究与实践,是国内较早一批接触 Docker 的先行者,同时也是 Docker 技术的推广者。

 

他和他的书

我不知道有多少人想在自己25岁之前出一本属于自己的书。或者又有多少人想过,却没勇气去做。我也不知道技术类书籍作者的平均年龄是多少,但是他才不过25。

Docker 源码分析这本书是一本引导读者深入了解 Docker 实现原理的技术普及读物,通过对 Docker 架构和源代码的详细讲解和解剖,帮助读者对 Docker 的底层实现有一个全面的理解。

作者通过大量的流程图和代码片段对 Docker 的架构、Docker 的重要模块,特别是对 Swarm、Machine 和 Compose 这三个模块进行了详细介绍和深度剖析,无论是 Docker 的使用者还是开发者,通过阅读此书都可以对 Docker 有更深刻的理解,能够更好地使用或者开发 Docker。

关于好奇心

Allen 自己坦言,他本科的时候像所有的大学生一样很迷茫,因为成绩还不错顺其自然地保研到了浙大。然后由于各种机缘巧合进入了浙大的 SEL 实验室,主要做云计算方面的工作,当时做的是一个 叫 Cloud Foundry 的PaaS 平台。

我很感激研究生阶段老师对我的启迪。浙大的 SEL 实验室是一个很好的平台,管理制度很灵活,给我们一个自由的环境去学自己真正想学的东西,也接触到了更多的资源。渐渐地,我被一些之前从没有接触到的东西所吸引:一个就是自由学习的机会,另一个就是新的技术。

Allen 笑称,“有了吸引就产生了好奇心,有了好奇心就会想要去做更多。

Allen 说自己学习 Docker 经历了三个阶段:

第一阶段:“我是一个不喜欢玩黑盒的程序员”

我个人始终觉得一项技术你应该不仅仅会使用,还需要真正掌握这个平台的核心。自始至终,我都是一个不喜欢玩黑盒的程序员。从研究生入学,接触第一个云计算平台,总希望清楚每一个零部件的原理,所以这时候就开始研究起一个平台最底层的原理。这个阶段,我是出自一种单纯的好奇心想要了解更多,也是这种好奇心促使我不管遇到什么困难,孤单寂寞冷地坚持走下去。

我是在 13 年就开始接触到 Docker。最开始是从知道 Docker 究竟是什么入手的。在 13 年的末期,很多人就已经开始用 Docker 了。然而我发现当 Docker 得到普及以后,大家在谈论 Docker 的时候,却还是很多人都不知道它的本质是什么,甚至从来没有从这个层面去思考过。而且网上大多是 Docker 方面宣传普及性质的东西,没有实质性的技术类知识。

“哈哈,对此我我很不爽,使用一项东西但是它却还是黑盒。这个时候我就开始尝试深入研究 Docker,真正开始研究 Docker 的源码。” Allen 确实是个很直爽的小伙子,可能也是这种淡淡的“不爽”才能让很多人真正走向自己感兴趣的方向。

第二阶段 :“一切从源码入手”

其实一开始我也只是知道 Docker 的作用是什么,并不知道 Docker 的架构。然后我就开始想要去探究 Docker 的源码,看了源码以后发现很多东西就变得非常清晰了,简单敲一个 Docker 命令,就可以从软件内部的角度,轻松看到软件可以分为几个层次,几个组件,几个模块(把“,”改成“、”),把这个东西分清楚以后 Docker 的真面目就全然在我们面前了。这个时候再想去了解 Docker 的细节就很简单了,因为你专注一个模块去研究就行了。但是你必须知道软件的架构,有了这个东西再慢慢深入细化就可以了。

第三个阶段:“感受自己在每个阶段的成长才是最大的收获”

每一个阶段的学习,都会有阶段性的心得,善于总结总会发现自身的不同。感受自身的变化,对于我来说也是一种不俗的成长。从研究云平台,到深入学习 Linux 内核,再到感受现有领域的发展弊病,是一个漫长的过程。

这一切的背后我觉得是好奇心在支撑着我一路走下去。

对于 Docker 了解得越多,越会越觉得自己无知。我也建议很多接触新知识的人,不要觉得自己了解很多,很强。永远抱着一颗好奇心虔诚地去学习。

 

关于平常心

问起他选择创业这条路,他用一句话淡淡地解释了所有。

适合自己的才是最好的。

这句最普通的话却最适用不过。Allen 说 DaoCloud 最适合自己,而人人眼红的 BAT 却不一定真正适合自己。

选择这条路主要是跟个人的理念非常相关。很多人盲目地选择 BAT,却不知道自己到底能做些什么,对自己到底想从事什么职位也没有清晰的认知。

Allen 说,在就业的时候始终想着能够去找一份自己真正感兴趣,确实能够充分发挥自己能力的工作。 他个人的方向就是更喜欢做一些原理方面的东西。

对我来说这一切都与心态有关,我常说自己有一颗平常心,面对任何事都不会大喜大悲。

有过诱惑,有过抉择。他抱着一颗平常心,明确了自己的目标以后,一旦决定后就不再动摇。他也收到过一些给出很高薪金的 offer ,但是他还是一一拒绝了。

当有人夸奖他年轻有为时,他也只是谦虚地说一句:

我也仅仅是比还没接触这个领域的人早一点做这件事而已。

他就是这样一个白羊座的大男孩,简单,纯净,有行动力而充满斗志。

 

关于初心

他告诉我,写这本书的初衷很简单,一开始仅仅想着要去做一些小事可以改变点什么,也就是 make something different。“所以我想去普及 Docker,让大家知道 Docker 是什么。”

这就是所谓的初心吧,我一直怀揣着一个布道师的梦想。

他的确是这样想的,就是单纯地想去分享,想去让更多人了解 Docker 到底是什么东西。

你真正用起来 Docker,会发现很多问题都难以解决。但是如果你知道他的内部结构,很多问题就又很好解决了。 因为对一个公司或者组织而言,使用 Docker 确确实实可以大大减少成本。之前没有人这样走过,但是我走了,我了解了,所以我就很想让更多人明白 Docker ,想把它的优秀和便利分享给更多人。

这就是我的初心,带着这份笃定,所以做很多事情就顺其自然了。

Allen 一直积极为普及 Docker 做着一些力所能及的事情,他常常在各类社区上回答关于 Docker 的各类问题,他也会手把手地教小白们学习 Docker 。

为了写这本书,其实 Allen 也付出了很多精力和时间。这本书的创作绝大部分都是 9-11月份完成的。这个时间段恰好是求职季,以及写毕业论文的时间。他说他内心深处觉得应聘是应试教育的延伸,所以自己从来没刻意追求过什么。只是因为那份初心,做着自己喜欢做的事。

 

关于创业

热爱技术的人,也会有很多出路,“创业”似乎与其并无直接联系,而我却选择了它。研究系统或者软件,清楚白盒只是第一步,评价其优点算是心得,批判其缺陷能算上乘,立志做改变则绝对属于佼佼者。

参加了很多大企业的招聘,一半以上都是企业招人,并不是自己在选合适的企业或岗位。记得当时,某大企业面试官说:企业毕竟是企业,真正的人才能在公司需要你的任何时候顶上,你是否能接受部门安排对你另有安排的情况?答曰:能理解,但不想如此。相视而笑之下,彼此的心思大致可意会。当时的回答算是多了份任性,反向思考也许大企业的制度不太适合我,毕竟从大企业而言,庞大的部门管理需要通过“去能力化”提高效率。

有些想法,不管是职业发展方面,还是技术发展方面,能被人理解总是一件好事,但无论如何志同道合的事不可能天天有。很幸运,在求职季还能有机会与当时技术圈的一些朋友促膝长谈。所谓的交换看法,竟让自己的想法走得更远,我想深度交流的不谋而合,研究生期间也为数不多。出于信任、处于信念,走出创业的那一步,自己想想也并非那么的不可思议。

最后说一下创业的感受:自由,有干劲,但往往要辛苦一些;未知,多历练,跌爬滚打也多一些;风险、有挑战,也许回报也多一些。

最后谈谈 Docker 的昨天今天明天

毋庸置疑,Docker 已然是全球最火热的开源项目。目前,全球的技术人员对于 Docker 的学习、实践与理解也在不断进步。两年前 Docker 诞生,当时业界大多将其与传统虚拟化技术对比,尝试获取更佳的资源分配模式;随着 Docker 镜像的普及,运维管理一体化方面的潜力,迅速释放众多运维人员的压力;接着,一阵阵持续集成/持续交付的技术风刮过,提高项目的集成与发布效率;技术永远是未来的风向标,Docker 的潜力绝不限于此,微服务的兴起不断在改变传统的应用模式,而据 Docker 创始人 Solomon 在 DockerCon2015 所言,Docker 的未来正是有意重新定义分布式应用。

Docker 项目目前的热点很多,这也是全球有大量开发者参与 Docker 项目的重要原因。具体而言,我认为安全、网络与容器编排是全世界最关注的热点。革命性的技术诞生,或多或少会出现难以满足个别传统需求的情况。这是新技术必须考虑的问题,也是新技术能否被更广泛接受的重要指标。Docker 自然也不例外。可以说 Docker 的很多完美特性,都是在牺牲隔离性的情况下完成的,因此 Docker 的安全毫无疑问是一个举世瞩目的话题。另外,Docker 的网络并非尽善尽美,目前容器的网络缺少有效的管理,导致跨机能力较弱。容器的编排技术与微服务可以说是相辅相成的,这同样会是一个备受关注的热点。

Tips

亮哥的书正在各大网站上火热售卖中。现在获取亮哥的《Docker 源码分析》有以下三种方法:(此处等书到的时候拍一些照片)

方法一:在 当当京东亚马逊互动出版网 上搜索关键字「 Docker 源码分析」,即可在线购买!原价 59 元的图书即可以优惠价购得。

方法二:免费获取《Docker 源码分析》!现在参与 DaoCloud 邀请有礼活动,只要您成功邀请八位好友后, DaoCloud 将为您寄上 《 Docker 源码分析》一本。

方法三:充值 49 元,成为 DaoCloud 专业版套餐用户,我们立刻为您免费送上作者亮哥签名版《 Docker 源码分析》!

DaoCloud 公司简介:「DaoCloud 道客」云原生领域的创新领导者,成立于 2014 年底,拥有自主知识产权的核心技术,致力于打造开放的云原生操作系统为企业数字化转型赋能。产品能力覆盖云原生应用的开发、交付、运维全生命周期,并提供公有云、私有云和混合云等多种交付方式。成立迄今,公司已在金融科技、先进制造、智能汽车、零售网点、城市大脑等多个领域深耕,标杆客户包括交通银行、浦发银行、上汽集团、东风汽车、海尔集团、屈臣氏、金拱门(麦当劳)等。目前,公司已完成了 D 轮超亿元融资,被誉为科技领域准独角兽企业。公司在北京、武汉、深圳、成都设立多家分公司及合资公司,总员工人数超过 400 人,是上海市高新技术企业、上海市“科技小巨人”企业和上海市“专精特新”企业,并入选了科创板培育企业名单。

未经允许不得转载:DaoCloud道客博客 » 一个不喜欢玩黑盒的程序员—专访《Docker源码分析》作者孙宏亮

申请试用