DevOps.yoga


A DevOps Wiki

View project on GitHub

Overview

This Wiki attempts to collect and present all of the applicable knowledge around DevOps. The purpose is to have a knowledge base to allow people to learn about DevOps, and to allow practitioners to further refine it and share what they’ve learned.

If you’ve ever heard people talk about DevOps in a sort of murky way and thought, but what does that mean? Aren’t these all just buzzwords? How do you actually put this stuff into practice? Then this site is for you.

So, what is DevOps?

If you search for “What is DevOps?”, you will find hundreds of pages that try to explain the concept, though there is broad acceptance of what DevOps means.

The overall goals of DevOps are to speed up delivery, improve operation, and increase the quality of a software product for a business. The way this is achieved is by using standard methods and culture to apply practices and tools in a way that is continuously improved.

But DevOps is about more than just software. As you learn more about DevOps, you’ll find it spills into non-technical aspects of a business. This is because DevOps is really a collection of values, principles and methods for improving a product or customer experience. So DevOps can actually be applied throughout an organization, in virtually any industry.

In short, DevOps is a solution to a business problem, not a technology problem.

If you come from an Agile or Lean background, another way to think of DevOps is like Agile/Lean methods applied throughout an organization, with the exception that you don’t need Agile or Lean to do DevOps.

Also, the tools and practices are the easiest part of DevOps. The hardest part is changing everyone’s mindset and the way they work together. DevOps requires breaking down the barriers of traditional siloed teams in an organization, which is often a huge change to existing organizations.

Why is it called DevOps if it’s about more than just Dev and Ops?

DevOps started out as technical people trying to improve the practices of producing software products. Software developers had Agile methodologies, but what did everyone else involved with the product have? Why was it so difficult for dev and ops to work together? Was there a better way to manage the work of continuously producing good work?

What people learned early on is that the biggest challenges lay in the way people work together. Sure, you could use automation to make things faster and more reliable, but without improved collaboration, the work still suffered. That idea can really be applied anywhere, and the more it is applied, the better things get.

Organizing DevOps

In order to explain the concepts surrounding DevOps, this website attempts to collect the information into a couple of categories and sub-categories.

  • Values & Principles
    This section goes over important values and principles to keep in mind. In theory, everything else should follow from these.

  • Methods
    These are higher-level concepts, sometimes called “workflows”.

  • Culture
    This is the mindset team members have as they work together to produce the best product possible. It should be the result of values & principles, and helps reinforce methods.

  • Pratices
    These are the real-world implementations of all the above.

  • Tools
    To implement the practices, we need tools made for the job, and there’s quite a few.

  • Glossary
    A glossary of DevOps terms.


Next: Values & Principles