当前位置: 首页 > 科技观察

探寻ITIL与DevOps的边界

时间:2023-03-16 01:57:05 科技观察

其实在今天的运维领域,ITIL与DevOps的冲突还是比较明显的,有的表现在产品上,有的表现在思维/理念上。ITIL以流程为核心目标的产品设计很难满足自动化的要求。DevOps大力提倡工具/平台/自助服务文化;这个概念也是如此。ITIL以流程为先介入企业的IT流程。本质上这两者不是一回事,但是着眼于运维领域,这个问题还是值得比较和探讨的。在EXIN官方给出的DevOps***框架中,很多因素结合在一起。对于整个产品生命周期,可以看到敏捷管理、持续交付、IT服务管理等几个典型的阶段。当然,本文并不是简单地讨论DevOps与ITIL的full/subset之间的关系,让大家直接下结论,不谈了。首先让我们看一下持续交付的既定原则:为发布软件创建一个可重复且可靠的过程自动化几乎所有事情将所有事情置于版本控制之下尽早并经常做那些让你痛苦的事情构建质量““完成”意味着“已发布”交付过程是每个成员的职责持续改进其中有一句说——“Automatealmosteverything”,持续交付涵盖了[部署]和[运维]两个操作维护相关的阶段。过去我一直强调运维维护其实就是交付,就是这么来的。那么什么是部署自动化?什么是运维自动化?自动化部署就是通过部署平台把相应的变更推送到开发、测试、生产环境,不依赖在某个人或角色上执行。这里强调的部署平台能力是针对所有环境的-开发部署、测试、生产等,必须支持灰度部署、蓝绿部署等。运营是在线服务运营阶段,包括监控、服务变更、服务优化、容量预测和规划等。其实IT运营和产品运营有很多相似之处,只是两者从对象上看不同,一个是IT对象,一个是产品对象。所谓运营,就是建立一套服务流程或流程(有ITIL部分),整合公司内外有限资源开展的一系列活动,以更好地服务客户。狭义的IT运维可以理解为维护。广义的IT运营可以包括产品体验优化、用户满意度提升、应用性能管理、安全、质量控制等,质量控制是IT质量运营的一个维度。上面说了自动化的原理,那么操作流程的自动化应该怎么做呢?如下图所示:流程或流程可以分为两部分:一部分主要是针对“线下任务”的管理流程,另一部分是针对“线上服务”的执行流程,兼顾管理和执行。从互联网的现状来看,ITIL的应用越紧密,ITIL的力量就越弱,在传统行业的表现力还没有体现出差异。如何将两个过程结合起来,有三种模式:注:左边是管理流程,右边是DevOps执行流程方式一:每个流程节点需要调度一个执行工具来工作优点:流程效率大大提高,集成度高。适用场景:CMDB资源申请流程,一些配置变更流程等。此模型不再站在审核者的角度来看,而是着重于执行者的角度。示例:CMDB主机列表processfragment(asecurities)Process是流程平台,CMDB是配置管理平台,RFID是主机管理平台。流程平台开始直接带动相关平台。这是设计流程时画的交互图(对应【选择柜子】链接),这个链接和其他平台交互的时候。方式二:审批流程完成后,即可进行执行流程。优点:优先考虑流程规范,兼顾流程自动化能力,但流程本身的效率变化不大。适用场景:用于大规模的变更或发布工作,或者传统企业的变更流程。这种模式从管理者的角度出发,将效率和流程结合起来。方式三:在执行流程中设置一个节点,定期检查管理流程的审批状态。优点:先有效率,后有标准。适用场景:基于互联网的变更发布流程、持续交付流程、运维变更流程等。该模型从执行者的角度出发,以效率为最终原则。示例:该模式遇到多个真实客户场景,我推荐一个类似的方案。尤其是当一些流程不在ITIL中时,比如使用JIRA系统进行研发流程管理(如发布流程),而运维部署平台是一个独立的集合,两者如何衔接和整合?第一次发布的过程。此时,在以应用为维度的变更升级流程模板中,会有一个Check节点,主要用于检查ITIL流程的状态。如果审核通过,则向下执行部署工具中的执行流程,称为“交通灯机制”。把ITIL比作马路上的红绿灯,把DevOps执行工具比作路上的汽车,秩序、效率、安全等方面都可以兼顾。红绿灯的复杂程度还取决于道路的复杂程度、拥堵程度、交通状况等多种因素。这就像业务流程的复杂性一样,所以不要一概而论。想想今天的DevOps,你需要用结果来定义你的IT模型是否是DevOps,比如版本交付周期、故障恢复能力等等,必须是效率第一。同样,我们在思考ITIL流程实践的时候,也要兼顾效率,用工具思维来简化流程。不可否认,他们有自己的价值观和场景,在管理和执行方式上都有定位。至于进程的模式,我也总结了三种供参考。ITIL面向管理流程;DevOps是面向IT运维流程的。ITIL是规则引擎;DevOps是执行引擎。ITIL强调规范;DevOps强调敏捷性。ITIL针对离线任务管理;DevOps的目标是在线服务管理。ITIL不等于追求稳定;DevOps并不是以牺牲稳定性为代价来追求效率。.....【本文为专栏作家“王金银”原创稿件,转载请注明出处】点此阅读更多该作者好文