In modern apps, the updates, security patches, new features all happen seamlessly, without us even realising it. It’s all thanks to the technologies called containers and Kubernetes. That was the subject of our discussion on Times Techies Webinars last week with Ameeta Roy, director of solution architecture at Red Hat India, and Murad Wagh, director of systems engineering at VMware India. Red Hat and VMware are among the biggest companies in Kubernetes today.
Roy noted that for many years, organisations had huge monolithic applications, and they felt the need to break it up into more discrete, functional units that could be independently updated, instead of the whole application being redone. Thus emerged microservices. “But the infrastructure side of it was not ready to implement this. That’s why we saw things like service-oriented architecture emerge. But now, we are in a situation (with containers and Kubernetes) where we can really take off. Today, we can take that discrete, functional unit and put all the dependencies into a container and then be able to port it,” she said.
Wagh said a container is portable because it is abstracted from the underlying hardware. He compared it to a container on a ship that goes from one place to another. “In IT, the container contains an application or part of an application, and whatever it requires to run. And you can run it on any platform – on-premise, on cloud, on the edge,” he said.
But a large enterprise could potentially have thousands, even millions of containers. And those require to be managed, ensuring aspects such as security, scale, resiliency, and observability. “The containers need someone to shepherd them, ensure they do the job they are supposed to do. This software is called a container scheduler and that’s where Kubernetes comes in. Kubernetes manages the schedules of your containers, provides a platform for containers to run successfully, scale out, scale in, be secure, and move from one location to another,” Wagh said.
As companies feel the urgency to update and improve their apps constantly and quickly, containers and Kubernetes will become inevitable.
How should you prepare for the Kubernetes world?
Ameeta Roy says for developers, the fundamentals will not change. They should ensure good design principles, look at building modularity into their applications. “Fundamentally, containers are Linux. That’s the technology that allows you to package and isolate your applications with their entire runtime and all files necessary to run. So you need a good, solid understanding of Linux in order to take up courses in containers and Kubernetes,” Roy said.
Murad Wagh also emphasised Linux. “You should also know how infrastructure operates, how cloud operates. On that depends how quickly you can troubleshoot, especially in networking and security, which itself is a massive topic when it comes to Kubernetes,” he said.