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.
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.
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.
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.