Separating Dev and Ops in the Age of Kubernetes and Multi-Cloud Environments
In recent years, the concept of DevOps has become increasingly popular, emphasizing the collaboration and integration of development and operations teams. However, there is a growing realization that DevOps is not always the best approach, especially in traditional infrastructure environments. At VMworld 2019, one message that resonated with many attendees was the importance of separating Dev and Ops again.
This shift can be attributed to the rise of consumable platforms outside the traditional control of IT operations people. As a result, there has been a lot of pressure to adopt DevOps practices, which may not always be the best fit for every organization or project. In fact, automation doesn’t equal development and there are several infrastructure as code tools that bridge the gap between developers and infrastructure guys.
IT Ops should focus on understanding fundamentally what is happening within a platform and supporting infrastructure that developers can consume. While DevOps has its benefits, it is not always necessary or appropriate, especially when working with traditional infrastructure. In fact, IT Ops needs to be able to code in slightly abstracted ways to work with APIs or leverage IaC tooling.
One of the key reasons for separating Dev and Ops is that developers want to consume services and take advantage of containerized platforms like Docker, while IT Operations wants to manage the supporting platforms as they did previously. The compute, networking, and storage are still relevant in a hybrid world, and IT Ops should care about what’s under the hood and the impact applications can have on infrastructure.
VMware has introduced the (re)split of Dev and Ops with Project Pacific, which endorses the separation of roles and responsibilities. Kubernetes and ESXi in one vSphere platform is where that vision lies. In a hybrid, multi-cloud world, it’s essential to let devs be devs and let IT Ops be IT Ops. They need to work together but with separate focuses.
The author had an “aha” moment while working on some Kubernetes automation work with Terraform. They finally understood why Kubernetes was created – everything about the application was defined in json files and deployed as a whole through one command. This is elegant compared to how they worked with developers back in the early days of web hosting on Windows and Linux web servers.
In conclusion, separating Dev and Ops is essential in the age of Kubernetes and multi-cloud environments. It allows developers to focus on development and IT Ops to manage the infrastructure. Letting devs be devs and letting IT Ops be IT Ops is crucial for a successful hybrid, multi-cloud world.