By definition, DevOps encourages communication and collaboration between development and operations teams – but if not done properly, it can cause friction. This resistance is due to conflicting priorities: developers prioritize speed so they can accelerate rollouts and increase innovation, while operations professionals prefer to be a bit more cautious, with accuracy being of the upmost importance.
Achieving greater synergies between the Dev and Ops teams doesn't happen overnight, but it is possible to fast track the process with the right technologies in place. One such technology is IT automation. With IT automation, it is possible to automate tests, orchestrate automated notifications to initiate the next manual intervention, and even leverage change management tools to maximize the efficiency of those manual interventions.
However, in order to reap the benefits of IT automation, the key is to implement automation from the start, not as an afterthought. This is what we call taking a systematic approach to automation.
Implementing IT Automation Early
Organizations tend to not think about ways to leverage automation to improve processes until after they're already in progress, or even after they're completed.
Ronni Colville, a VP and distinguished analyst for Gartner, explained this problem in a webinar on automation: "Organizations are taking an ‘opportunistic' approach to IT automation by identifying individual automation opportunities as they arise and implementing platform-specific tools to solve a specific problem."
She goes on to explain how this "opportunistic" approach leads to unnecessary complexity and wasted money and resources. In reality, if automation isn't thought about in the beginning, it gets pushed aside and it falls to the bottom of the list.
The alternative to this opportunistic approach is taking a top-down, policy-driven automation strategy, also known as a systematic approach. When IT automation is incorporated at the onset, disparate systems and processes are able to be connected more seamlessly, and it is possible to gain a centralized view of operations at the project, organizational and enterprise level. This not only allows for processes to be expedited from start to finish, but it also leads to stronger governance and greater scalability.
Automating the Right Processes
Automation should be implemented at the beginning of processes, but that doesn't mean it should be applied to all processes.
Discussing which processes should be automated, Gartner research VP Cathy Tornbohm said, "The way I think about it is: If I had an army of people, what could I do better?"
She advised organizations to start by automating back-office activities that would be impractical and laborious to handle manually. This includes routine processes, such as maintenance, testing and cleanup tasks. Automating these time-consuming processes relieves the burden from the IT team, allowing IT staffers to focus on mission-critical infrastructure projects and other higher-level tasks.
In addition to routine processes, automation can also expedite many of the steps required to move from code to production – a key reason why IT automation is so valuable in DevOps. For example, IT automation can trigger a build, deploy the build to the test environment, run the test suite and, given the testing meets the criteria that is predetermined to be acceptable, promote the build to production. In case there are issues during any of these processes, IT automation solutions provide automated monitoring and alerting capabilities that can send the notifications mentioned above to the person / people responsible for handling the issue. This minimizes delays, improves collaboration and ultimately leads to more efficient rollouts.
While IT automation is only one piece in the puzzle of effective DevOps, it's a critical tool for managing the teams involved and more quickly achieving successful rollouts – a common priority for all.