基于开发运维一体化(DevOps)的变革正在如火如荼的展开,DevOps借鉴敏捷开发方法,并提出轻量化运维的概念。那么,DevOps是敏捷开发的进化版还是ITIL的颠覆版呢?这是一个值得关注的问题。
在DevOps框架中所表征的研发部分主要应用敏捷开发的佳实践,比如Scrum方法等。其中敏捷所提倡的时间盒子(Timebox)、限制在制品(WIP)、持续集成(CI)和定义完成(DoD)等管理思想同样也适用于DevOps。
DevOps在Agile的用户故事的基础上还创造性地提出测试故事和运营(运维)故事的观点,可见DevOps在继承Agile优势的同时,更加强调IT服务或应用全生命周期的管控,即包括运营(运维)的管控。
谈到ITIL,我们知道ITIL有很多流程,更多的是以流程的形式来驱动管理交付。而DevOps更加强调通过自动化的平台和工具来实现自动化的运维。
Devops强调在运维层面要创建轻量级的只包含必要信息(Minimum Required Information,MRI)的ITIL内容,比如服务设计包(SDP)、服务验收标准(SAC)、服务级别协议(SLA)、变更和配置管理流程等。
DevOps尤为强调配置管理的重要性,只不过DevOps所关注的配置更多的是待发布的软件的版本控制,包括软件代码,自动化的部署脚本和初始化的数据或环境为DevOps所考虑的配置管理的范畴。这些配置项的改变都需要纳入严格的变更管理控制的范畴。
总之,DevOps对敏捷是爱之深,对ITIL却是有选择的借鉴其必要的流程和方法。
DevOps试图拥有属于自己的天空,但是未来我们可能发现DevOps、敏捷和ITIL会同属于一片蓝天下。