The question of whether ITIL® and DevOps are related is not new. People have many conflicting
views on the subject: some argue that ITIL and DevOps have different mindsets, some say that they
are compatible. Our view is that the two concepts are compatible and can support the mindset
needed to improve IT services delivery. This white paper focuses on the impact of DevOps on
IT organizations that currently work with ITIL best practices. How does DevOps impact service
design, transition and operation phases, and IT processes in general? But first we need to define
what DevOps and ITIL actually are.
What is DevOps?
Is it a culture? Is it a job title? Is it a way of organizing?
Or just a way of thinking? Well, there
are several opinions, but before we address the
“what”, let’s address the “why”.
The rise of cloud-based web applications is putting
IT under pressure. The IT user community is
demanding quick releases in response to issues
or requests and this often results in more defects
in operations due to poor development quality.
IT cannot afford to lose out; it must respond
rapidly and, at the same time, innovate and
reduce operational costs. This is also true for
daily change. The common challenge of many
IT organizations is: how can IT cope with the
changing demand for IT services? Change is the
new Run while staying in control of delivering IT
services to production.
DevOps attempts to solve this problem by developing
a symbiosis between development
and operations. DevOps focuses on creating a
fast and stable workflow through development
and IT operations. This means features can be
deployed into production quickly, and problems
can be detected and corrected as they occur.
DevOps is considered to be a new approach to
the traditional application lifecycle management
process or Systems Development Life Cycle
(SDLC) methodologies such as Waterfall and
the V-Model. To increase the involvement of the
business, more iterative and incremental (Agile)
software development methods are introduced
such as rapid prototyping and Scrum. Most
development methods lack the involvement of
operations and maintenance specialists and
infrastructure specialists. DevOps is an SDLC
method in which Lean and Agile principles are
combined with the involvement of all IT specialists.
Implementing DevOps is considered to be a
journey for which the experience of the organization
is the starting point. You can read more
about DevOps and implementation journeys in
our white paper ‘Four DevOps Journeys to Agility
& Continuity in Your Organization’.
What is ITIL?
ITIL is a set of practices for IT service management
(ITSM) that focuses on aligning IT services
with the ever-changing needs of the business.
ITIL describes processes, procedures, tasks, and
checklists that can be applied by an organization
for delivering value in the form of IT services. It
is interesting to note that ITIL also serves as a
benchmark for product vendors selling IT management
tools; in fact, they often market their
IT service management tools as “supporting”
ITIL processes. The question that now arises
is: is ITIL still relevant in today’s Agile world that
DevOps has taken by storm?
ITIL is still relevant in today’s Agile
world
Before we dismiss ITIL, we should remember
that ITIL is a best practice. Moreover, one of the
success factors of ITIL is that it is non-prescriptive.
ITIL is not explicitly opposed to Agile and
DevOps. The Service Design volume supports
iterative and incremental design, and mentions
Agile and XP. ITIL advocates continuous feedback
between the phases of the ITIL Service
Lifecycle.
Nonetheless, the implementation of ITIL in organizations
is, in many cases, suboptimal. This
can be due to a lack of capabilities or tools
but in many cases it is caused by a short term
focus (processes don’t matter, we want results)
and paying too much attention to continuity,
stability and security (which prevents flexibility).
Moreover, ITIL does not deliver best practices
for developing systems.
So, is ITIL relevant? Let’s see what some industry
experts have to say in this regard:
absolutely believe that ITIL and DevOps are
compatible. Karen Ferris – Director and IT
Service Management Expert
If you think DevOps and ITIL aren’t compatible
then you don’t understand either. James
Turnbull – Author, CTO at Kickstarter and
Advisor at Docker
DevOps does not diminish the value of ITIL – it
validates and matures it. Jayne Groll – President
of ITSM Academy and Board Member of the
DevOps Institute (DOI)
The goal of DevOps is not just to increase
the rate of change, but to successfully deploy
features into production without causing chaos
and disrupting other services, while quickly
detecting and correcting incidents when they
occur. This brings in the ITIL disciplines.... Gene
Kim (DevOps Cookbook)
Although some may view DevOps as backlash
to ITIL or ITSM, DevOps and ITIL are compatible.
ITIL and ITSM remain the best codifications
of the processes that underpin IT Operations,
and actually describe many of the capabilities
needed in order for IT Operations to support a
DevOps-style work stream. Gene Kim, Kevin
Behr and George Spafford (The Phoenix Project:
A Novel about IT, DevOps, and Helping Your
Business Win)
Although the concept of strategizing what services
to offer and the envisioned value remains
unchanged, ITIL phases such as design, transition,
operation and CSI cycles will be affected by
DevOps. But what impact does DevOps have?
The impact of DevOps on
ITIL implementations
Adopting DevOps changes the way we design,
transition and operate IT services. It is a new
journey similar to the initial implementation of
processes like Incident Management. Gene Kim’s
“The First Way: Systems Thinking” emphasizes
the performance of the entire system, as
opposed to the performance of a specific silo
of work or a particular department. Was this
ignored in the ITIL Service Design Package
(SDP)? Not at all – the SDP is very exhaustive in
terms of considering future changes, managing
scheduled downtimes and adopting varying
levels of monitoring and event thresholds. So,
in that sense, ITIL does advocate “Systems
Thinking” from the start.
However, in design, we must contend with microservices,
a concept that has become popular
with DevOps. Typically, most architecture is
layered in terms of presentation components,
business logic, database access and integration
logic. This new way of organizing the architecture
results in organizing the development team into
functional units such as User Interface team,
Database team, etc. Microservices facilitates a
software architecture in which complex applications
are composed of small, independent
processes communicating with each other using language-agnostic application programming
interfaces (APIs). Microservices enables teams to
work independently and accelerate development
and deployment. The efficiency of the service
design process increases when the architecture
is properly defined. All the best practices of ITIL
(like the service catalogue, capacity management
and security management) are still very useful
when defining this architecture.
When talking about Service Transition, we
have to include continuous integration and
continuous delivery. Gene Kim’s “The Second
Way: Amplify Feedback Loops” is about right
to left feedback loops i.e. from operations to
development. The release pipeline has higher
visibility at all control stages. Rather than having
large chunks of infrequent changes, we must permit – and even encourage – frequent small
changes, thus reducing the risks associated
with large infrequent changes. Integration must
be considered upfront, from the very beginning.
The traditional incremental approach calls for a fully formed idea from the outset, whereas DevOps
uses the best practices of Agile to deliver services. This allows you to move from a vague idea to
concrete realization. In Service Transition we see the power of new technology implementations
(the automation of testing and automatic deployment of infrastructure) to increase change velocity
while preventing errors.
What about changes to the Service Asset and Configuration Management (SACM) process?
DevOps advocates delivering continuously into varied environments. All configurations are specified
in version-controlled blueprints that are automatically applied and monitored for any deviation at
all times. Pre-boot execution environments deploy solutions into target machines driven by deployment
engines. This is different to the traditional way of working, but it is in line with the goals
of SACM to document all the relevant information on software and hardware assets including
change history. You could say that SACM is much easier to implement thanks to the new tooling
that is also responsible for the success of DevOps.
When it comes to testing, the ITIL Service Validation
and Testing process advocates the testing
of service requirements (functional and non-functional).
Test-driven development was used in Agile
environments even before DevOps was born.
DevOps calls for continuous integration wherein
any change tracked in a source code control
system triggers test cases and the developer is
immediately notified of the results. Basically, new
functionality won’t be added until the quality is
good. Here we see that the new technologies and
methods that feed DevOps will also enhance the
implementation of ITIL in organizations.
When it comes to Service Operation processes
such as incident management, the cross-functional
team made up of development and operations
staff takes end-to-end responsibility for
delivering services at acceptable levels. This
implies that as they pick items from the product
backlog, the development team will pick change
requests, service requests, incidents and problems
based on priorities set by the product owner
and formalized in a Service Level Agreement. The
go-live activity would be another service request
that is accomplished by the push of a button –
which means canned deployments into various
environments must be planned and designed
upfront. The subsequent monitoring and setting
of appropriate thresholds at the component and
service level is performed while keeping in mind
the service level agreements with the business.
The concept of Service Management adds value
in managing the interaction between the various
DevOps teams. For example: the change of one
system delivered by one DevOps team should
not hamper the systems of other teams. This will
require Change Management.
With respect to Continual Service Improvement
(CSI), the sixth step – How do you keep
the momentum going? – is about continuous
improvement in the form of Plan-Do-Check-Act,
which matches the DevOps activity of feedback
cycles that ensure the delivery of high quality in
an incremental fashion. In this respect, DevOps
teams rely heavily on Lean IT principles for embedding
continuous improvement into their way
of working.
customer orientation is key
In the end, we believe DevOps and ITIL are a
means to achieving the goal of supporting the
business with the right IT that works smoothly.
The business requires:
Sound advice on new possibilities and the
alignment of changing business needs with the
existing IT (this is still the field of IT consultants
and architects).
Agreed changes to be delivered as soon as
possible. In this regard, the added value of
DevOps is important. ITIL change and release
management can serve as quality control in
this requirement.
IT to keep running without interruption. Here,
ITIL offers a lot of added value, but even more
reliable services can be realized in combination
with DevOps.
The delivery of the IT services requested. ITIL
also provides added value in this respect.
It is simple to define what the customer wants,
but it is harder to realize flawless delivery. For
this reason we see that the implementation of
ITIL, DevOps and all other methods are change
journeys in which every step also has to deliver
value. Experiencing such a journey together
makes it more enjoyable and faster.
Conclusion
When combined, DevOps and ITIL result in integrated
business, development and operations
teams that take end-to-end responsibility for
achieving business goals. DevOps turbo-charges
ITIL: as the new kid on the block, with best
practices for the delivery of new services while
maintaining existing ones, DevOps can support
the agility and reliability of IT services and provide
the business with optimal value. DevOps accelerates
the pace of ITIL and brings high visibility
to all stakeholders to quickly address issues and
move forward. This enables the faster delivery of
high-quality IT services, and in so doing erases
some of the criticism that ITIL has received.
ITIL can support DevOps teams with best practices
to specify and deliver reliable services
and enhance collaboration between the various
teams, specifically when not all teams are working
DevOps. ITIL needs to stand tall in the face
of the DevOps storm. We advise ITIL process
managers to fasten their seatbelts for a bumpy ride and we recommend DevOps gurus to use
the ITIL best practices which have already served
the industry well for more than 20 years!
source : Quint Wellington Redwood