What is DevOps?

DevOps can be best explained as people working together to build, deliver, and run resilient software at the speed of their particular business. DevOps enables software development (Dev) and operations (Ops) teams to accelerate delivery through automation, collaboration, fast feedback, and iterative improvement.

Stemming from an Agile approach to software development, DevOps expands on the cross-functional approach of building and shipping applications in a faster and more iterative manner. In adopting DevOps, one is making a decision to improve the flow and value delivery of their application by encouraging a more collaborative environment at all stages of the development cycle.

DevOps is a combination of software development (Dev) and operations (Ops). It is defined as a software engineering methodology which aims to integrate the work of software development and software operations teams by facilitating a culture of collaboration and shared responsibility.

DevOps represents a change in mindset for IT culture. In building on top of Agile, lean practices, and systems theory, DevOps focuses on incremental development and rapid delivery of software. Success relies on the ability to create a culture of accountability, collaboration, empathy, and joint responsibility for business outcomes.

Why adopt a DevOps model?

Adopting a DevOps model breaks down barriers so that development and operations teams are no longer siloed and have a more efficient way to work across the entire development lifecycle. Without DevOps, organizations experience handoff friction, which delays delivery and negatively impacts business results.

The DevOps model is an organization’s answer to increasing operational efficiency, accelerating delivery, and innovating products. Organizations that have implemented DevOps experience the benefits of increased collaboration, fluid responsiveness, and shorter cycle times.

Benefits of DevOps

Collaboration

Adopting a DevOps model creates alignment between development and operations teams; handoff friction is reduced and, everyone is all in on the same goals and objectives.

Fluid responsiveness

More collaboration leads to real-time feedback and greater efficiency; changes and improvements can be implemented quicker and guesswork is removed.

Shorter cycle time

Improved efficiency and frequent communication between teams shortens cycle time; new code can be released more rapidly while maintaining quality and security.

DevOps fundamentals

The business value of DevOps lies in the ability to deliver software faster with continuous improvement. You need the ability to anticipate and respond to industry disruptors without delay. This becomes possible when teams are empowered to be autonomous and deliver faster, reducing work in progress. Once this occurs, teams are able to respond to demands at the speed of the market.

There are some fundamental concepts that need to be put into action in order for DevOps to function as designed, including the need to:

  • Remove institutionalized silos and handoffs that lead to road blocks and constraints, particularly in instances where the measurements of success for one team is in direct odds with another team’s key performance indicators (KPIs).
    • For example, Team A is tasked with preventing outages. In order to reach that goal, they create processes that are prohibitive to rapid changes in the application’s development; thereby creating a bottleneck that negatively impacts Team B’s KPI of frequent software updates.
  • Implement a unified tool chain using a single application that allows multiple teams to share and collaborate. This will enable teams to accelerate delivery and provide fast feedback to one another.

Start your DevOps journey

Starting and Scaling DevOps in the Enterprise

Sharing his pioneering insight on how organizations can transform their software development and delivery processes, Gary Gruver provides a tactical framework to implement DevOps principles in “Starting and Scaling DevOps in the Enterprise.”

Ok, now you know what DevOps is, but what’s next? Learn about Concurrent DevOps or take a deeper dive with these helpful articles.

DevOps

Trust, but verify: The importance of test automation

“Trust, but verify” needs to be the motto for a good DevOps automation pipeline as well.

Read
Create a CI/CD pipeline blog post

Avoiding the DevOps Tax

Realize a faster DevOps lifecycle with these best practices for integration and automation.

Read
GitLab & Kubernetes

A beginners guide to continuous integration

Here's how to help everyone on your team, like designers and testers, get started with continuous integration.

Read

Looking for Auto DevOps? Go to the documentation.

Resources

Here’s a list of resources on DevOps that we find to be particularly helpful in understanding DevOps and implementation. We would love to get your recommendations on books, blogs, videos, podcasts and other resources that tell a great DevOps story or offer valuable insight on the definition or implementation of the practice.

Please share your favorites with us by tweeting us @GitLab!

Books


Videos


Blogs