Demystifying Kubernetes-I
In a three part series we present Kubernetes, and explain the significance of the platform and what all you need to do to migrate to Kubernetes
Recently I had on behalf of India’s leading Public Cloud vendor E2E Networks conducted a webinar titled Demystifying Kubernetes. I am sharing the presentation in video and pdf format, and also providing a link to the webinar itself at the end of this article.
Netzary has been supporting customers on Kubernetes for the past 2 years, and we see Kubernetes as one of the most important pieces of infrastructure software that has emerged in the past decade.
I am presenting the salient points we covered in the webinar on the real business impact of Kubernetes.
What is Kubernetes?
Kubernetes is defined as per the Kubernetes web site as a portable, extensible, open source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation.
At the beginning of the web revolution to be precise during the dot com boom and burst of early years of the millennium the idea of virtualization was still alien. We used to run cluster of machines each running an operating system with applications talking to each other to handle larger traffic. Late nineties most websites did not even have functional databases, and were essentially a bunch of web pages designed in Macromedia’s (later acquired by Adobe) Dreamweaver and Microsoft’s FrontPage software. Then databases emerged and we started splitting workloads into app servers and database servers, with middleware thrown in with emergence of applications such as JBoss.
However server utilization patterns were still a question mark. You either ran servers which were under utilized or where over utilized.
However with emergence of virtualization, the idea of virtual private servers emerged, and you could compartmentalize a server into multiple virtual machines, and this drastically improved CPU utilization and other resources. With multi core architectures emerging and with Intel and AMD shipping every year a processor with more cores inside than the year before, costs of computing also reduced.
VMs vs Containers
While VMS compartmentalized hardware into smaller pieces, and server utilization improved drastically, there was still room for improvement. Emergence of containers that can host applications emerged in the early part of last decade. Containers enables you to separate your applications from your infrastructure so you can deliver software quickly. Docker perhaps the world’s most popular containerization technology captured the imagination of developers and soon there was a container revolution. However, a platform which would manage containers and orchestrate them across a myriad of virtual machines or servers was missing. With Google open sourcing Kubernetes which was based on Googles 15 years of running web infrastructure.
With Kubernetes you can literally deploy and launch hundreds of containers in reasonably configured hardware, and keep spinning up more containers across a network and even across different cloud platforms as workloads increase.
While a physical server can take several hours and even days to fix and replace, VMs can be spun off from another hardware in a few minutes to a few hours depending on the size and resources needed. Containers being of smaller sizes and lesser resources can be spun off in seconds if they crash.
Hence for applications that require both scalability and uptime Kubernetes is a big boon. Over a period of time you are able to also plan your infrastructure and utilize the resources better with Kubernetes.
In the next article, I will talk about the type of applications that you need to target for a Kubernetes deployment.
The whole presentation is available for download from our website from this link
S Ramdas is the Founder-CEO ofNetzary Infodynamics