Kubernetes 101 Series – Introduction

0

In this post of the Kubernetes 101 Series, we will discuss what, how, and why should you care about Kubernetes? This is one of the many posts that I intend to write in this series. This article will introduce Kubernetes and also help you understand why should you care?

A Brief History of Time

We all have worked in IT for long enough to know that we started with physical workloads in the data center where one application ran on one physical server. This often led to wastage of physical resources like CPU, RAM, Network, and Disk.

Then came VMware, which was founded in 1998 and they changed the way we look at our infrastructure. They introduced virtualization to the industry and the rest is history.

Everyone today is using Virtual Machines and now we can run multiple apps within VMs on a single physical host with more efficient management of physical resources.

Although VMware solved many of the problems with the physical infrastructure and helped us better use our resources, there was still bloat inside the VMs. Each VM brought its own bloat in terms of OS, resource requirements to run the OS, etc.

As you would have imagined how this story goes, another company called Docker, Inc was founded in 2008 trying to solve the exact above issue. And they created something called Containers which could share the physical resources from the host OS and there was no need to create VMs anymore. Problem solved!

Kubernetes 101 Series - Introduction

Not so much. Although containers are easy to create and Docker, Inc democratized this technology, managing them at scale was a nightmare. This is where Google comes into play.

Now Google was using containers for a very very long time to run their business, although they used a slightly different technology called LXC, that'll take me a different blog post altogether to explain. So, let's just stay on track here.

Enter Kubernetes

Kubernetes 101 Series - Introduction

Google was using Kubernetes for its own container orchestration which they open-sourced in the year 2014 and is now maintained by Cloud Native Computing Foundation.

Kubernetes is an open-source container-orchestration system for automating application deployment, scaling, and management.

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. And in a production setup, you end up running hundreds and thousands of these containers.

Well, Kubernetes does much more than just orchestrating containers, it makes sure that the desired state is always achieved at any given point in time.

So you might ask what is desired state? It's a set of rules that you have defined for your applications. Things like how many containers should be running, where should they be running, etc. Along with Kubernetes also monitors these containers and something goes wrong with them, it spins up new ones.

It also makes sure that the containers are ready to accept workloads before they are deemed to be in a running state and various other things.

How do you use Kubernetes?

Building a Kubernetes cluster on your own can be very challenging in the beginning as it has multiple components which we will talk in our next post.

For testing and development purposes, you could install minikube on your desktop/laptop which allows you to run a single-node Kubernetes cluster.

And then there are the public cloud providers, like Amazon’s AWS, Microsoft’s Azure, and Google’s Google Cloud Platform that allows you to spin up a Kubernetes cluster within a few clicks.

Why Should you care about Kubernetes?

If you like me have been in the industry for some time, then you already are hearing a lot of folks talk about Kubernetes. Like it or not, it is here to stay.

There is always a shift that the industry goes through and the time is now. VMware themselves have invested a lot on Kubernetes in the recent past and that was the final nail in the coffin.

I strongly believe VMware will make containers mainstream as they made VMs a commodity and they are in a unique position to do so. Although, it's not going to happen overnight. And I want to be ready when it happens.

And then there are already the cool kids using Kubernetes to build their cloud-native applications from scratch using microservices and so on. Also, the Cloud providers have made consuming Kubernetes as a service very easy and there is some good adoption there.

Hence, my push to learn Kubernetes because, Heck yeah, I want to be relevant in the industry and it's been a while that I learned something new! And why not start with something that has great potential as Kubernetes has.

I have already started preparing for the Certified Kubernetes Application Developer (CKAD) exam and I have always believed the best way to gain knowledge is to share the same time. This way I am focussed on the task at hand and also make sure that the content I put out is accurate, which is why the Kubernetes 101 Series was born.

I hope that you all will hang around for the Kubernetes 101 Series and I hope that you all will go back learning something useful. Thank you again for being a part of this journey.

Share.

About Author

I am Adil Arif, working as a Senior Technical Support Engineer at Rubrik as well as an independent blogger and founder of Enterprise Daddy. In my current role, I am supporting infrastructure related to Windows and VMware datacenters.

Leave A Reply