By Srini Veeramasu, President, WATI
The concept of “DevOps,” of blending the two processes of software development and software operation, has provided tremendous capability to businesses in delivering their software products with Faster time to market, improved quality and reduced cost. More and more of them are trying to get on board with DevOps Automation on CI/CD to move projects through a pipeline and promote streamlined, continuous software delivery.
Automation on the other hand strike a common fear among the developers and Operations staff: is my Job at Risk? DevOps removes the barrier between the developers, testers and operations. DevOps is automation. If developers can code, build, test, and deploy their code all by themselves, is the role of
operations team, or testing or QA obsolete?
As DevOps automation enables developers to manage the entire lifecycle of an application, it is a common misunderstanding of the principles of DevOps, to think that Operations, testing and QAs are no more needed. Systems Thinking as emphasized by DevOps does not mean that the developers of the system / project learn and manage the whole process, which is impossible. It is extremely impossible to have a developer who can manage from the requirements to deployment, as they are not skilled to do it. The systems thinking by devops means a group or set of cross-discipline functional team, with skill sets in each of the project life cycle stages, working in an agile model is delivering the project as a system.
DevOps needs Automation. But not everything is automated. And also, it is not a one size fits all. It varies from System to system, projects to projects, companies to companies. When automated builds, testing, deployment, monitoring, notifications, feedback and bug-fixes are being part of devops, it varies from projects to projects. The Principles are the same, but the automation level and requirement varies. Automation is not a replacement for people. The mundane work that is killing the creativity and innovation of people is being freed by this Automation and their time can be effectively used in solving real problems.
This focus on automation can help in reducing the time for feedback between the different stages of Software Development. From monitoring and Support to maintenance to deployment (production and pre-production) to testing to development, the feedback can flow seamlessly and in lesser time. Automating the deployment pipelines facilitate quick turnaround time for feedbacks.
Automating the Repetitive tasks will help the team to focus more on innovative and proactive things. Deployment and Release Management team can focus on Performance, Scalability and Other aspects than doing the repetitive patching, configuration of servers and spin-offs. Operations team can leave out alerts, configurations, deployment and re-deployment to automation and start focus on providing statistics and data to improve performance, code compression and reviews.
DevOps Automation is not here to replace people. It is here to bring in a new culture and a paradigm shift in which people used to work on software development. Every team member in the project team has the opportunity to learn and implement these automations based on their requirements and function in the project. So it is not just for the developers to keep learning and doing innovative stuffs, but also for the all the people in the chain. For Example, Operations teams can automate configuration management, infrastructure provisioning, Deployment. Testing team can bring in automation for Load testing and stress testing. QA teams can implement automation for approval and release processes from development to preproduction to production environments.
Any change in the way that we work, that is outside our comfort zone, creates the fear of losing job and leaves us with uncertainty. DevOps Automation is a disruption and it is doing the same. It is not here to take the jobs away, but it is here to break the silos of different functions that are working in a Software Life Cycle and bring in a cultural change of making people think about the overall system. It helps and free people’s time to focus more on innovation and be proactive with a good feedback mechanism. It helps businesses to reduce time-to-market and increase revenue cycle. The benefits of devops automation in very compulsive and it is better to understand and adapt to the cultural change that it brings in, to stay relevant.