DevOps in an ITIL Shop Not just compatible; DevOps achieves ITIL s promise.
Can DevOps & ITIL Coexist? ITIL Avoid Failure Rigorous Change Management and control Application Development not addressed Waterfall paradigm: Service Design Package contains complete signed-off requirements Solution is obtained (or developed) Solution is tested & validated against the Service Design Package Completed service is deployed DevOps Fail Fast Multiple deploys per day (maybe 100 s of them) Integrate Dev & Ops so the two operate as one Agile paradigm: Emergent requirements Incremental development Continuous testing Regular deployments Feedback from production to Dev
1970 s 1980 s 1991 2001 2005 2007 2011 2016 1960 s 1950 s Historical Context Gartner mentions DevOps DevOps Increasing Creation of and Dependence on Computer- Based Services UK Government Builds Library of 40+ books about Information Technology Best Practices -- The original ITIL British Standard 15000 ITIL V2 -- Library Refined into 9 Books Establish IT Information Management Forum (ITIMF) -- Later becomes IT Service Management Forum (ITSMF) ISO 20000 2005 ITIL V3 -- Library Reorganized by Lifecycle Phases into 5 Books ITIL 2011 -- Library updated
Where DevOps Fits into ITIL SDP Continual Service Improvement Application Management function Change Management process Release and Deployment process
Continual Service Improvement CSI Purpose: Align IT services with changing business needs by identifying and implementing improvements to IT services that support business processes Improve service effectiveness, process effectiveness and cost-effectiveness Inward Focus Incremental improvement Outward focus Revolutionary improvement Accelerate the process
Application Management Function Not Application Development Ops group with an Application Focus Support the organization s business processes by helping to identify functional and manageability requirements for application software, and then to assist in the design and development of those applications and the ongoing support and improvement of those applications. DevOps-like Dev & Ops collaboration No ITIL Guidance on how DevOps fills this gap
Change Management Process Purpose & Objectives Control the lifecycle of all changes, enabling beneficial changes to be made with minimum disruption to IT services. Respond to the customer s changing business requirements while maximizing value and reducing incidents, disruption and re-work. Respond to business and IT requests for change that will align the services with the business need. Ensure that changes are recorded and evaluated, and that authorized changes are prioritized, planned, tested, implemented, documented and reviewed in a controlled manner. Ensure that all changes to configuration items are recorded in the Configuration Management System. Optimize overall business risk it is often correct to minimize business risk, but sometimes it is appropriate to knowingly accept a risk because of the potential benefit.
DevOps & Change Management DevOps makes application changes: Routine Risk-free Application release and deployment become Standard Changes Pre-authorized (no meetings and analysis required) Application Management function authorized to: Release and deploy on demand, or Enable automatic deployments Set up scheduled periodic deployments
Release and Deployment Process Plan, schedule and control the build, test and deployment of releases and to deliver new functionality required by the business while protecting the integrity of existing services. Incidents caused by deployment of changes: Non-DevOps shops: Constant source of risk DevOps practices reduce by an order of magnitude Fully automated deployment process Automated process tested in Dev many times High deployment frequency further reduces risk Fast, easy recovery blunts impact of failures
DevOps Release and Deployment Fully Automated Fully automated Deployment Pipeline: Compile Build Test Package Deploy Net result: Eliminate human error Enforce standards Produce auditable log Achieve consistency Enable full visibility
DevOps Release and Deployment Tested in Dev The same automated deployment process is used to deploy the application into all environments Development Functional Test Performance Test Production Staging Production Net Result: Fully tested before deployment to Prod Programs Scripts Configuration files Low risk of failure
DevOps Release and Deployment High Frequency Easy & Risk-free deployment = Deployment more often (to both Dev & Prod) Net Result: Automated deployment is tested a lot Each deployment is a small change Reduced impact of Application functional bugs
DevOps Release and Deployment Fast, Easy Recovery from issues Bug fixes can be deployed quickly Rollback is also automated Simple case: Deploy prior version using original automated deployment Messy case: Perform automated rollback Built and tested during dev What ITIL recommends
Implementing DevOps in an ITIL Shop Dev & Ops (& Test & Security & ) learn to collaborate, then Reform processes Define standards Build a Deployment Pipeline Choose and implement tools Obtain Standard Change authorization for deployments from Change Manager by demonstrating low risk It will take months or years but is so worth the investment!