KUBERNETES in Action

Piyush Bagani - Mar 28 '21 - - Dev Community

Hello Readers👋,

In this Blog, I am going to discuss “How Industries are using Kubernetes” and will discuss some case studies. So after reading this blog you will get the whole insights about “Kubernetes”!

What Is Kubernetes ?

alt text
Kubernetes is a container orchestration system, which can be used to manage large numbers of containers on top of physical infrastructure. Kubernetes was built by Google based on their experience running massive amount of containers in production. Kubernetes services, support, and tools are widely available.It aims to provide a platform for automating deployment, scaling, and operations of application containers across clusters of hosts.For managing the lifecycle, it uses different methods that foster predictability, scalability, and high availability.

A Kubernetes user gets the freedom to decide as well as define how the applications should run and communicate. The user is also allowed to scale up/down the services, perform rolling updates, switch traffic between different application versions, and more. Kubernetes also offers different interfaces and platform primitives for defining/managing applications.

The Main Objective:

The main objective of Kubernetes is to hide the complexity of managing a fleet of containers by providing REST APIs for the required functionalities. Kubernetes is portable in nature, meaning it can run on various public or private cloud platforms such as AWS, Azure, OpenStack, or Apache Mesos. It can also run on bare metal machines.

How Kubernetes Solves the Problem?

Containers are virtual machines. They are lightweight, scalable, and isolated. The containers are linked together for setting security policies, limiting resource utilization, etc. If your application infrastructure is similar to the image shared below, then container orchestration is necessary.

It might be Nginx/Apache + PHP/Python/Ruby/Node.js app running on a few containers, communicating with the replicated database. Container orchestration will help you manage everything by yourself.
alt text
Consider that your application keeps on growing. For example, you keep on adding more features and at some point in time, you realize that it has suddenly become a huge giant.Now, it is impossible to manage the vast application because it eats up your CPU and RAM. So you finally decide to split the application into smaller chunks. Each one of them with a specific task. Now, the infrastructure looks like this:
alt text
The container orchestration is extremely powerful and solves most of the challenges.

Now Let’s Discuss how with the help of Kubernetes, Giant companies overcome their challenges & got more benefits.

eBay & Kubernetes

alt text
Most of us know eBay right? Yes, the e-commerce giant! There are many e-commerce giants and most of them are doing pretty well. The reason is that the number of Internet users is increasing every single day. But have you ever thought about how they operate? E-commerce websites are not just meant to keep the customers happy. These websites also need to keep their developers happy! For this, they try something different, something better, and something that is less complicated. With such an intent, eBay created or rather developed a framework for deploying containers on the OpenStack cloud.

So eBay is not a small thing, it is huge and ever growing. The product listings on eBay are also over 800 million.To be more precise, it was founded a year after Amazon. So the trend of online marketing and shopping had just begun. As per the statistics, there are more than 175 million active eBay users in the second quarter of 2018. The first quarter had 171 million active users. The statistics itself shows that the number of eBay users are increasing, almost every single day!

A few years back, eBay was enthusiastically using OpenStack for managing the cloud infrastructure.Next, eBay focuses on the front end of the Kubernetes container scheduling system. This is open sourced by Google and eBay wanted to interleave with the OpenStack clouds for managing the containerized applications.
Their Cloud Journey

eBay’s cloud journey began like any other company. But they always focused on keeping their developers happy. With the emergence of Docker, it was pretty much clear that developers were and are in love with the container technology.If we compare eBay with other IT giants like Google, Amazon, Microsoft, and Facebook, it’s scale might not look big. But still, eBay’s infrastructure is large and is also taken seriously. This includes containerized data centers that are powered by fuel cells.

The main intention of using OpenStack is to allow developers to self-service their development needs. But then onwards, containers overtook virtual machines to manage code with OpenStack. Then, eBay settled with Kubernetes as a management solution and also developed Tess Master. It is a replacement for Magnum (OpenStack’s container management tool). eBay has its own custom build of Kubernetes, it is known as the Tess.io. Kubernetes is a revitalizing ingredient for OpenStack and even for other independent developments in the OpenStack world.

Pokemon Go’s Kubernetes story

alt text
On 6th July 2016, the augmented reality game “Pokemon Go” was launched by Niantic for Android and iOS devices. This game was initially launched in some countries and then to the other countries. It is a huge success and to such an extent that the countries where it wasn’t launched, people started downloading it through proxies and other inorganic sources. Pokemon Go and Kubernetes share a special bond. Let us discuss how…

Niantic and Google share a special bond. Why? The reason is that Niantic was Google CRE’s first customer and the first project was Pokemon Go.After 15 minutes of launching Pokemon Go in Australia and New Zealand, the player traffic had already surpassed the expectations of Niantic and Google. This launch was also a confidence boost up for Niantic.The horizontal scaling on one side but Pokemon Go also faced a severe challenge when it came to vertical scaling because of the real-time activity by millions of users worldwide. Niantic was not prepared for this.

Till date, Pokemon Go is considered as one of the finest examples of container-based development in the wild. The application logic runs on GKE or the Google Container Engine. It is powered by the open source Kubernetes project.Niantic chose GKE for its ability to orchestrate their container cluster at planetary-scale, freeing its team to focus on deploying live changes for their players. In this way, Niantic used Google Cloud to turn PokĂŠmon GO into a service for millions of players, continuously adapting and improving.

Conclusion

Real world examples are always inspiring and convincing. The reason is that we see the change in front of us. Yes, Kubernetes has made a huge difference to these companies. Kubernetes has made a difference to numerous companies. My only intention is to draw your attention to Kubernetes. These companies have benefited a lot from Kubernetes, so why don’t you? Learn it, implement it, and experience the change!

Thanks For Reading🎇

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .