Kubernetes and Its Industrial Use Cases
Kubernetes is the Greek word , meaning “helmsman” or “sailing master.” is about 6 year old and it is a popular open source platform for container orchestration — that is, for the management of applications built out of multiple, largely self-contained runtimes called containers. In other words, you can cluster together groups of hosts running containers, and Kubernetes helps you easily and efficiently manage those clusters .The platform was first developed by a team at Google, and later donated to the Cloud Native Computing Foundation (CNCF). It’s not the only option for container management, but it has rapidly become one of the most popular By making containerized applications dramatically easier to manage at scale.
Before learning more about Kubernetes , Let's first talk about what is Container Orchestration ?
What is container orchestration?
Containers support VM-like separation of concerns but with far less overhead and far greater flexibility. As a result, containers have reshaped the way people think about developing, deploying, and maintaining software. In a containerized architecture, the different services that constitute an application are packaged into separate containers and deployed across a cluster of physical or virtual machines. But this gives rise to the need for container orchestration—a tool that automates the deployment, management, scaling, networking, and availability of container-based applications.
Why Kubernetes?
- Imagine a situation where you have been using Docker for a little while, and have deployed on a few different servers. Your application starts getting massive traffic, and you need to scale up fast; how will you go from 3 servers to 40 servers that you may require? And how will you decide which container should go where? How would you monitor all these containers and make sure they are restarted if they die? This is where Kubernetes comes in.
- Kubernetes is software that manages many server computers and runs a large number of programs across those computers. On Kubernetes, all programs run in containers so that they can be isolated from each other, and be easy to develop and deploy.
- Kubernetes is the new operating system for the cloud. It helps you run software in a modern cloud environment by leveraging Google’s extensive experience of running software at scale .
- Once organizations understand the benefits of containers and Kubernetes for DevOps, application development, and delivery, it opens up so many possibilities like
? modernizing traditional applications
? hybrid- and multi-cloud implementations
? the development of new, cloud-native applications with speed and agility
Benefits of Kubernetes -
- It is portable.
- It can run on a public or private cloud .
- It can run on-premise or in a hybrid environment.
- You can move a Kubernetes cluster from one hosting vendor to another without changing (almost) any of the deployment and management processes.
- Kubernetes can be easily extended to serve nearly any needs. You can choose which modules you’ll use, and you can develop additional features yourself and plug them in.
- Zero-downtime deployments, fault tolerance, high availability, scaling, scheduling, and self-healing add significant value in Kubernetes.
- It allows you to store confidential information as secrets.
- You can use it to validate the health of your services.
- It can load balance requests and monitor resources.
- It provides service discovery and easy access to logs.
Journey with Kubernetes -
??Tinder -
Due to high traffic volume, Tinder’s engineering team faced challenges of scale and stability.
Tinder’s engineering team solved interesting challenges to migrate 200 services and run a Kubernetes cluster at scale totaling 1,000 nodes, 15,000 pods, and 48,000 running containers. they had to do it for the smooth business operations going further. One of their Engineering leaders said, “As we onboarded more and more services to Kubernetes, we found ourselves running a DNS service that was answering 250,000 requests per second.” Fantastic culture, Tinder’s entire engineering organization now has knowledge and experience on how to containerize and deploy their applications on Kubernetes .
??Pokemon Go’s -
How was Pokemon Go able to scale so efficiently became so successful? The answer is Kubernetes. Pokemon Go was developed and published by Niantic Inc., and grew to 500+ million downloads and 20+ million daily active users.
- Challenge
Pokemon Go engineers never thought their user base would increase exponentially to surpass expectations within a short time. They were not ready for it, and the servers couldn’t handle this much traffic.
Pokemon Go also faced a severe challenge when it came to vertical and horizontal scaling because of the real-time activity by millions of users worldwide. Niantic was not prepared for this.
- Solution
The solution was in the magic of containers. The application logic for the game ran on Google Container Engine (GKE) powered by the open source Kubernetes project.
- Impact
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. This gave them more time to concentrate on building the game’s application logic and new features rather than worrying about the scaling part.
?? WINK -
- Challenge
Building a low-latency, highly reliable infrastructure to serve communications between millions of connected smart-home devices and the company's consumer hubs and mobile app, with an emphasis on horizontal scalability, the ability to encrypt everything quickly and connections that could be easily brought back up if anything went wrong.
- Solution
Across-the-board use of a Kubernetes-Docker-CoreOS Container Linux stack.
- Impact
Wink Head of Engineering Kit Klein says proudly – though he adds that "it really comes with a lot of pressure. It's not a retail situation where you have a lot of tech enthusiasts. These are everyday people who want something that works and have no tolerance for technical excuses."
With 80 percent of Wink's workload running on a unified stack of Kubernetes-Docker-CoreOS, the company has put itself in a position to continually innovate and improve its products and services.
?? ADIDAS -
- Challenge
In recent years, the adidas team was happy with its software choices from a technology perspective—but accessing all of the tools was a problem. For instance, just to get a developer VM, you had to send a request form, give the purpose, give the title of the project, who's responsible, give the internal cost center a call so that they can do recharges. The best case is you got your machine in half an hour. Worst case is half a week or sometimes even a week.
- Solution
They looked for ways to shorten the time it took to get a project up and running and into the adidas infrastructure. They found the solution with containerization, agile development, continuous delivery, and a cloud native platform that includes Kubernetes and Prometheus.
- Impact
Just six months after the project began, 100% of the adidas e-commerce site was running on Kubernetes. Load time for the e-commerce site was reduced by half. Releases went from every 4-6 weeks to 3-4 times a day. With 4,000 pods, 200 nodes, and 80,000 builds per month, adidas is now running 40% of its most critical, impactful systems on its cloud native platform.
??IBM -
IBM Cloud offers public, private, and hybrid cloud functionality across a diverse set of runtimes from its Open Whisk-based function as a service (FaaS) offering, managed Kubernetes and containers, to Cloud Foundry platform as a service (PaaS).
- Challenge
In the later part of 2017, the IBM Cloud Container Registry team wanted to build out an image trust service.
- Solution
The image trust service, called Portieris, is fully based on the Cloud Native Computing Foundation (CNCF) open source project Notary . Portieris is a Kubernetes admission controller for enforcing content trust. Users can create image security policies for each Kubernetes namespace, or at the cluster level, and enforce different levels of trust for different images. Portieris is a key part of IBM's trust story, since it makes it possible for users to consume the company's Notary offering from within their IKS clusters.
- Impact
IBM's intention in offering a managed Kubernetes container service and image registry is to provide a fully secure end-to-end platform for its enterprise customers. The company had not been offering image signing before, and Notary is the tool it used to implement that capability. The Docker Registry uses hashes to ensure that image content is correct, and data is encrypted both in flight and at rest. But it does not provide any guarantees of who pushed an image. They used Notary to enable users to sign images in their private registry namespaces if they so choose.
??SPOTIFY -
Launched in 2008, the audio-streaming platform has grown to over 200 million monthly active users across the world.
- Challenge
An early adopter of microservices and Docker, Spotify had containerized microservices running across its fleet of VMs with a homegrown container orchestration system called Helios. By late 2017, it became clear that "having a small team working on the features was just not as efficient as adopting something that was supported by a much bigger community .
- Solution
Kubernetes was more feature-rich than Helios. Plus, They wanted to benefit from added velocity and reduced cost, and also align with the rest of the industry on best practices and tools. The migration, which would happen in parallel with Helios running, could go smoothly because Kubernetes fit very nicely as a complement and now as a replacement to Helios.
- Impact
The biggest service currently running on Kubernetes takes about 10 million requests per second as an aggregate service and benefits greatly from autoscaling . Before, teams would have to wait for an hour to create a new service and get an operational host to run it in production, but with Kubernetes, they can do that on the order of seconds and minutes. In addition, with Kubernetes's bin-packing and multi-tenancy capabilities, CPU utilization has improved on average two- to threefold.
??THE NEW YORK TIMES -
- Challenge
When the company decided a few years ago to move out of its data centers, its first deployments on the public cloud were smaller, less critical applications managed on virtual machines. They started building more and more tools, and at some point they realized that they were doing a disservice by treating Amazon as another data center.
- Solution
The team decided to use Google Cloud Platform and its Kubernetes-as-a-service offering, GKE.
- Impact
Speed of delivery increased. Some of the legacy VM-based deployments took 45 minutes; with Kubernetes, that time was just a few seconds to a couple of minutes. Their Teams used to deploy on weekly schedules or had to coordinate schedules with the infrastructure team now deploy their updates independently, and can do it daily when necessary. Adopting Cloud Native Computing Foundation technologies allows for a more unified approach to deployment across the engineering staff, and porability for the company.
??NOKIA -
Nokia's core business is building telecom networks end-to-end; its main products are related to the infrastructure, such as antennas, switching equipment, and routing equipment
- Challenge
As telecom vendors, they have to deliver our software to several telecom operators and put the software into their infrastructure, and each of the operators have a bit different infrastructure . There are operators who are running on bare metal. There are operators who are running on virtual machines. There are operators who are running on VMware Cloud and OpenStack Cloud. they wanted 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-agnostic behavior in their products. Teams at Nokia began experimenting with Kubernetes in pre-1.0 versions . 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."
- Impact
Kubernetes has enabled Nokia's foray into 5G. When you develop something that is part of the operator's infrastructure, you have to develop it for the future, and Kubernetes and containers are the forward-looking technologies and because their teams can test the exact same binary artifact independently of the target execution environment, they find more errors in early phases of the testing, and they do not need to run the same tests on different target environments, like VMware, OpenStack, or bare metal . As a result, "they save several hundred hours in every release."