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.

Benefits of DevOps

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.

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 Culture

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.

DevOps Fundamentals

DevOps covers a wide range of practices across the application lifecycle. Customers start with one or more of these practices in their journey to DevOps success.

  • Source Code Management - Teams looking for better ways to manage changes to documents, software, images, large web sites, and other collections of code, configuration, and metadata among disparate teams.
  • Agile Project & Portfolio Management - Teams looking for a better way of initiating, planning, executing, controlling, and closing the work of a team to achieve specific goals and meet specific success criteria at the specified time.
  • Continuous Integration (CI) - Teams looking for ways to automate the build and testing processes to consistently integrate code and continuously test to minimise the manual efforts spent in frequent runs of unit and integration tests.
  • Continuous Delivery (CD)- Teams looking for ways to automate the build, test and packaging, configuration and deployment of applications to a target environment.
  • Shift Left Security - Teams looking for ways to identify vulnerabilities during development with actionable information to empower dev to remediate vulnerabilities earlier in the life cycleeve specific goals and meet specific success criteria at the specified time.
  • Monitoring and Feedback - Teams looking for ways to embed monitoring into every deployed version and the impact of application changes to the business value and user experience
  • Rapid Innovation - Teams looking for ways to provide feedback back into the development, test, packaging & deployment stages to complete the loop to integrate Dev and Ops teams and provide real time feedback from production environments and customers.

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? Take a deeper dive with these helpful articles.

DevOps

Auto DevOps 101: How we’re making CI/CD easier

Auto DevOps bakes-in best practices and automation that will move code seamlessly through the entire development lifecycle

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 more resources on GitLab? Go to the documentation or view all blogs.

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/Reports


Videos


Blogs