专访刘康:Coding这件事,未曾拥有,也未曾远离

Docker这一容器化技术目前正处于新浪潮的中心,这一浪潮波及了应用的构建、打包和部署。它有可能影响计算机技术的方方面面,从应用程序的开发流程到应用程序如何部署以及跨大规模数据中心进行垂直和水平扩展。
web

尽管Docker很是流行,但它依然是一个很是新的项目,许多人并无真正理解什么是Docker。安全

今天咱们有幸请到了《深刻浅出Docker》的译者刘康老师,来听听他的所思所想。网络


《深刻浅出Docker》运维

做者:【英】Nigel Poulton(奈吉尔 波尔顿)异步

译者:李瑞丰 刘康工具

异步社区:能够介绍一下本身吗?目前正在作哪些事情?

刘康:我是一枚年近不惑转行IT的大龄北漂大叔。回想上学的时候就对代码感兴趣,喜欢本身捯饬点玩意儿,人送“C++小王子”、“Java小王子”之类的称号,实则放到计算机学院连“儿童玩具”级别都算不上。性能

从读研实习开始,在咨询行业笑脸相迎地伺候各类甲方达五载有余,带给个人成长也是显著的,工做中提高了快速学习能力,Office熟练到用VBA都能写出俄罗斯方块来,也主导过企业业务系统的建设。Coding这件事,未曾拥有,也未曾远离,始终在心中是一件挥之不去的念想。单元测试

因而在2016年决定追求真爱,从浪潮信息开始了与IT的“甜蜜生活”,后来去过百度,目前在一家IT初创公司北京世纪诚链科技。庆幸本身转行还算及时,对“爱一行干一行”和“兴趣是最好的老师”有深切体会。如今主要关注DevOps、运维相关的领域。学习

异步社区:是什么缘由开始翻译《深刻浅出Docker》一书的?您是如何评价这本书的?

刘康:我是被老同事李瑞丰同窗叫来翻译的这本书。他是Java大牛,在对待技术方面很认真很执着,因此当时打过电话来讲一块儿翻译,我几乎没有犹豫,直接答应了。不过实话实说,大部分的翻译工做是瑞丰同窗完成的,我刚好工做上抽不开身拖了后腿,可是这段经历很棒,对本身提高很大,若是有其余翻译机会,还算会绝不犹豫的。测试

我认为这本书结合了入门书和教科书的优势,既通俗易懂,同时又系统而深刻,不管是初学者仍是有必定Docker基础的,均可以从中获得提高。

异步社区:Docker于2017年秋发布了第1版专业资质认证,称为Docker认证工程师,《深刻浅出Docker》中覆盖了认证考试的全部知识点,对于想经过认证的读者,您有哪些建议?

刘康:关注到该认证的读者一般是具备必定Docker基础和使用经验的,我想有一点须要注意的是,因为DCA是Docker公司的认证,所以考点天然是覆盖Docker企业工具集的内容,所以除了可能比较熟悉的关于镜像、容器及其网络的应用,还应关注用于编排和部署的Swarm、Stack,企业版工具UCP、UDT,以及诸如RBAC、DCT、DTR等企业级特性。

DCA是Docker官方的第一个认证,而《深刻浅出Docker》也是至出版时第一本完整覆盖该认证考试的系统书籍,想经过认证的读者,建议从本书开始准备。

异步社区:本书做者Nigel Poulton,亚马逊畅销图书做者,Docker Captains专家,存储专家,Docker技术先驱,您以为做者在业内的影响力有哪些?

刘康:(瑞丰的回答^_^)Nigel Poulton做为Docker社区的领军人物,熟悉Docker相关技术而且热衷分享。还著有Data Storage Networking,The Kubernetes Book,对操做系统和虚拟化技术有着深入的理解。

Nigel在pluralsight上已经分享了16部容器相关的视频教学资料,广受好评,对Docker和容器的推广发挥了重要做用。

异步社区:为何有人会选择Docker而非大型二进制文件?

刘康:Docker相对来讲有几个显著的优点。

首先我想是在CI/CD中的应用,容器具备自然的环境标准化的特色,从而弥合了研发、测试和运维之间的隔阂,使得DevOps的概念真正获得技术层面的支持,从而极大提高了研发与部署的效率。尤为是对于运维人员来讲,使用容器更加自动化,Kubernetes等编排工具的加持又进一步推进了容器技术的应用。

此外,正如其名,Docker具备很好的可移植性,可以运行在多种不一样的基础平台,就像一套家具家电放在不一样的户型中可能会不合适,可是若是干脆开一辆五脏俱全的房车,甚至能够去到古城、草原、湖边,而对比房车的比喻,Docker的好处是,相对于大型二进制文件来讲,本质上仍是进程,并未带来显著的成本提高,可是灵活度大大提高。此外,版本控制、滚动升级也是大型二进制文件难以企及的优点。

对于向我这样有系统洁癖症的人来讲,Docker简直是太大的福利了,它与米线摊老是喜欢把米线盛在套有塑料袋的碗中同样,吃完连同塑料袋一丢,留下干净的碗。固然这比喻既不环保也不健康,不过运维人员的管理方式却发生了相似的变化,对待集群中出现故障的节点,只须要自动化地kill掉容器重新起一个便可。并且这种隔离性也提升了安全性以及对于安全方面的可操做性。

异步社区:针对刚刚工做的小白,学习Docker您有哪些建议?

刘康:我以为首先是要多动手,从使用者的角度,熟能生巧;过程当中要深刻理解计算、存储和网络方面的原理。而后结合Docker Compose、Docker Swarm、Kubernetes理解容器编排的使用。

最好可以结合应用场景,好比自动化测试、自动化运维,使用Docker和相关编排工具简化平常工做,提高团队研发效率,可以极大加深对容器应用的理解。

异步社区:您以为运维从业人员的挑战和新要求是什么?

刘康:在如今互联网和云计算大行其道,持续集成与持续交付研发模式盛行的形势下,DevOps和SRE这样的先进运维理念愈来愈深刻人心,运维的角色定位也在逐步发生变化,更加聚焦持续集成和发布、场景化的自动化运维、智能监控等概念的应用与实践,而传统运维软件逐渐难以适应运维的需求,运维人员也须要进行开发和平台建设,不只要掌握容器技术、容器编排技术、虚拟化技术等底层技术,还要关注如何基于这些底层技术将自动化与智能化运维落地。

异步社区:Docker的优点是什么?您以为最适合应用在哪些场景?

刘康:除了前面第5个问题提到的标准化、可移植、隔离性、安全性等优点之外,从研发的角度,因为Dockerfile、Compose文件、以及相似K8S这样的容器云管理平台的部署脚本的存在,使得Code as Infrastracture称为可能,比较适合用在测试与运维上。

测试方面,好比circleCI就是利用标准化的容器进行不一样语言代码的自动化测试,持续集成的执行过程使用脚本描述,并落地到容器中进行执行。

运维的话更加适合互联网企业中更新迭代较快的大规模集群部署环境,经过灰度滚动发布,有利于快速更新业务需求,而完善的智能监控与故障自愈也为大规模集群的管理提供了便利。

异步社区:对于 Docker 更名 Moby ,你们怎么看?

刘康:从社区的广泛反映来看,跟多的人认为这个作法彷佛有些过激了。

从商业角度,Docker公司处于产权保护,但愿保有“Docker”这个词,主要指Docker公司及其产品,将开源内容调整到Moby,Docker与Moby的关系就像Redhat和Fedora。

从技术角度来讲,正如本书中所言,Docker项目已经被拆分为许多模块,而且还在继续拆分,Moby项目更多做为总成项目用于集成构建各个子模块。

Docker的成功基于开源,之后仍将如此吧。

异步社区:Docker在web开发中得使用流程是怎样的?

刘康:Docker的做用之一是统一开发环境,所以在开发、测试与部署阶段应该使用一致的容器环境。该容器环境可使用官方镜像,也能够团队本身构建镜像,构建的镜像的Dockerfile,以及搭建开发与测试环境的Docker Compose文件,应看成为代码的一部分置于版本管理中。

开发人员提交代码后,一般会触发持续集成流水线,自动化的代码检查、单元测试、集成测试等过程都应该由专门的Docker镜像启动容器来执行。持续集成流水线成功执行后,可自动或半自动触发持续交付。

交付部署的生产环境的容器镜像应与集成测试和冒烟测试的镜像一致,部署过程当中借助容器编排工具进行灰度发布,经过AB测试观察稳定性和用户接受度,并逐渐滚动发布实现全量上线。

异步社区:最后,给刚入行的小白推荐3本专业书,您最想推荐哪一本?

刘康:学习Docker的话推荐《个人第一本Docker书》、《深刻浅出Docker》,官方文档。

刘康:于2012年以自动化专业硕士学历毕业于山东大学。同年7月做为技术咨询顾问任职于埃森哲,客户为全球前百强的大型央企,期间前后参与和主导了十余个项目,主要侧重于企业信息化管理和数据分析能力的提高。因为对IT技术的痴迷,决定转行,并于2016年初加入浪潮信息,做为一名DevOps工程师,参与了项目组研发平台的设计、建设与维护,组织培训推进项目团队过分到CI/CD研发模式。2017年7月加入百度工程教练团队,负责支持手机百度研发团队的工程能力提高。2018年4月至今,做为运维开发总监任职于初创公司北京世纪诚链科技,工做内容涉及DevOps、BaaS平台建设、自动化测试、性能调优等方面。我的博客地址:https://blog.csdn.net/get_set。


《深刻浅出Docker》

做者:【英】Nigel Poulton(奈吉尔 波尔顿)

译者:李瑞丰, 刘康

推荐理由:

亚马逊畅销图书做者,存储专家,Docker技术先驱Nigel Poulton全新做品

美亚操做系统排名第一的Docker入门书

被业内誉为:高中生也能看得懂的经典入门书

本书是一本Docker入门图书,全书分为17章,从Docker概览和Docker技术两部分进行全面解析,深刻浅出地介绍了Docker的相关知识,清晰详细的操做步骤结合大量的实际代码帮助读者学以至用,将Docker知识应用到真实的项目开发当中。

题图来源:Hadi Malijani

- END -

相关文章
相关标签/搜索