大规模组织DevOps实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

DevOps代表了IT领域最新的发展趋势,传统金融IT部门在尝试DevOps转型中碰到各种问题和诸多误区,我们在 DevOps 领域深耕多年,结合金融企业实际问题进行各种探索与实践,提出从流水线设计、自动化、度量等多个维度进行 DevOps 体系建设,从而形成企业IT“专业化交付”能力的实践方法,构建全生命周期双模软件自动化生产发布与智能化运维的“BTO”蓝图。

我们将这几年在传统企业落地实施敏捷、DevOps的经验集结成书,分享给大家,希望能够帮助大家在DevOps的转型中少走一些弯路。

在本书即将出版之际,我想谈谈这几年从事 DevOps 领域业务的一些感悟,不管是帮助某运营商企业规划设计 DevOps 体系,还是在某科技公司担任架构师设计 DevOps工具平台,或者是现在所专注的工作——DevOps解决方案咨询和售前,我始终在思考一个问题,即如何将看似先进的DevOps思想和理念成功地导入国内的传统企业。

不管是不是敏捷、是否DevOps,始终要解决如下几个核心问题。

1.流程改进

如何使流程更加精益,以及通过杜绝浪费提高效率。

2.工具自动化

如何利用工具实现流程的自动化改进,使其具有可重复性及可扩展性,同时减少错误的发生。

3.平台及环境

如何为从需求到生产上线全过程中各种应用的交付流水线,搭建更具弹性、灵活、可伸缩、可配置的平台及环境。

4.文化

尤其是如何塑造信任、沟通、协作的文化氛围。

DevOps的实施一定要有业务目标。通常业务线对IT部门的要求包括快速交付、敏捷、创新、优质、低成本。因此,IT部门需要想办法建立以下能力:

□ 价值交付时间。

□ 部署速度。

□ 成本节约—交付时间。

□ 成本节约—测试时间。

□ 提高测试覆盖率。

□ 提高环境利用率。

□ 最大限度地缩短部署所需的停机时间。

□ 最大限度地减少部署所花费的时间。

□ 尽可能地减少部署应用的回滚。

□ 提高再现与缺陷修复能力。

□ 最大限度地缩短产品问题的平均修复时间(MTTR)。

□ 缩短缺陷周期。

本书分为思想篇、实践方法篇、工具技术篇、案例篇四部分,把传统企业实施DevOps会碰到的困惑,在开发、测试、运维三大领域各有哪些 DevOps 最佳实践,以及如何结合开源或商业工具打造交付流水线工具链,分别进行了阐述,希望对你在实施 DevOps转型过程中实现上述业务目标有所帮助。

本书出版之时恰逢国内DevOps领域蓬勃发展之际,DevOps相关的峰会已经举办了两年,我们一直关注会议的各类议题,发现从前几年的大谈概念为主,到近期大家纷纷聚焦在落地实践方法、工具链的打造、各种探索实验总结、国内外不同行业的实践案例等,这表明DevOps已经开始逐步深入人心,逐步地帮企业解决IT中的各类问题,走向更高级的发展阶段。

在出版本书的过程中,得到了所在公司新维数联(北京)科技有限公司(前身为“天维科技”)的大力支持,书中提炼的很多实践经验及工具平台设计理念来源于该公司的项目交付团队及产品团队。第6章“双模发布管理平台的设计与应用”的内容主要来自公司的 DevOps 产品线经理付勇两年多的实战经验总结,该产品 AutoChain 已经处于业界领先地位,更获得了传统金融行业(银行、保险)客户的认可,知名度比较高,值得大家参考借鉴其设计理念。另外,也要特别感谢新维数联的CEO王勇先生及VP王思国先生对本书的出版给予的支持和帮助,他们在 DevOps 领域的业务洞察能力和方向把握能力令我钦佩,王勇把软件系统的建设(Build)、检验(Test)、运营(Operation)提炼成了“BTO”蓝图,并以此为公司业务发展战略落实执行,在本书的成稿过程中也提出了很多建设性的意见。

本书中的“软件工厂”的先进软件工程思想来源于王杰先生,他是一个能深入思考和洞察软件行业发展趋势及传统 IT 行业各类问题所在的人。他一手创办了中国金融 IT行业最大的软件测试服务提供商——捷科智诚,提出“软件工厂”思想并创办了隆正互联公司,该公司的负责人吴向东老师也是我非常敬佩的人,在落地实施软件工厂的建设方面不遗余力,我也有幸在两位老师的指导下,基于 DevOps 的理念设计了软件工厂的生产流水线。书中不少实践经验的总结提炼都来源于我所服务的客户,如中国银行、中信银行、安邦保险、青岛银行等,在此也感谢他们给予我这么宝贵的实践机会和项目上的协助,让我在产品设计及理论方法上都能更上一个台阶。

本书关于软件标准化生产、IT CT 化的思想来源于与福建某运营商高管的交流过程中的领悟,获益匪浅,在此表示感谢;本书关于技术债务的处理实践方法来源于浙江某运营商的项目经验,在此表示感谢。该运营商曾在业界率先引入敏捷、DevOps思想,并建设了相关的 DevOps 平台,我有幸参与该平台的建设过程并负责相关规划设计工作,获益匪浅。

本书关于持续集成的部分案例来自深圳某政府单位的研发过程管控项目的实践,在此表示感谢。从这个项目的实践中我探索了中等规模企业对DevOps的需求与实践方法,提炼出不少有用的经验。

本书关于敏捷、规模化敏捷的思考受到光环国际李建昊老师的启发,该公司是国内最大的PMP、敏捷项目培训、咨询服务公司之一。

本书关于容器技术相关的内容得到了合作伙伴数人云的帮助,他们是国内专注于微服务、容器云、DevOps领域的公司,感谢公司创始人王璞和售前总监贺洪龙在DevOps合作项目过程中给予的帮助,以及对本书内容提出的宝贵建议。

本书关于持续集成过程中整合性能测试的内容得到了合作伙伴臻云科技的帮助,公司的创始人金发华、王凡基于开源的JMeter发展了业界领先的性能测试平台XMeter。

本书关于精准测试的内容得到了合作伙伴星云测试的帮助,精准测试所倡导的通过代码覆盖率度量测试充分度,关联测试用例进行精准回归测试的做法与DevOps的协同、自动化理念非常吻合。

本书成书过程中还得到了公司同事的帮助,如付勇、彭菲、陈强、彭伟国、黄凯、李翅展等,他们在各自的领域都非常资深,包括 Scrum、配置管理、自动化测试等,他们在并肩作战的各类项目中提炼总结经验,提供书稿素材,在此表示衷心感谢。

本书将采用敏捷思想持续迭代优化,欢迎大家提出优化修改建议,我将在“IT运营公社”公众号与读者进行互动。

陈能技

2018年7月