DevOps Introduction

What is DevOps

The DevOps cycle is an agile, iterative approach to creating and maintaining software.

DevOps is not about creating a team. DevOps is about bringing different teams of people together, but it is best thought of as a set of practices, and, perhaps more importantly, a culture built around collaboration between development, quality assurance, and operations teams.

This brings us back to our definition of what DevOps is. When you define something using values, principles, and practices, the definition of what that thing is and the perception of what something means will have variability.

In other words to define what DevOps is, an organization needs to look at the values and principles and make a determination which of those values and principles is most important to them. That definition might change over time as the organization evolves and matures.

DevOps evolved as a set of principles. Since then, it has lost some of it's original meaning; it no longer means just the principles; it now includes practices, technologies, and tools. A purist (like myself perhaps!) would argue that this is somewhat problematic, or even detrimental. However, groups and cultures often appropriate something to the extent that you no longer have much real choice but to accept the revised definition.

Isn't DevOps a Methodology?

DevOps is commonly understand as a software development approach that emphasizes collaboration and communication between software developers and IT operations professionals. As a methodology, the goal of DevOps is to reduce silos between these two teams and to enable them to work together more effectively in order to deliver software faster and more reliably. This is typically achieved by implementing agile practices, automating processes, and using tools and technologies that enable collaboration and continuous delivery. DevOps also seeks to improve the overall quality of software by encouraging practices such as testing, monitoring, and infrastructure as code. By doing so, organizations can improve the speed and reliability of their software development process, resulting in faster time-to-market and better customer satisfaction.

Why is it important to define DevOps?

DevOps helps organizations to improve the speed and reliability of their software development process, which can result in faster time-to-market and better customer satisfaction. By breaking down silos between development and operations teams and promoting collaboration and communication, DevOps enables organizations to deliver software faster and more reliably.

Because of this, it's important to define DevOps so that all of the stakeholders understand the goals and objectives. Without understanding what DevOps is, it's possibly for organizations to think that by automating processes and using tools and technologies that enable continuous delivery, magically they have "achieved DevOps" and they are done.

Rather, by encouraging practices such as testing, monitoring, and infrastructure as code, DevOps needs to be understood as a way to achieve continual improvements to the overall quality of software and improved collaboration and communication between teams. The end result is fewer defects, decreased outages or downtime, and improved user satisfaction.

DevOps Principles

DevOps has a number of principles at its core:

DevOps Practices

DevOps Cycle

References