Skip to main content

Cloud

What Really is DevOps?

The term DevOps is still relatively new to the technology industry. The definition of DevOps isn’t really as clear as is for Agile Development Methodology. For many teams and organizations DevOps is a sort of unobtainable mythical beast; a unicorn if you will. Although, DevOps is obtainable for any team so long as the necessary pieces are put into place within the organization. This article will discuss the What and the Why of DevOps in an effort to clear things up.

What DevOps Is NOT

There are many definitions (or myths) as to what DevOps is. To start, let’s talk a little bit of what is NOT DevOps, and clear up some common misconceptions you may have heard.
Here’s a short list of things that are NOT DevOps:

  • a tool that can be adopted
  • a single process to be implemented
  • a task that can be outsources
  • the sole responsibility of a single team
  • the sole responsibility of a single team member

Of the many possible incorrect or incomplete definitions of DevOps you’ve heard, they all likely overlap one or many of the items listed above.
Here are some examples that I’ve seen over the years that organizations or teams have used to incorrectly attempt to describe what DevOps is:

  • “We use DevOps, we use TDD.”
  • “We use DevOps, we have an IT Operations guy attend our daily Developer standups.”
  • “We use DevOps, our Developers have implemented a Continuous Delivery strategy.”
  • “We use DevOps, we have a dedicated DevOps team.”
  • “We use DevOps, we hired a DevOps expert.”
  • “We use DevOps, our QA team also handles that.”

No you don’t!
The biggest single misconception is that DevOps is not a single thing that can be implemented. DevOps is a culture that must be achieved by and is the responsibility of EVERY person within an IT organization.

DevOps is a Cultural Mindset

In extremely simple terms, DevOps is a cultural mindset of a team or even entire organization. DevOps is everyone’s responsibility. As a result the implementation of DevOps within an organization requires a cultural shift. It requires breaking down walls, removing silos, eliminating egos, asking for help, and recognizing there is no I in Team.
What’s the most difficult part of building software?
The first thing that comes to mind for most people is some piece of Technology. This is wrong. The most difficult part of building software is really People. This is the entire reason a DevOps Culture is necessary!
At the core of DevOps Culture is Communication. For any project to success, every team member needs to affectively communicate with each other. There are many methods of clear and concise communication. Some of these are Email and IM, while others can take the form of Automated Deployments, Builds or many other practices.
DevOps is the responsibility of every member within an organization or team. It’s not the duty of any single individual or team. You can’t buy a product to do DevOps for you, like you can buy a Source Control system.
Being a Culture, DevOps can not be implemented with only a single process change. To successfully adopt DevOps and a DevOps Culture, your team or organization must fully embrace the necessary communication and cooperation necessary from Developers, QA, Operations, and any other possible member of the team.

Common DevOps Practices

Since DevOps isn’t the result of the implementation of any single process or tool, there really is an almost infinite number of possibilities to implement DevOps. However, there are a number of really common practices used throughout the industry.

  • Continuous Integration
  • Continuous Delivery
  • Automated Testing
  • Release Management
  • Application Performance Monitoring
  • Load Testing and Auto Scaling
  • Availability Monitoring
  • Automated Environment Provisioning / De-Provisioning
  • Usage Monitoring

There are 2 things the above items have in common. The first isn’t technology related, it’s Communication. The second is Automation.

Communication is key!

When it comes to Communication, a team can’t over do it. There are so many problems that stem from miscommunication or a lack of it entirely. When teams don’t communicate affectively they are unable to perform at peak efficiency. Lack of communication results in a lack of cooperation and ultimately wasted time figuring things out or explaining them a 3rd, 4th or more time that necessary.
If everyone knows what steps to perform they’ll never need to ask for clarification again. Right? Wrong! People make mistakes. People forget things. They don’t just forget steps, even worse, they can forget to update the document that outlines the steps for others to take.

Automate all the things!

Automation is really the ultimate form of communication. Automation allows for the proper utilization of computers to do what they do best. Computers are best at performing repetitive, multi-step processes. When people do anything, they can make mistakes. When something is automated, the computer will perform the exact task over and over again the exact same way every single time. Guaranteed!

DevOps FTW!

DevOps is about everyone within a team to affectively Communicate either directly or through automation technologies. With every member of the team taking responsibility to helping the team achieve the best possible level of success you will have a team that acts like a team. As a result the team will perform much more highly than you may think is currently possible before implementing the necessary changes.
Remember that DevOps is NOT a single process or tool. DevOps is a cultural mindset. As with any cultural shift, it can be changed slowly over time if necessary, however, it’s much easier if you can get full support of upper management or top executives within an organization.
The Puppet Labs DevOps Report contains a few statistics that can help with convincing others of the benefits of DevOps.

High-performing IT organizations experience 60 times fewer failures and recover from failure 168 times faster than their lower-performing peers. They also deploy 30 times more frequently with 200 times shorter lead times.

 

Thoughts on “What Really is DevOps?”

  1. Nice overview. I agree with you most dont see DevOps as a culture of delivery. One challenge I encounter is that a lot of large organizations are organized as silos i.e. arch, dev, test, ops, etc… To be most effective with DevOps you need to drive a 1 team culture and move towards a dev centric team with adjacent skills. In addition broadening the definition of DevOps from CI/CD to the end to end process is critical.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Chris Pietschmann

Chris is an Azure Solutions Architect with more than 14 years of experience building Enterprise systems using a wide array of Microsoft technologies, including Bing Maps and the Microsoft Azure cloud. He has been a 5 time recipient of the Microsoft MVP award. Chris has successfully implemented numerous Enterprise solutions on the Microsoft Azure Cloud Platform since its initial release all the way back in 2010.

More from this Author

Follow Us