I have been exploring the meaning of DevOps in my recent posts, and as such, I’ve been reading a lot of DevOps-focused articles. I thought I’d share some of the ways contributors on DZone have been defining DevOps. Since there is no singular definition of DevOps, these articles offer us multiple ways to define a "DevOps Mentality." So, let’s get started!
1. What DevOps Is and What It Is Not by Alan Koch
“Rather it [DevOps] means looking at how you do what you do and using specific tools and techniques to make work Flow, improve Feedback, and begin to continually learn and improve.”
Alan's article shows that DevOps is hard to define and explores the many misconceptions about what it is and isn't. This article also provides an excellent examination of Gene Kim's three main components of a DevOps journey (Flow, Feedback, and Continual Learning).
2. The Essence of DevOps by Lucas Saldanha
“Remember that doesn't matter what do you do in the product but that you are as responsible for it as anyone else. Commit yourself with the product and help each other to achieve better quality software.”
Lucas’s article explores how he came to learn of DevOps and where his research lead him. It also provides a nice story of how his company hired someone to take care of their deployment and production environment. All and all, the best part of the article is when he discusses how everyone should feel responsible for the product to truly create a culture change in any company.
3. Defining DevOps by Dawn Parzych
“From my perspective, the human aspects, or ‘soft’ skills, are overlooked in all of these definitions, yet they are more important. Creating a culture of communication and sharing, providing feedback, and collaborating have less to do with the tools and automation and more do with people.”
I liked this article because it’s a great introductory piece to DevOps that also focuses on the need for an emphatic communication in a DevOps culture. Communication is often considered a soft skill, but it’s needed to get teams working together and create value in a business.
4. What Is DevOps? by Brian Dawson
“Often, discussions on the how of DevOps are too narrowly focused on the technical core of what happens from the time developers commit code to the time software is deployed to a server. But in reality, it's just as important to ensure the customer's needs are understood. And from there, to have a plan to define a solution, a plan to deliver it and a plan to support it once it moves into operation. The entire feedback loop spans more than just Dev and Ops, and that is why it's important to recognize that DevOps extends from concept to customer.”
While offering a definition of DevOps, Dawson’s article explores how to implement a DevOps culture. He also discusses how DevOps is important not just for the company's culture, but for the customer as well.
5. DevOps Defined by Thomas Kurian Theakanath
“I don't attempt to define DevOps in a very long sentence here, as such attempts are awkward and always leave out a few things, as it is still an evolving field . . . The keyword is "automation," which helps scale up the production operations for delivering high-quality SaaS offerings, consumer web apps, and backend of mobile apps to a large number of users.”
At first, Theakanath makes it seem like he is going to define DevOps in a way that focuses on configuration management, deployment automation, and monitoring. While this article focuses on these qualities, he doesn’t try to define DevOps in a single sentence but does provide a keyword.
I agree that trying to define a DevOps mentality is always going to be awkward and leave out other important considerations. Obviously, every developer finds their own mentality that works for them, which is why there is no singular DevOps mentality. DevOps is already a pretty defined field, but it’s interesting to see what people take away from this concept.