Often when asked about DevOps, people misinterpret it to be automation. DevOps as we know it, requires a cultural change within an organization. It means looking at a new way of doing things in the product development ecosystem. DevOps is about using Agile methodologies to create quality products and services with lesser turnaround time (TAT) and speedier processes.
Automation is an important piece of the DevOps model, because it ensures that the time spent on repetitive tasks is minimized and leaves developers and the quality assurance teams more time to spend on innovation. However, DevOps has multiple layers and a lot of different elements attached to it.
According to the DevOps Collective website, the CALMS model for DevOps Automation is one of the 5 pillars for DevOps that also include Culture, Lean, Metrics and Sharing. They argue that all these pillars are “equally important, and a good reminder that it’s not only about technology”. This is just one of the many definitions of DevOps. Though automation is an important part of DevOps, there are many elements that go into making the best DevOps solutions workable for your organization.
If not automation, what makes DevOps tick?
So, if Automation is not DevOps, it is important to understand what else makes DevOps, and automation within DevOps, work:
- Culture: DevOps adoption culture typically has multiple layers. People being able to adapt to this new approach, adapting to the new processes, and more importantly understanding that this change is good both for the organization at large and the individual at stake.
- Process: DevOps requires a different approach to the processes within an organization. Adapting a process will actually lead to automation, and an effective one at that. If you get your adapted processes to work right, then your automation becomes more defined and effective.
- People: People are considered to be at the helm of every DevOps journey within an organization. Without their concurrence, there is no successful implementation of DevOps as a model. An existing organizational culture must be flexible and open-minded to understand and identify how DevOps and automation within DevOps will help the organization.
- Slow and steady: It is very important to remember that DevOps in general or automation in particular cannot be done in one stretch. You will have to organize it such that it is adapted slowly, one process at a time, one product at a time. Rushing into DevOps or trying to automate everything could be detrimental to all that you have set out to achieve.
- Share information: DevOps is about collaboration. When teams work together, they function together, and the outcomes are more effective and lead to better results. There must be constant communication between all the teams to come up with the best outcomes. Transparency is vital for DevOps, not just to work together, but also to ensure that the processes are conducive to all teams involved.
- Track and measure: DevOps and automation require tracking and measuring at each level. This will help identify how well the processes are working and to measure productivity, both, at the employee and technology levels.
- Course correction: As an organization, you must be willing to course correct when something doesn’t go right. This comes from critically evaluating what has been done and how you can change things to make them more effective and efficient. One of the most critical requirements and important aspects of DevOps is that you must be willing to adapt to the different changes in requirement.
Automation by itself is great for organizations. However, if it is not integrated with processes and people, the entire concept falls flat. Therefore, it is important to understand that DevOps actually brings people, process and technology to the table. This enables organizations to use the process of automation more efficiently. Simply adopting or implementing automation in isolation without DevOps is not an effective way to use automation. Similarly working with DevOps and not including automation within the constructs of DevOps will surely make the entire model inefficient. Hence, though it may be true that Automation is not DevOps, DevOps without automation is not how you make DevOps work for you either. Both have to work in tandem for a more productive and innovative ecosystem.