企业级DevOps技术与工具实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

本书背景

研究人员在对全球各大公司的调研中发现,DevOps几乎在各个行业都已经有了成功的实践案例,同时越来越多的理论体系和实践经验不断地被融入到DevOps中,DevOps因此受到越来越多的关注。在2018年的DevOps研究中,有29%的受访者声称正在从事与DevOps相关的工作,然而DevOps是什么,到目前为止仍然没有统一、标准的定义,但这并不会阻止企业DevOps实践的脚步。

自2015年起,我一直在从事与DevOps相关的咨询、培训、落地实施及其相关的研发工作。由于工作的关系,我认识了付睿编辑,于是产生了将相关内容整理、总结成书的想法。而张笑梅老师在敏捷和精益管理方面有着非常多的实践经验和知识积累,她可以弥补我在这些方面的不足,这也促成了我们共同完成这本书的想法。张笑梅老师将 DevOps 基础理论中的很多知识进行了系统的整理与分析。比如,对传统制造业和IT行业中的浪费比较等方面进行了分析,使我受到很大的启发,相信这也会给读者带来启发。

阅读方式

本书从 DevOps 的基础理论、工具种类与集成方式、实践方法与经验、常见理解误区等方面进行组织和展开,对于不同的阶段,建议读者从不同的视角、用不同的方法去阅读本书,从而直入要点、满足所需。希望通过阅读本书,读者可以有以下三个方面的收获。

● 对DevOps基础理论的全面理解。

通过对DevOps发展现状的介绍,读者可以了解当前DevOps的发展状况。书中结合敏捷和精益管理方面的背景和基础知识,阐述了企业在 DevOps 实践中需要注意的事项;还对企业如何构建DevOps文化,结合相关实例,进行了说明。

● 选择和构建合适的工具链。

工具及其使用方法介绍是本书的重点,针对软件生命周期的各个阶段,本书列举了常见工具并对其进行了功能特性的分析和介绍,同时选取较为典型的工具进行了更为深入的讲解。虽然与 DevOps 相关的工具众多,本书未能一一列举和介绍,但是通过本书对这些常见工具的介绍,相信读者能够窥一斑而知全豹。

在DevOps工具的实际使用过程中,自动化和集成化是其重要的工作方式,同时也是趋势,因为单个工具所能实现的功能毕竟有限,而将多个工具结合使用可以实现的功能将会极大地增强。本书主要使用自动化集成的方式对工具进行介绍,一般会通过REST API方式介绍工具的使用方法。在对工具的分析和介绍中也会重点确认此工具是否采用了CLI或者REST API集成的方式,因为这样的集成方式是DevOps 实践的重要前提和特征,读者可以根据自己的实际需要组合使用工具,而不必求全求多,建立合适的工具链才是最重要的。打通工具间的衔接,结合组织的实际状况进行流程的优化,这些才是建立工具链需要重点关注的内容。

● 实践的原则与策略。

虽然在DevOps中,工具非常重要,但是DevOps并不是工具的简单集成,它还包含很多其他内容。比如,工具选型的原则和方法;企业的评估模型,用于对 DevOps 的实践状况进行评估,并以此为基础不断改善;整体的安全机制;从设计到测试的各个阶段需要遵循的原则与方法,等等。本书尝试从多个方面来阐述这些内容。

关于示例

容器化在推动DevOps实践中有着先天优势,在条件允许的情况下,最好以容器化方式对工具进行安装和设定。我们强调环境的一致性,而容器本身就可以保证这一点,这也避免了大部分工具在安装和设定时出现环境不一致的情况。对于没有学习过容器基础知识的读者来说,如果希望快速补充这方面的知识和基本技能,可以先从第19章开始阅读。第19章对Docker和Kubernetes的使用方法进行了介绍,应该会对一些对此部分知识掌握不足而难以进行DevOps相关工具集成的读者朋友有所帮助。第 19 章结合实际的场景,对容器的使用方法进行了介绍,其中大部分相关脚本和容器化会用到的Dockerfile都放到了GitHub的easypack项目上,其目的是为使用者提供各种工具以使他们快速使用已经完成了安装和部署的脚本或镜像,避免在环境安装方面浪费时间,但是我个人精力有限,在此欢迎读者朋友也能够加入这个项目。

关于勘误

DevOps在理论上和工具使用上非常复杂,因此,本书讨论的内容非常繁杂,仅工具就列出了13类,每类工具中至少选择了一种进行重点介绍。因为我个人的精力和知识水平有限,所以书中难免有疏漏、错误的地方,还望发现问题的读者给予指正,大家可发送问题至邮箱liumiaocn@outlook.com。另外,我会在个人的CSDN博客上发布长期置顶的内容勘误帖,欢迎读者朋友指正或参与讨论。

致谢

首先感谢我一生的挚爱——Lynn,她花费了很多时间来对本书中“索然无味”的文字进行校对并查验错别字。本书的大部分内容来源于我的博客,有读书笔记和感悟,也有对项目实践及工具使用技巧的总结,这些内容虽然获得了一定的阅读量,但是有实质性内容的评论不多,这使得我一度认为其中的错别字很少,现在看来完全是读者的“包容”而已。回想起来,对于一个专业的HRBP,Lynn能够将晦涩难懂的技术文章读下去的唯一动力大概就是对我无私的爱吧。而像付睿和刘建山等多位专业编辑,他们的专业和认真程度也让我折服,在这里请允许我一并谢过,感谢他们的付出。

我和张笑梅老师因DevOps而相识,我们之间的很多合作都与DevOps有关,我们曾一起做过相关项目的研发,在2018年也一起为《DevOps最佳实践》中文版做过审读。回到本书,张笑梅老师的加入为本书的理论部分增色不少。从初涉 DevOps 到现在,我也接触了很多领导和同事,在他们的支持下,我的很多想法才能得到验证和实践,感激之情难以言表。最后,虽然自己尚觉不足,但这本书里还是有很多值得学习的理论基础和实践经验,希望能够带给读者一些触动和启发。

参考文献说明

为了保证参考文献相关链接实时更新,特地将“参考文献”文档放于博文视点官方网站,读者可在http://www.broadview.com.cn/37246页面下载或通过下面“读者服务”中提供的方式获取。

【读者服务】

● 获取博文视点学院20元付费内容抵扣券

● 获取免费增值资源

● 加入读者交流群,与更多读者互动

● 获取本书参考文献文档

扫码回复:37246