Why there is a need of Kubernetes and it’s use cases

Shivani Mandloi
4 min readDec 26, 2020

--

Problems faced before container orchestration?

With docker we can run single instance or a container of the applications with simple docker run command for example launching docker container with webservice but now it’s just one instance having your application on one docker host but what will happen if the number of users increases and results that the container is no longer able to handle the load

lets suppose to come up with this problem we deploy one more container having same application and doing the same by running “docker run” command multiple times but all this is to be done by yourself every time you would have to be aware of load an health of application and keep on deploying additional instances itself and not only this we need to keep checking if by chance some containers fail so again run another container with the same application.

And then one more question arises that what if the host itself get corrupt or crashes ?

what about the health of docker host itself and is inaccessible the containers hosted on that host becomes inaccessible too.

So what to do to get these issue solved may be we need a dedicated engineer who can continuously monitor their states and health and manages taking actions accordingly

but then what if you have larger applications , heavy application deployed with tones of thousand of applications then managing manually is not at all practical solution.

So we built something which will help us to solve these cases…

And answer to these question is container Orchestration

Container Orchestration consists a set of tools and scripts that can help host containers, typically it consists of multiple docker hosts that can host containers that even if one fails the application is still accessible through others , it easily allows us to deploy hundreds and thousands of containers of application with single command and some orchestration also help you to automatically scale the number of containers as per need , also adding docker host to balance the load not just these it also provide support for advance networking between these containers even with different hosts as well as support for sharing storage between host, configuration management security between cluster so one on such product is KUBERNETES by google.

we also have docker swarm but it lags with some features and MESOS which is bit complicated compared to Kubernetes .

Kubernetes is most popular provides lots of options for customization and support for many different needs . it is now supported on all public cloud like Microsoft azure and AWS.

with Kubernetes CLI called kube control you can run 1000s of the same application with single command it can scale it up to 2000 containers, it can be configured in such a way that it can scale automatically that its infrastructure itself can scale down and up.

AND This how Pinterest doubled down on containers and Kubernetes

Pinterest was one of the first clear cloud-computing success stories: now valued at over $12 billion, the massive site launched on Amazon Web Services and has never looked back. But the cloud has changed since Pinterest first put into place the technologies and policies that allowed to scale to over 200 million monthly users, and the company is now in the middle of a two-year project to reorient itself around containers and Kubernetes.

Micheal Benedict, product manager for cloud and data infrastructure at Pinterest, walked a packed session at CloudNativeCon and KubeCon through Pinterest’s decision to shift its infrastructure from virtual machines to containers.

In 2016, Pinterest decided after a fair amount of evaluation that it needed to move its production infrastructure to containers, Benedict said. One of the biggest developments in enterprise computing this decade, containers allow software developers to package their apps in small lightweight packages that can be run across different environments and squeeze even more performance out of hardware than virtual machines.

The company had built a lot of custom tools in order to improve the performance and reliability of its site, and that starts to get really hard at scale, Benedict said. Those custom tools are often one-off projects that don’t necessarily work well with modern concepts, and given the degree of engineering turnover in Silicon Valley, companies can run into problems down the road when they need to fix something written by an engineer that’s been gone for years.

By the middle of next year, Pinterest hopes to be using Kubernetes to manage clusters of containers in production, starting with some non-critical workloads that tend to be predictable, Benedict said.

BENEFITS

By moving to Kubernetes the team was able to build on-demand scaling and new failover policies, in addition to simplifying the overall deployment and management of a complicated piece of infrastructure such as Jenkins,” says Micheal Benedict, Product Manager for the Cloud and the Data Infrastructure Group at Pinterest. “We not only saw reduced build times but also huge efficiency wins. For instance, the team reclaimed over 80 percent of capacity during non-peak hours. As a result, the Jenkins Kubernetes cluster now uses 30 percent less instance-hours per-day when compared to the previous static cluster.

--

--

No responses yet