Kubernetes(K8s) : The next big thing in IT Industry.
By: Nitin Tilwani
Tags: Kubernetes, Use Cases, Microservices, Cloud

What is Kubernetes ?

Kubernetes (also known as k8s or “kube”) is an open source container orchestration platform that automates many of the manual processes involved in deploying, managing, and scaling containerized applications.

In simple words :-

Open source container orchestration

Developed by google

Helps you manage containerized applications in different deployment environments like physical machines, virtual machines, or cloud environments or even hybrid deployment environments.

Why there is a need of a container orchestration tool ?

Trend from monolith to microservices

Increased usage of containers

Demand for a proper way of managing those hundreds of containers

(Now in this advanced world micro service technology actually resulted in applications comprised of hundreds or sometime maybe even thousands of containers , so now managing those loads of containers across multiple environments using scripts and self-made tools can be really complex and sometimes even impossible so that specific scenario actually caused the need for having container orchestration technologies.)

What features do orchestration tools like Kubernetes offer ?

High Availability or no downtime which means that it is always accessible by the users.

Scalability or high performance meaning that it loads fast and users have a very high response rates from the application

Disaster recovery — backup and restore , which basically means that if an infrastructure has some problems like data is lost or the server’s explode or something bad happens with the server center, the infrastructure has to have some kind of mechanism to pick up the data and to restore it to the latest state so that application doesn’t actually lose any data and the containerized application can run from the latest stayed after the recovery.

Kubernetes meets the Real world :-

Why these Big Companies adopted Kubernetes?

Lets deep dive into case studies of some big companies…

1.) NOKIA — Connecting People

“When people are picking up their phones and making a call on Nokia networks, they are creating containers in the background with Kubernetes.” — GERGELY CSATARI, SENIOR OPEN SOURCE ENGINEER, NOKIA

This is somewhat complex, but I’ll try my best to sort some challenge faced by NOKIA in this case study:

CHALLENGE : Nokia’s core idea’s is to build telecom networks end-to-end and vision of connecting people all over the world ; “As telecom vendors, they have to deliver their software to several telecom operators and put the software into their infrastructure, and each of the operators have a bit different infrastructure” . Main challenge is to run the same product on all of these different infrastructures without changing the product itself.

SOLUTION : The company decided that moving to cloud native technologies would allow teams to have infrastructure-challenger behavior in their products. Teams at Nokia began experimenting with latest launched versions of Kubernetes. They founded that the Kubernetes architecture will increase he scale, and will be stable, and will be good for their purposes. The first Kubernetes-based product, the Nokia Telephony Application Server, went live in early 2018. “Now, all the products are doing some kind of re-architecture work, and they’re moving to Kubernetes.”

Nokia: Enabling 5G and DevOps at a Telecom Company with Kubernetes. Kubernetes has enabled Nokia’s vision into 5G.

2.) Box — The Cloud Content Management Platform

“We looked at a lot of different options, but Kubernetes really stood out….the fact that on day one it was designed to run on bare metal just as well as Google Cloud meant that we could actually migrate to it inside of our data centers, and then use those same tools and concepts to run across public cloud providers as well.” — SAM GHOUDS, CO-FOUNDER AND SERVICES ARCHITECT OF BOX

CHALLENGE : Box was built primarily with a monolithic PHP code base inside their own data centers. As the company was expanding globally, it needed to focus on “how they can run their workload across many different cloud infrastructures from bare metal to public cloud” . Main Challenge was that the active users of Box were rapidly increasing globally with a huge rate, and so the workload was also increasing, but their infrastructure was so antiquated that it was taking them more than six months to deploy a new microservice ,so this challenge lead them to shift on Kubernetes.

SOLUTION : Over the past couple of years, Box has been decomposing its infrastructure into microservices, and became an early adopter of, as well as contributor to Kubernetes container orchestration. Kubernetes has allowed Box’s developers to “target a universal set of concepts that are portable across all clouds. Today, a new microservice takes less than five days to deploy with the help of Kubernetes. Kubernetes help them as they were expanding into regions around the globe, and as the public cloud wars have been heating up, they have been focusing a lot more on figuring out how they can run their workload across many different environments and many different cloud infrastructure providers.

Box: Kubernetes has been remarkably flexible with fitting into many of the constraints that box was facing , and we have been running it very successfully on the bare metal infrastructure.

3.) Pinterest — WELCOME TO VISUAL DISCOVERY

“So far it’s been good, especially the elasticity around how we can configure our Jenkins workloads on that Kubernetes shared cluster. That is the win we were pushing for.” — MICHEAL BENEDICT, PRODUCT MANAGER FOR THE CLOUD AND THE DATA INFRASTRUCTURE GROUP AT PINTEREST

CHALLENGE : After eight years in existence, Pinterest had grown into 1,000 microservices and multiple layers of infrastructure and diverse set-up tools and platforms. In 2016 the company launched a roadmap towards a new compute platform, led by the vision of creating the fastest path from an idea to production, without making engineers worry about the underlying infrastructure.

SOLUTION : The first phase involved moving services to Docker containers. Once these services went into production in early 2017, the team began looking at orchestration to help create efficiencies and manage them in a decentralized way. After an evaluation of various solutions, Pinterest went with Kubernetes. By moving to Kubernetes their team was able to build on-demand scaling and new failover policies, and they also saw reduced build times along with huge efficiency.

Pinterest: We are in the position to run things at scale, in a public cloud environment, and test things out in way that a lot of people might not be able to do. We’re in a great position to contribute back some of those learnings.

Finally,

Now, we no longer need to worry about the state of our application but need to rely on Kubernetes to ensure that our application continues to run and is healthy. We as a developer only need to focus on the application code, and we need not worry about the underlying infrastructure, as containers will run the same in all environments. Kubernetes has made the life a lot easier for developers.