DevOps and Automation: There’s a Big Difference
Confusion abounds that DevOps and development automation are synonymous. An online search for implementing DevOps practices leads to lists of tools meant to automate everything from development to QA to deployment.
While automation is certainly a key aspect of DevOps, the two are not identical in practice. Businesses that misunderstand that concept are often faced with less optimized workflows, and it can lead organizations to assume automation tools are the silver bullet to solving their IT problems. Understanding the difference between these two concepts is imperative for organizations looking to make their IT processes more efficient.
Keeping DevOps Personal
First and foremost, it’s essential to understand that DevOps is not composed of a single tool or process. DevOps is a mindset. Organizations that approach their IT operations with a DevOps perspective aim to create an IT infrastructure that is more efficient, allowing for increased innovation, shorter deployment times, fewer defects and faster system recovery times via repeatable, consistent and collaborative workflows. The philosophy behind DevOps is that by creating these repeatable and consistent workflows, IT teams will be able to devote more energy to focusing on the business and IT strategy, instead of day-to-day operations.
Above all, the idea that DevOps and automation are interchangeable disregards the necessary human element of successful DevOps practices. This misconception results in organizations failing to align their people and processes before choosing the right tool. Many organizations end up over-automating in an attempt to implement their vision of what DevOps “should” be, failing to properly change the process first and then train on and manage their tools.
Automation tools should increase the speed and efficiency of configurations, but it’s still necessary for teams to validate the code and be accountable for failures. It’s true that automation reduces the amount of overhead and human intervention required to manage an application’s lifecycle, but the teams need to be aligned and know how to fix problems within the application lifecycle. As Disney Director of Systems Engineering Jason Cox observed, “We want to promote positive disruption so our business doesn’t get stuck and can move to the future.”
Within a feature team, ownership of the application is only achievable if the team really understands what makes a successful deployment. If this does not happen, “finger-pointing” will happen. As engineer and author Mike Rother wrote in The DevOps Handbook, “What is decisive is not the form of the organization, but how people act and react.”
A real DevOps culture — one that prioritizes collaboration, transparency and accountability — is essential to driving companies forward, ensuring the people responsible for implementing these tools are an integral part of the equation.
Finding the Balance
Implementing an effective DevOps culture requires a realignment of teams according to the business value stream they are supporting. Bringing development and operations teams together helps the traditionally separate disciplines understand the intricacies of how each team works, and how bridging the gap can help a product be so much more effective. This also gives the teams a better understanding of the problems faced with the product and helps them remediate faster. Quickly, teams start seeing repeatable workflows, and where value can be delivered.
Once these repeatable and consistent workflows are created, automation can be utilized to streamline workflow maintenance through continuous integration, testing, and deployments. Automating the norm is critical when work is organized to fit with the structure of a DevOps environment. This creates more responsive and flexible teams and a faster time-to-market cycle. A properly automated management platform can eliminate human error and increase productivity, which gets back to the goal of a DevOps culture in the first place.
Automating IT processes allows organizations to keep up with the rapid pace of innovation, but organizations that conflate automation with DevOps run the risk of automating potentially flawed processes that were not created in a broader DevOps culture of collaboration. In order for automation to be optimized, it needs to be used in conjunction with a cultural shift to a DevOps mindset.