Why Spotify Migrated From Its Homegrown Orchestration Tool (Helios) to Kubernetes?

Written by priya11 | Published 2022/07/07
Tech Story Tags: kubernetes | spotify | autoscaling | autoscaling-advantages | containerization | container-orchestration | grpc | multi-tenancy | web-monetization

TLDRSpotify is an audio-streaming platform that was created with a vision to empower audio creators and endow listeners across the globe with a really immersive listening experience. Adopting Kubernetes was akin to adopting an orchestration tool that was not only already popular among many industry verticals but also could help their team get containers orchestrated more effectively, efficiently, and faster, at a much lower cost than what the company had to incur with Helios. The company used to manage and keep the data on-premises with the help of their home-grown platform Helios before they migrated all the data to Google Cloud.via the TL;DR App

Did You Know: Kubernetes Optimizes Audio-Streaming on Spotify!

Spotify is an audio-streaming platform that was created with a vision to empower audio creators and endow listeners across the globe with a really immersive listening experience for all the customers across the globe. A customer-centric approach and a vision to empower creators have led to the exponential growth of the platform which has now grown to a superfluous number of 200 million monthly active users. Spotify, quite early, recognized the importance of containers and deploying microservices in a cloud-native environment. Consequently, they adopted a containerized environment pretty early and were amongst the few companies to even develop a home-grown platform for orchestrating the containers, which was named Helios.

Adopting Kubernetes Meant Embracing Limitless Possibilities for Spotify

Having adopted microservices and Docker quite early, Helios was a need-based innovation for managing the containerized environment for the Spotify team. However, the Spotify team soon realized the need to outgrow from this homegrown orchestration to Kubernetes. Helios only had limited features that could only be maintained by a small company at Spotify, contrary to this Kubernetes has many more functionalities that make it much more efficient than Helios and hence an obvious choice. Besides being laden with innumerable features Kubernetes also has an amazing community.

To Spotify adopting Kubernetes was akin to adopting an orchestration tool that was not only already popular among many industry verticals but also could help their team get containers orchestrated more effectively, efficiently, and faster, and all of this, at a much lower cost than what the company had to incur with Helios. Also, there was a seamless migration from Helios to Kubernetes as Kubernetes could very effectively be used in conjunction with Helios, supporting migration until the platform became the only option for the full-fledged maintenance of the Spotify containers.

Positive Impact of Adopting Kubernetes

Migrating to Kubernetes required developing some core technological competencies. However, once the technological challenges were addressed and dealt with in 2019, and the company migrated to Kubernetes from their homegrown platform Helios, they experienced some amazing benefits in real-time business scenarios including the following:

a)      The internal teams were able to considerably reduce the time spent on manual provisioning which meant that more time could be given to delivering features for Spotify.

b)      The team was able to deploy some of its biggest services on Kubernetes, the likes that could handle as many as 10 million requests per second and cumulatively; the autoscaling feature of Kubernetes proved simply amazing for the team.

Prior to adopting Kubernetes, deploying a new service for the team wasn’t this hassle-free. They had to at least wait for an hour to create a new service and would have to get an operational host for running the service in production. However, with Kubernetes the story was different. The same services could be deployed in seconds and minutes.

c)       Kubernetes also helped improve the CPU utilization by 2 to 3 times approximately as it has the functionalities called bin-packing and multi-tenancy.

d)      Kubernetes helped the autonomous engineering teams at Spotify work at a faster velocity and iterate more quickly even while working on different pieces of a project.

Before switching to Kubernetes, Spotify since the year 2014 had been using microservices and Docker. The microservices were running across its fleet of Virtual Machines (VMs) and were containerized by leveraging Docker. The company used to manage and keep the data on-premises with the help of their home-grown container orchestration platform Helios before they migrated all the on-premise data to Google Cloud in the year 2016-17.

Eventually, switching to Kubernetes proved to be a beneficial decision that offered innumerable advantages including accentuating the time of delivery of several services, leading to optimum business revenue. A substantial motive for the Spotify team to adopt Kubernetes was that the team wanted to contribute their subject-matter-expertise and influence to make the Kubernetes community prosper.

Final Words: Takeaways From Spotify Use Case & the Road Ahead For Kubernetes

With Kubernetes, not only the Spotify team was able to scale their topline operational metrics viz. lead time, deployment frequency, time to resolution, and operational load but were also able to get all the help to deploy the technology. The Kubernetes team was proactive in providing support and almost everybody was available to help the Spotify team with the technical know-how and expertise required while deploying a particular service. This served as a source of resurrection and motivation for the Spotify team to further scale-up their operational efficiency. The Spotify team leveraged several Kubernetes APIs and other extendable functionalities to aid and interface with their legacy infrastructure. The integrations were hassle-free and easy for the Spotify team. Because of saving so much time with Kubernetes, the Spotify team was able to experiment with solutions such as gRPC and Envoy.

Kubernetes is becoming a go-to solution for companies with large development teams and complex IT needs. That's because software developers can use Kubernetes to automate the process of building and managing complex IT infrastructure.

Kubernetes is already seeing adoption across many different industries and it will continue to grow as more governments and organizations come around to the benefits of its agility and automated operations.

There are several other use cases that narrate the success story of Kubernetes across all industry verticals including media, publishing, audio streaming, and podcasting. These stories demonstrate the amazing possibilities that unfold when a team has the right API and enough time.


Written by priya11 | Priya: 10 yrs. of exp. in research & content creation, spirituality & data enthusiast, diligent business problem-solver.
Published by HackerNoon on 2022/07/07