Do You Need DevOps If You Have ITIL?
by Marisa Vesel, on Aug 12, 2019, 12:00:00 PM
DevOps and ITIL are both important to making enterprise applications function. However, Dev and Ops notoriously have different goals, poor communication, and struggle to work together effectively. This causes a lot of problems for organizations looking to adapt quickly in the market and keep applications running while maintaining and updating them with a high level of customer service.
Many enterprise organizations question whether they can or should maintain both. This can cause confusion for management looking to find the best set-up for their company to succeed. In the worst cases, the confusion and conflicting ideas can cause frustration and paralysis.
Companies that understand what each concept entails, and the best practices for translating them into practice, can find a way for them to co-exist. When done properly, this allows DevOps and ITIL to work together to build better applications, deploy them more effectively, and maintain a high level of customer satisfaction.
The 5 Stages of the ITIL Framework
ITIL is a former acronym for “Information Technology Infrastructure Library.” As a widely accepted approach to IT Service Management, ITIL strives to coordinate IT services with the needs of the organization. There are 5 main stages within the ITIL Framework.
- Service Strategy. The first stage in the ITIL Framework is Service Strategy. When creating a service strategy, managers must be confident that the organization can handle any risks or costs associated with an IT service; bearing in mind corporate governance, industry rules and regulations, and business constraints.
- Service Design. Service design is the stage where business requirements are translated into technical requirements for the service, a common architecture is decided on and used throughout the design process, and support requirements are assessed for when the service is implemented.
- Service Transition. Service Transition is the third stage in the ITIL Framework. It brings together all components needed to complete a service including risk management and quality control during changes throughout the service deployment. This stage has a strong focus on quality of the service in order to ensure value is delivered to the organization.
- Service Operation. Service Operation is the fourth stage in the ITIL Framework and works to ensure that daily business operations continue as usual after a service has transitioned into the production environment. Live technical support responds to any IT incidents that affects the business and maintains productivity in the workplace.
- Continual Service Improvement. Continuous Service Improvement is the last stage in the ITIL Framework. This stage continuously reviews and collaborates with the other four stages to ensure everything aligns with the business goals of the organization and to make improvements as necessary.
Just as ITIL has a certain framework it follows; DevOps also has main principles that guide the philosophy of thought.
What are the Principles of DevOps?
DevOps is a catchall term that describes everything necessary to increase release cadence at enterprise level organizations. When properly implemented, DevOps allows companies to release more features, more efficiently, in less time, at less cost, on an ongoing basis. Ultimately, the true beneficiary is the customer (both internal and external facing) who gets needed product updates with as little friction or wait time as possible.
- Collaborative Environment. DevOps focuses on bringing together the entire organization-bridging the gap between development and operations employees and creating a culture where they are all working towards a common objective. A collaborative environment involves a cultural shift from the top-down that places emphasis on breaking down silos and fostering a culture of collaboration and common goals.
- End-to-End Responsibility. DevOps encourages employees to stop thinking of themselves as separate teams with separate responsibilities and shift to the mindset of one team with accountability throughout the entire Software Development Lifecycle (SDLC). This helps increase performance support and quality of work.
- Automate (Nearly) Everything. Automating processes within the Software Development Lifecycle can help reduce human error, improve communication, and improve quality of delivered software. Automation helps increase the speed in which software goes through the lifecycle and delivers changes and new software to customers sooner.
- Continuous Improvement. Organizations need to be adaptable to changes in the DevOps environment and their own industries; including new tools, new industry rules and regulations, and customer needs. Being open to new ideas will help organizations continuously improve their processes; increasing speed of software delivery, decreasing costs and wastes, and leaving more time for improving offered products and services.
- Focus on the Customer. Products and services should be centered on providing the best quality to the customer. Customer demands continuously change, and organizations need to focus on satisfying the customer through constant innovation, changes strategies, and rolling-out new features and products. Taking the time to listen to customers’ feedback and make changes is imperative.
These frameworks of thoughts generally act as the guiding principles for workplaces that integrate these methodologies. Both those in ITIL and DevOps roles have a variety of responsibilities that are imperative to the overall success of the organization.
Those working in both ITIL and DevOps organizations have many responsibilities in order to perform their jobs correctly.
Those working in IT Operations have numerous roles and responsibilities. While these differ depending on the organizational needs, the main responsibilities can be consolidated into three main categories.
Network Infrastructure includes a variety of technology-facing roles and responsibilities. Responsibilities include:
- Infrastructure. Ensuring all IT communications work appropriately both internally and externally. This includes routers, firewalls, file servers, and more.
- Telecommunications. Confirming internal and external communication lines are managed and configured appropriately so interested stakeholders can access applications
- Security. Setting up security measures to neutralize threats from third parties and ensure only authorized users have access to certain networks
- Network Health. Monitoring network health for any issues that may arise with network resources and quickly alerting necessary personal to resolve the problem
Server & Device Management
Server and Device Management includes ensuring that devices are functioning properly and issues are resolved in a timely manner. Responsibilities in this category include:
- Server Management. Managing of applications and infrastructure including set-up, configuration, upgrades, and repairs
- PC Provisioning. Managing company devices to make necessary upgrades, installations, configurations, and resolving any issues
- Storage Management. Ensuring disk, memory, backup, and archival needs are met for every application
Computer Operations & Help Desk
Computer and Device Management responsibilities include ensure monitoring, managing, and fixing issues revolving around computer usage within the organization. Responsibilities include:
- Data Center & Help Desk Management. Ensuring equipment resides in the physical location that is most conducive to best functionality and providing low-level support for IT operations
- User Provisioning. Authorizing user profiles on all systems and maintaining an updated and relevant list of authorized users
- Recovery. Making sure proper backup procedures are in-place for application servers and networks so functionality is maintained during a disaster
- Auditing. Ensuring network is correctly configured, secured, and following all necessary rules and regulations
DevOps Engineers wear numerous hats with their roles and responsibilities. While DevOps is a culture shift with a focus on collaboration and communication, DevOps Engineers at the end of the day are primarily responsible for getting software delivered to consumers.
- Plan. DevOps Engineers are responsible for ensuring quality software is delivered to customers. This involves planning what software needs to be built, how the software needs to be built, and who is involved. This also includes logistics in terms of prioritization, timeline, and budget.
- Code. Software Engineers main responsibility is to code; and this holds true for DevOps Engineers as well. DevOps Tools help make life easier so engineers can get back to what they do best-coding new software and features. The code is put together into a build for new software releases.
- Test. Once software is finished, it needs to be tested before going into production. DevOps Engineers are responsible for ensuring that software passes a variety of tests including integration, functional, acceptance, quality, and staging testing.
- Deploy. Of course, actually getting the software to customers is one of the most important aspects of a DevOps Engineer’s job. In DevOps methodology, manual deployments are replaced with automated deployments; increasing the speed of a software release, and lowering the risk of human errors and deployment failures.
As seen by the roles and responsibilities of DevOps and ITIL, organizations need both types of employees in order to create and maintain software and services. As in any organization, change is constantly occurring. For ITIL and DevOps, change occurs in two different ways.
ITIL and DevOps Processes
Commonly, ITIL and DevOps have different processes for evoking change within their organization. While different at first glance, these two processes are able to coexist in companies where both ITIL and DevOps are practiced.
In an ITIL organization, there is a very process-oriented culture surrounding change. According to ITIL, a Change is “the addition, modification, or removal of any authorized, planned, or supported service or service component that could have an effect on IT services.” In the majority of cases, there is a very procedural methodology for delivering services-Change Management. While this may seem very rigid, organizations who truly immerse themselves in an ITIL culture find that it is a dynamic and changing methodology.
All Process Oriented
IT Services can be inundated with change requests on a regular basis. To help maintain organization within the business, there is a strict process that a change request must go through before implementation.
When dealing with change in an ITIL environment, there are two ways that change can be brought about.
- Request for Change: a formal proposal for change submitted by a stakeholder that changes configuration items via request fulfillment
- Change Proposal: a high-level proposal that describes a new service or a significant change to an existing service that lays out the business case and implementation schedule.
After the change proposal is submitted, the proposal is logged, reviewed, and evaluated to assess impact, risks, and benefits to IT services. Once the change is approved, the change is implemented and then undergoes a Post Implementation Review before being closed.
Deliberate, Structured, Values Stability
While the Change Management Process can be modified to meet an organization’s individual needs, the general process is the same throughout all ITIL companies. Change Management is just one aspect of ITIL Service Management processes that works alongside: Problem Management, Configuration & Asset Management, Release & Deployment Management, IT Service Continuity Management, Security Management, Knowledge Management, and Portfolio Management.
DevOps is a cultural movement that encourages combining cultural philosophies, practices, and tools between development and operations to create a cohesive environment that delivers applications and services quickly.
DevOps is a dynamic and constantly-changing methodology. As it is a newer idea, the environment and conversation surrounding DevOps is constantly evolving as more and more organizations adopt the culture.
Increasing Release Velocity
As more organizations adopt a DevOps culture, there are more tools being created to help companies reach their goal of delivering applications and services quickly. Combining tools helps companies move at a high velocity in order to innovate faster for customers, adapt easily to changing markets, and add more benefits and values to the business.
DevOps culture is continuously ongoing as more companies learn and share what has worked best in their organization. As new tools, features, and ideas continue to emerge, organizations are implementing better DevOps methods to benefit their business and the customer.
While different methods of evoking change are utilized, both methods aim to help better the business overall. This brings us to our final question:
Can ITIL and DevOps Work Together?
The traditional view is that ITIL organizations cannot be DevOps organization-an organization has to be one or the other. However, this is not the case. DevOps and ITIL methodologies can easily be integrated together.
Traditional View: Not Compatible
Traditionally, organizations believed they had to be a DevOps organization or an ITIL organization and the two methodologies were not able to work together.
ITIL and DevOps at first glance seem to have different priorities. ITIL is process-oriented with a strict set of tasks to follow before a change is implemented. It may seem that silos; which DevOps tries so hard to break down, are impossible to get rid of as a change moves throughout the rigid change process.
Traditionally, ITIL and DevOps were thought to be incompatible as there was the belief that these two methods involved different teams. Organizations believed they didn’t need a services team if they had an operations team; DevOps simply could replace ITIL.
Modern View: Compatible
Unlike the traditional view, the modern view is that DevOps and ITIL can and should work together. In fact, Gene Kim believes that there is a natural symbiosis between the Lean principles in DevOps and the way IT organizations operate to create value. Organizations do not have to be an ITIL or a DevOps organization; combining both can help companies reach their full potential.
Development into IT Operations
There are four main ways to combine Development into IT Operations. These include:
- The Development team is accountable for their own services initially
- IT Operations sends problematic services back to Development
- The Development team and IT Operations team are both involved in the incident management process
- Development is cross-trained with Operations
IT Operations into Development
IT Operations also needs to be integrated into the Development process of design, testing, and delivering.
- Some design is centered around IT Operations
- Operation knowledge and capabilities should be embedded into Development
- Induce problems early in the development and operations processes can be reviewed and fixed early
While DevOps is fast-moving and ever-changing, ITIL provides the stability, process, and control needed to ensure everything is getting done. ITIL is a set of guidelines, not rules, that can be adapted to work within an organization’s DevOps culture.
By combining the best aspects from each methodology, an organization can be a collaborative and blame-free environment while using ITIL methodologies to keep work organized and on-track.
DevOps and ITIL can work together. However, in order to make this happen an organization needs to encourage a cultural change where everyone is open, collaborative, and working towards the same goals. Teams should think of themselves as “one team” instead of separate entities and celebrate successes together. Additionally, the organization as a whole should be continuously working to improve and better serve the business and customers.
Inedo DevOps tools maximize developer time, minimize release risk, and empower stakeholders to bring their vision to life faster. All with the people and technology you have right now. To get help streamlining your CI/CD processes, contact mgoulis.inedo.com
Sources: DevOps and ITIL, Atlassian Either Or, BMC Differences, ITSM DevOps Movement , DZone DevOps Principles, AWS What is DevOps, Cherwell ITIL Change Management, Quora DevOps Engineer, Edureka DevOps Engineer, BMC DevOps Engineer Roles, Joe Hertvik IT Operations, BMC ITIL Roles, DASA DevOps Principles, CMS Wire DevOps Principles, Inedo Manual Deployment, Axelos Global Best Practice, Pink Elephant Benefits of ITIL