Microservices has changed the face of application development. Several organizations have been experimenting with microservices for a while now and a huge number of these companies have already changed the way they develop applications. Microservices and containers are just made for each other. Containers are smaller components of an application that take lesser time to set up and use way fewer resources than VMs. Containers are also completely walled off from each other and this helps your microservices-based application work better. However, workloads have gotten complex over the last couple of years as the confidence in microservices grew. This led to issues with scalability and management. Setting up containers isn’t hard, the real issue is operating and managing them. And, as the number of containers deployed increases, scaling up can become a bit of a headache. This is where Kubernetes came in. Kubernetes is an open-source container orchestration tool that helps organizations automate deployment, scaling, and management of containerized workloads.
Since landing on the scene, Kubernetes has garnered a huge following and has become the most popular container orchestration tool. There’s a bustling community of developers that help Kubernetes grow and evolve into an increasingly impressive version of itself. After being developed by Google, Kubernetes became a part of the Cloud Native Computing Foundation (CNCF), which is proof of how successful this project is. Kubernetes helps organizations manage and monitor their containers to ensure high availability. Kubernetes allows customers to mount any sort of storage whether it’s local, public cloud, or network storage. Kubernetes is also self-healing, which means it restarts containers that fail and also kills containers that don’t respond to health checks and keeps them from clients until they get fixed. Kubernetes also performs progressive rollouts of updates and also performs automated rollbacks in case the changes lead to failure.
Let’s look at some case studies of the major organizations that use Kubernetes to help solve the challenges they faced while adopting microservices.
The popular visual discovery engine has become a part of the Kubernetes community. Pinterest has over 250 million monthly active users for whom it provides over 10 billion recommendations. Pinterest has a huge fleet of servers and over 300 petabytes of data. It has been on the cloud since day 1. However, as the company grew, it became an important mission to release the overhead of managing VMs. This is why they evaluated several platforms and finally ended up choosing Kubernetes.
Kubernetes helped Pinterest increase its delivery velocity by bringing down the time-to-market to just minutes. Machine learning is an important use case for Pinterest as it powers its visual discovery engine. Kubernetes allows Pinterest to build, scale, deploy, and iterate its models quickly and easily. Kubernetes also helps provide Pinterest a clean abstraction as it takes care of several previously manual jobs and lets developers focus on innovation. This shows how Kubernetes helps organizations minimize manual work and removes the clutter.
Spotify is the most popular music streaming service with more than 200 million monthly active users. Spotify adopted microservices a long time ago. It has been running containerized microservices over its own VMs with a homegrown container orchestration platform, Helios. Spotify wanted to leverage Kubernetes as a complementary solution to Helios, to compensate for the features that its own platform lacked.
Spotify is actively carrying out the migration of its workloads to the Kubernetes platform. They started small with a small percentage to experiment with the open-source platform before diving in deep. After adopting Kubernetes, Spotify developers require less effort in manual capacity provisioning and can instead spend more time delivering new features.
Spotify also achieved increased velocity and reduced costs with its adoption of Kubernetes. Services that took an hour to create and run in production now require only minutes or even seconds. The biggest service running on Kubernetes receives a whopping 10 million requests per second. Kubernetes also helps improve CPU utilization to a great extent. Spotify has clarified that their migration to Kubernetes will continue in parallel with Helios to cause the least disruption to existing workloads. This is testimony to how adaptable Kubernetes is and how it can coexist with your existing stack giving you maximum flexibility.
Bose has been producing connected devices for several years. However, when the demand started growing, Bose starting building a platform from scratch to accommodate it. Bose needed a faster way to prototype and deploy services to production while also maintaining vendor neutrality. For this, they evaluated several platforms and finally chose Kubernetes due to its scaled IoT platform-as-a-service running on AWS.
The new platform was launched along with Prometheus to serve around 3 million connected devices. Today, Bose has over 1,800 namespaces and 340 worker nodes in one of its live production clusters. Bose has around 100 engineers working on this platform and the platform is helping make 30,000 nonproduction deployments every year. Bose was impressed that with Kubernetes, a service can go from concept to production in a matter of 2 ½ weeks. This case study shows how Kubernetes can be used to scale even your complex IoT workloads.
Adidas is one of the most popular sports merchandise companies in the world and it’s also very reliant on Kubernetes to power its tech stack. The main requirement for Adidas was to create VMs. In their old process, creating a virtual machine would sometimes take days or weeks, which would impact the productivity of developers. Kubernetes helped get rid of the overhead that comes with a VM-based infrastructure.
Adidas understands that setting up a service is not hard, it’s the Day 2 tasks that can become a burden on developers. Kubernetes took over these Day 2 activities helping developers focus on building newer applications, faster. Deployments that used to take four to five days can now be deployed four to five times a day with the help of Kubernetes. Currently, Adidas has over 4,000 pods running on Kubernetes, achieving the velocity it needs to develop applications faster than ever.
The snowballing popularity of Kubernetes
Kubernetes is being adopted by enterprises because of how flexible it is and how easily it applies to several use cases. And that’s because of the community behind it. Several organizations find the idea of using an open-source platform to manage their containerized microservices appealing. Most of it has to do with the active community that follows Kubernetes. There is also an ever-growing ecosystem of tools surrounding Kubernetes that make it ideal for companies that want to test the waters.
Today, workloads can get extremely complex and scaling up can become tedious and sometimes impossible. With Kubernetes, you get to create an infrastructure stack that evolves as your workloads evolve. You can use it to run a small application or a huge workload with several servers and thousands of services. Kubernetes also ensures higher availability of your services. Several vendors provide support for Kubernetes due to its snowballing popularity, And, by the looks of it, it is here to stay.