The Docker adoption is still growing exponentially as more and more companies have started using it in production. It is important to use an orchestration platform to scale and manage your containers.
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 2 servers to 50 servers that you may require? How would you monitor all these containers and make sure they are restarted if they die? Here, the role of Kubernetes come in play.
“Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management.” It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation.
Now-a-days, so many companies are using the Kubernetes managing the containers. Some of them are as follows:-
Spotify: An Early Adopter of Containers, Spotify Is Migrating from Homegrown Orchestration to Kubernetes
Spotify Technology S.A is a Swedish audio streaming and media services provider, founded in 2006 by Daniel Ek.
Challenge:- In 2008, the audio-streaming platform has grown to over 200 million monthly active users across the world. 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:- They saw the amazing community that had grown up around Kubernetes, and they wanted to be part of that. 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.” At the same time, the team wanted to contribute its expertise and influence in the flourishing Kubernetes community. 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:- 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.” Teams that 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 portability for the company.
Nokia: Enabling 5G and DevOps at a Telecom Company with Kubernetes
Challenge:- 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. 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. 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 want 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 simplicity of the label-based scheduling of Kubernetes was a sign that showed them this architecture will scale, 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.
Impact:- Kubernetes has enabled Nokia’s foray into 5G. By separating the infrastructure and the application layer, they have less dependencies in the system, which means that it’s easier to implement features in the application layer. And because 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.
Thanks for reading :)