For a number of years, DevOps has been one of the industry’s top buzzwords. With all that talk about this relatively new concept, however, it seems like most IT experts still have but a vague idea about DevOps: sure, it helps enhance IT service management (ITSM), but isn’t that what ITIL has been helping us do for decades? So how is DevOps different, and why should I adopt it? Am I to replace ITIL, or can the two work together?
Clarifying the divide between ITIL and DevOps
Before we move on to exploring the relationship between these two concepts, it’s a good idea to first understand just what ITIL and DevOps are:
ITIL (Information Technology Infrastructure Library)
ITIL is the most widely adopted approach (and therefore, the de facto standard framework) for IT service management. This formalized framework for IT best practices aims to align IT services with business objectives, and to achieve that end goal, it contains the descriptions of processes, tasks, procedures, and checklists. Essentially, the primary goal of ITIL is to ensure that IT services are provided in a way that focuses on the client, and optimizes costs.
The latest, 2011 version of ITIL describes 26 processes covering the stages of Service Strategy, Service Design, Service Transition, Service Operation, and Continual Service Improvement. Overall, the framework encourages the early involvement of technical management and functional / development teams in service strategy, design, and transition. The benefits of this, and therefore, of ITIL overall include:
- Closer collaboration & better alignment of goals between IT and the business
- More transparency and efficiency, leading to reduced IT costs
- Enhanced customer satisfaction due to the improved delivery of services, and better management of issues
- Overall a more stable service environment
As explained thoroughly in our 2-part post series on the evolution of DevOps (Part 1, Part 2), DevOps can be considered an extension to, and the application of Agile philosophy to Ops and the servicing of applications. While ITIL is a formal set of processes, DevOps is more of a philosophy that involves people, processes, and technology in order to encourage cooperation and collaboration between Dev and Ops.
This approach aims to bridge the divide between these previously siloed disciplines, where Development strives to bring more functionality and appealing features to users, while Ops just wants to make sure the application runs reliably and remains stable at all times. DevOps helps make sure that these seemingly opposing goals are aligned and that members of both teams work together on solving issues, rather than creating issues for each other by simply hurling the output of their work over the wall that divides them. DevOps is implemented to encourage early and frequent communication between these two groups by involving both Dev and Ops people throughout the lifecycle, thus breaking down barriers.
Applying the DevOps approach promises the following benefits:
- more frequent releases, more efficient deployment, and faster time to market
- increased stability: lower chance of product failure once deployed, and faster time to recovery after unexpected events
- increased efficiency through automation
- scalability and accountability of (Dev and Ops) processes
Can ITIL and DevOps work together?
This short introduction to both approaches is enough to understand that collaboration and communication are at the root of both ITIL and DevOps. In their fundamental goals, they are really not much different, and even when you get down to the nuts and bolts of implementing them, it is obvious that ITIL and DevOps are not conflicting approaches. In fact, some even go so far as to claim that “DevOps is not different from mature ITIL Release Management”. ITIL’s Service Design volume explicitly supports iterative and incremental design, which is the backbone of DevOps’s Agile roots. Like DevOps, ITIL also calls for the use of service automation (in change, release, and deployment management) to enhance speed and efficiency, although it does place great emphasis on process mapping, analyzing, and planning.
A modern and integrated approach says that ITIL should actually be regarded as a stepping stone to DevOps: by using ITIL processes, implementing DevOps is easier and more efficient. But they are more intertwined, and so their relationship is not as hierarchical but rather complementary. Implemented the right way, DevOps enhances ITIL, and ITIL improves DevOps.