Kubernetes is also known as K8s, is an open-source container orchestration system. Kubernetes is not a PaaS tool. In fact, it works as a single interface that deploys containers to all kinds of clouds, virtual machines, and physical machines.
It was originally built by Google around 10 years ago. The tool was built to further its successor Google Borg, another container management tool.
Now, K8s has come a long way, as Google open-sourced it in 2014. It is a rapidly growing open source community, where engineers from Google, RedHat, and other various companies contributing to dissociate machines, storage, and networks away from their physical implementations.
Here, we will discuss Kubernetes use cases and examples to understand its implementations for your business. We will also discuss the future of the tool.
Top 7 Kubernetes Use Cases and Examples
- Kubernetes enables one to run multiple containers at the same time. For these containers, a developer creates a ‘Deployment’ and sets the number of replicas, the set of instructions is presented that can be easily understood by humans.
- As multiple cloud infrastructure provides support to Kubernetes, it allows it to run virtually on any public cloud, on-premise hardware, or even bare metal.
- It saves cost, as it optimizes infrastructural resources by utilizing the hardware efficiently for companies using K8s.
- It constantly keeps a check on the health of the nodes and containers.
- Kubernetes has proven to be a market leader. According to Container Journal’s Survey more than half of its respondents run Kubernetes in their production environment which means there is a significant increase in the demand and usage for Kubernetes’ Clusters.
Kubernetes manage clusters for Amazon EC2, compute instances as well as run containers on these instances using processes of deployment, maintenance, and scaling. This enables one to run any type of containerized application using the same on-premise and in-cloud toolset. Amazon Elastic Kubernetes Services (EKS) is a certified conformant that manages the Kubernetes control plane.
AWS has collaborated with Kubernetes’ community and making contributions to its code-base which helps users take advantage of AWS’s features and services. This collaboration allows users to fully manage their Kubernetes deployment and utilize a powerful, community-back integration and get automatic provisions.
AKS is a completely managed service the enables Kubernetes in Azure, without having to manage Kubernetes clusters separately. Azure is able to manage all the complexities of Kubernetes, while one concentrates on the containers. Some basic features include Pay only for the nodes, easier cluster upgrades as well as Kubernetes RBAC and Azure Active Directory integration.
A great example of AKS’s real-life usage is Logicworks, which is a Microsoft Azure Gold Partner, that works with companies to help them migrate their applications to Azure.
With the help of AWS, they were able to achieve portability across on-prem and public clouds. It also accelerated containerized application development, and unified development and operational teams on a single platform.AKS is a powerful service for running containers in the cloud, as companies only pay for the VMs and resources consumed. Solutions like AKS Quickstart is able to launch a test cluster within an hour.
Apache Spark is an open-source distributed computing framework. Spark helps manage a large number of data sets with the help of a cluster of machines. But it does not manage the machine, this is where Kubernetes helps.
Spark creates its own driver which runs within the Kubernetes Pod. The driver then creates executors that also run within Kubernetes pods, connects them, and then executes the application code. Once the application is completed, the executioner pods are terminated and cleared, but the driver pods persist logs and remain in the “completed” state in the API.
Kubernetes takes care of scheduling the driver and executor pod. fabric8 is used to communicate to Kubernetes API.
Kubernetes enables containerization which is helpful in traditional software engineering and big data as well as Spark. The containers make the application more portable, simplifies the packaging of dependencies, and build a reliable and secure workflow. In the recent version of Spark, Spark on Kubernetes is marked as Generally Available and production-ready in the official docs.
Bloomberg, the financial data analytics company, began utilizing Kubernetes in 2015 when this tool was still very new in the market. Bloomberg processes a large number of data sets every day, working with 14,000 different applications.
Now, they wanted to decrease their processing time and free up operational tasks so that the developers could concentrate on tasks more beneficial to the company. Bloomberg went through a plethora of platforms namely Cloud Foundry, Mesosphere Marathon, and a variety of Docker offerings.
According to Andrey Rybka, head of the computing infrastructure in the office of the CTO at Bloomberg, “Kubernetes had a good foundation and it was clear they were confronting the right problems. You could see a vision and roadmap as to how it would evolve, that was aligned with what we were thinking.”
Kubernetes has enabled them to work on a Paas layer which gives the developers the right level of abstraction to work with. The major objective for Bloomberg was to efficiently utilize the existing hardware they had already invested in.
With Kubernetes, they were not just able to do that, but they were able to allocate data by themselves along with networking and storage without issuing tickets.
A CNCF case study showed how Kubernetes enabled Bloomberg to utilize their hardware up to an efficiency level close to 90 % to 95 %. A lot of companies that have dealt with Kubernetes have a similar experience with the tool.
Google Cloud is where Kubernetes was first originated in 2014. Google developed the tool to containerize their 15 years’ worth of workloads. When they announced that it was an open-source tool, it paved the way for the community to make their contributions to the tool.
Providing automated container orchestration, Kubernetes improves a Company’s reliability and reduces the time and effort of a resource.
Google still uses Borg internally and Kubernetes plays the role of 3rd party container orchestration system. The aim to build Kubernetes was to learn from their previous mistakes and improve on the design.
Kubernetes was never built with the agenda to replace Borg, as it would’ve taken a tremendous amount of effort for the engineers to migrate. Hence developers learned from their past experiences and developed an open-sourced version for various other companies to depend on.
Google Kubernetes Engine (GKE) is a secured and managed service with a 4-way auto-scaling and multi-cluster support. Companies like Pizza-Hut U.S, heavily depend on Google solutions including GKE. They used the tools to transform their E-Commerce infrastructure and increase the response time for orders.
Pokemon GO was developed and published by Niantic Inc. The game had more than 500 million downloads and more than 20 million active users. The developers did not expect such an exponential increase in users and surpass the expectations.
They soon realized that the servers could not handle the amount of traffic they received. Then the application was run on GKE, which had the ability to orchestrate their container cluster at a manageable scale.
This enabled the team to focus on deploying live changes for their users. GKE helped the company to not only serve, by allowing Niantic to improve their user’s experience but also add newer features to the application.
The New York Times is one of the biggest publications in the world, with over 150 million monthly unique readers. The NYT like any other publication and magazine entered into the digital era to cater to its audiences, who now consume content on their phones instead of the grey paper.
One of the craziest problems that it faced was that of Fake News. They wanted to avoid sending out incorrect and unverified news to their readers, for which they wanted to check and cross-check each piece of information aggressively.
Now, the amount of data processed in a newsroom like this would require a strict back-up. They began their journey with LAMP Stack but were broadly dissatisfied and soon moved on to a React-based front end using Apollo.
A few years ago, the company decided to move out its data centers and less critical applications that shall be managed on VMs. That’s when Kubernetes offered its solution GKE.
There was a significant increase in the spread, and deployment, and productivity. The Legacy deployments took less than 45 minutes and are now pushed in just a few minutes.
NYT has now moved on from a ticket-based system to requesting resources that deploy weekly schedules. This has enabled developers to push updates independently.
The above use cases are recent examples of how companies use Kubernetes to manage containerized workloads and services. Kubernetes have been a road to IT Transformation as it helps deploys applications and efficiently use the containerized infrastructure.
One discovered how companies from varied industries from finance, eCommerce, news magazines to gaming platforms all have optimally utilized the tool.
Kubernetes is available as an open-source tool and also available with various IT Vendors like Pivotal, RedHat, CoreOS Tectonic, Docker, etc.
According to Paul Czarkowski, Principal Technologist at Pivotal, “I think the two (Virtual Machines and Kubernetes) are pretty complimentary, in fact i’m saying “the future of k8s is vms” and you’re saying “the future of vms is k8s” and we’re both exactly right! computers are weird.”
You May Also Like To Read:
Understanding LAMP Stack and Its Applications
Kubernetes vs ECS: An In-Depth Comparison of the Two
Top 12 Container Orchestration Tools
Top 5 Open Source SaaS Platforms