Kubernetes Case Study
By: Sainadh Cherukumalli
Tags: Kubernetes, Apps, Docker, DevOps, K8s

What is Kubernetes?

Kubernetes is a container management tool. Where container consists of a application and all its dependencies, it is easy carry from one environment to other and runs the application without any crashes. Easy to deploy and maintain.

Why kubernetes came into existence?

To know more about kubernetes we just take a look at one of the container technology. Docker is one of the container technology, it can run a any os in 1–2 seconds, it is a light weight virtualization. It made things very easy for the devops developers to focus more on application development rather than its maintenance and resolving issues while deploying. Deploying is nothing but moving our application to the internet, so anyone can use it based on their requirement.

As the complete application is running on the docker, if there is more load on the application, it can auto scale and we can create a load balancer. Load Balancing is creating multiple docker images(also known as nodes) and running them over a network, if one node has more load then other load come into existence for the next user, simply they share the load from multiple users or requests among the nodes without crashing the application.

But if one of the nodes goes down it can’t be replicated or replaced by other node, hard to monitor the nodes, up scaling and down scaling becomes difficult.

Even though docker has its own technology called docker swarm to solve this issues. Kubernetes is a very well known technology because of the below features.

Features and deep into the Kubernetes.

Kubernetes is commonly known as k8s. Dockers is sometimes called as pods. It is developed by Google in go language and then open sourced to the cloud usage. Anyone can use it for free over the cloud some of its features are chargeable based on the cloud provider. Like docker, kubernetes has its own commands.

Here a docker image is known as node. K8s creates a group of nodes and there are maintained by a master node. Group of the nodes is known as a cluster.

The main features of k8s are deploying, scheduling, scaling, load balancing, batch execution, roll back and monitoring.

Based on the usage the cluster can automatically up-scaled and down-scaled to save the resource and if one of the node goes down it will be replaced with a new node as k8s is monitoring everything.

If you deploy k8s then you will also deploy API server, etcd, scheduler, controller and container runtime. It is most reliable technology.

Case study of AppDirect

logo

Here you will be knowing about why direct choosen k8s, how k8s solved their issues and the internal team impact.

AppDirect provides an end-to-end commerce platform for cloud-based products and services.

The company had a monolith application deployed on a tomcat infrastructure, and the whole release process was complex for what it should be .There were a lot of manual steps involved, with one engineer building a feature, then another team picking up the change. So you had bottlenecks in the pipeline to ship a feature to production. At the same time, the engineering team was growing, and the company realized it needed a better infrastructure to both support that growth and increase velocity.

There idea was to create an environment where teams can deploy their services faster, and they will say, ‘Okay, I don’t want to build in the monolith anymore. I want to build a service. They considered and prototyped several different technologies before deciding to adopt Kubernetes in early 2016. The team has also integrated Prometheus monitoring into the platform; tracing is next. Today, AppDirect has more than 50 microservices in production and 15 Kubernetes clusters deployed on AWS and on premise around the world.

The Kubernetes platform has helped support the engineering team’s 10x growth over the past few years. Coupled with the fact that they were continually adding new features.

If you want to work with k8s, check my blog where I deployed a wordpress website with GKE(Google Kubernetes Engine) click here

You know have an idea about k8s, dockers and some devops terms.

Thank you for reading the blog, comment below if you have any doubts and share your valuable feedback.