{"id":63668,"date":"2021-09-27T17:25:11","date_gmt":"2021-09-27T14:25:11","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=63668"},"modified":"2021-11-10T01:48:19","modified_gmt":"2021-11-09T22:48:19","slug":"spotify-runs-1600-production-services-on-kubernetes","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/","title":{"rendered":"Spotify Runs 1,600+ Production Services on Kubernetes"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#Migrating_to_Kubernetes\" >Migrating to Kubernetes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#Services_management_complexities_at_scale\" >Services management complexities at scale<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#Managing_services_across_clusters\" >Managing services across clusters<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#Want_details_Watch_the_videos\" >Want details? Watch the videos!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#Further_reading\" >Further reading<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#About_the_experts\" >About the experts<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Migrating_to_Kubernetes\"><\/span>Migrating to Kubernetes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Founded in 2006, Spotify has grown into the world&#8217;s largest music streaming service provider with more than 365 million active users per month. As an early adopter of microservices and Docker, the company had containerized microservices running across a fleet of virtual machines in 2014. To streamline container management, Spotify developed and open-sourced <a href=\"https:\/\/github.com\/spotify\/helios\" rel=\"noopener noreferrer\" target=\"_blank\">Helios<\/a>, its very own container orchestration system.<\/p>\n<p>By 2016\u20132017, the organization completed a migration from on-premises data centers to Google Cloud. During this time, the Spotify team realized that it needed the support of a much larger community to improve even further as noted by <a href=\"https:\/\/www.linkedin.com\/in\/saunak-chakrabarti-081b20a\/\" rel=\"noopener noreferrer\" target=\"_blank\">Jai Chakrabarti<\/a>, Director of Engineering at Spotify.<\/p>\n<div id=\"attachment_63723\" style=\"width: 130px\" class=\"wp-caption alignright\"><img decoding=\"async\" aria-describedby=\"caption-attachment-63723\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Jai-Chakrabarti-150x150.png\" alt=\"\" width=\"120\" class=\"size-thumbnail wp-image-63723\" \/><p id=\"caption-attachment-63723\" class=\"wp-caption-text\"><small>Jai Chakrabarti<\/small><\/p><\/div>\n<blockquote><p>&#8220;Having a small team working on the Helios features was just not as efficient as adopting something that was supported by a much bigger community. We saw the amazing community that had grown up around Kubernetes, and we wanted to be part of that. We wanted to benefit from added velocity and reduced cost and also align with the rest of the industry on best practices and tools.&#8221;<br \/>\n\u2014Jai Chakrabarti, Spotify<\/p><\/blockquote>\n<p>In 2018, the company dealt with core technology issues necessary for migrating from Helios to Kubernetes. To resolve most of the issues, the Spotify team relied on Tugboat, a system on top of Helios that provides an interface and APIs. According to <a href=\"https:\/\/www.linkedin.com\/in\/mattsbrown\/\" rel=\"noopener noreferrer\" target=\"_blank\">Matt Brown<\/a>, Staff Software Engineer at Spotify, almost every service was already connected to Tugboat, so it was a simple matter of adding Kubernetes as another option for deployment.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Tugboat-abstraction.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Tugboat-abstraction-1024x576.png\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-63672\" \/><\/a><small>Migrating to Kubernetes with Tugboat (<a href=\"https:\/\/www.youtube.com\/watch?v=eFE-X8FlyLQ\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<div id=\"attachment_63724\" style=\"width: 130px\" class=\"wp-caption alignright\"><img decoding=\"async\" aria-describedby=\"caption-attachment-63724\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Matt-Brown-150x150.png\" alt=\"\" width=\"120\" class=\"size-thumbnail wp-image-63724\" \/><p id=\"caption-attachment-63724\" class=\"wp-caption-text\"><small>Matt Brown<\/small><\/p><\/div>\n<blockquote><p>&#8220;We already have almost every service at Spotify talking to this API. Basically, they can just tell Tugboat that I have a new version of my service, please go deploy it out to the world. We realized that if we just add Kubernetes as another option to the system, we will have everything already integrated with it.&#8221;<br \/>\n\u2014Matt Brown, Spotify<\/p><\/blockquote>\n<p>Migration to Kubernetes accelerated by 2019 with over 150 services successfully transferred. One of the largest services running on Kubernetes greatly benefits from autoscaling and receives more than 10 million requests per second. However, the increase in scale led to a new challenge\u2014managing multiple services was getting increasingly complicated.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Services_management_complexities_at_scale\"><\/span>Services management complexities at scale<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div id=\"attachment_63725\" style=\"width: 130px\" class=\"wp-caption alignright\"><img decoding=\"async\" aria-describedby=\"caption-attachment-63725\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Matthew-Clarke-150x150.png\" alt=\"\" width=\"120\" class=\"size-thumbnail wp-image-63725\" \/><p id=\"caption-attachment-63725\" class=\"wp-caption-text\"><small>Matthew Clarke<\/small><\/p><\/div>\n<p>According to a <a href=\"https:\/\/engineering.atspotify.com\/2021\/03\/designing-a-better-kubernetes-experience-for-developers\/\" rel=\"noopener noreferrer\" target=\"_blank\">blog post<\/a> by <a href=\"https:\/\/www.linkedin.com\/in\/matthewclarke47\/?originalSubdomain=uk\" rel=\"noopener noreferrer\" target=\"_blank\">Matthew Clarke<\/a>, Senior Infrastructure Engineer at Spotify, the widespread adoption of Kubernetes has given rise to the concept of DevOps. Responsibilities of developers have expanded to include tasks previously performed by operations teams.<\/p>\n<p>&#8220;When I first started using Kubernetes, cluster admins and service owners were one and the same: the people who built a cluster were usually the same people who owned the services that ran in the cluster,&#8221; explained Matthew. &#8220;That\u2019s not how it is today. As Kubernetes has achieved widespread adoption, there has been a shift in Kubernetes usage, as well as a shift in how Kubernetes is managed at the organization level.&#8221;<\/p>\n<p>The trend now is that companies have a separate infrastructure team that builds and maintains clusters for developers and services owners. While this is a better experience for developers, it comes at a cost as the organization grows.<\/p>\n<blockquote><p>&#8220;When your deployment environment reaches this kind of complexity and scale, the maintenance overhead for service owners increases. It forces them to use multiple kubectl contexts or multiple UIs just to get an overall view of their system. It\u2019s a small overhead\u2014but adds up over time\u2014and multiplies as service owners build more services and deploy them to more regions. Just checking the status of a service first requires hunting for it across multiple clusters. This can reduce productivity (and patience) company-wide.&#8221; \u2014Matthew Clarke, Spotify<\/p><\/blockquote>\n<p>To streamline the management of multiple services, the Spotify team initially relied on developer tooling. However, they quickly realized that the available tools were not ideal due to the following factors:<\/p>\n<ul>\n<li>Cluster-wide permissions were required.<\/li>\n<li>Everything on a cluster was displayed, causing information bloat.<\/li>\n<\/ul>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Kubernetes-default-dashboard.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Kubernetes-default-dashboard-1024x612.png\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-63694\" \/><\/a><small>Too much information in the default dashboard (<a href=\"https:\/\/kubernetes.io\/docs\/tasks\/access-application-cluster\/web-ui-dashboard\/\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>Unable to rely on existing tools, the Spotify team built a custom Kubernetes plug-in for <a href=\"https:\/\/backstage.io\/\" rel=\"noopener noreferrer\" target=\"_blank\">Backstage<\/a>, the company&#8217;s open-source platform for building developer portals.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Managing_services_across_clusters\"><\/span>Managing services across clusters<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Prior to being open-sourced in 2020, <a href=\"https:\/\/github.com\/backstage\/backstage\" rel=\"noopener noreferrer\" target=\"_blank\">Backstage<\/a> was initially developed by Spotify in 2016 and was used internally to unify infrastructure tooling, services, and documentation under a single interface. <a href=\"https:\/\/backstage.io\/docs\/overview\/what-is-backstage\" rel=\"noopener noreferrer\" target=\"_blank\">Backstage<\/a> provided service owners with an overview where pertinent details about a service were shown, including what it does, its APIs, its technical documentation, etc.<\/p>\n<div id=\"attachment_63726\" style=\"width: 130px\" class=\"wp-caption alignright\"><img decoding=\"async\" aria-describedby=\"caption-attachment-63726\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Stefan-\u00c5lund-150x150.png\" alt=\"\" width=\"120\" class=\"size-thumbnail wp-image-63726\" \/><p id=\"caption-attachment-63726\" class=\"wp-caption-text\"><small>Stefan \u00c5lund<\/small><\/p><\/div>\n<p>Since adopting Backstage, the company has seen a 55% decrease in onboarding times for engineers as noted by <a href=\"https:\/\/www.linkedin.com\/in\/stefanalund\" rel=\"noopener noreferrer\" target=\"_blank\">Stefan \u00c5lund<\/a>, Principal Product Manager at Spotify.<\/p>\n<blockquote><p>&#8220;Over 280 engineering teams inside Spotify are using Backstage to manage 2,000+ back-end services, 300+ websites, 4,000+ data pipelines, and 200+ mobile features.&#8221; \u2014Stefan \u00c5lund, Spotify<\/p><\/blockquote>\n<p>By expanding Backstage with a Kubernetes monitoring tool, developers can check on their services regardless of how or where they are deployed. Backstage can be configured to search for a service across multiple clusters, and it will then aggregate them into a single interface.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Backstage-services-in-different-clusters.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Backstage-services-in-different-clusters-1024x559.png\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-63707\" \/><\/a><small>Showing the service&#8217;s status regardless of how many clusters it is deployed to (<a href=\"https:\/\/backstage.io\/blog\/2021\/01\/12\/new-backstage-feature-kubernetes-for-service-owners\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<blockquote><p>&#8220;Instead of spending 20 minutes in a CLI trying to track down which clusters your service has been deployed to, you get all the information you need to know at a glance.&#8221; \u2014Matthew Clarke, Spotify<\/p><\/blockquote>\n<p>Backstage also automatically finds and highlights errors in Kubernetes resources affecting a service. This removes the need to run multiple kubectl commands to troubleshoot a problem.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Backstage-error-reporting.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Backstage-error-reporting-1024x559.png\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-63716\" \/><\/a><small>Aggregated error reporting (<a href=\"https:\/\/backstage.io\/blog\/2021\/01\/12\/new-backstage-feature-kubernetes-for-service-owners\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>Finally, Backstage shows the status of autoscaling limits, making it easier to see when a service is close to a limit, as well as how horizontal scaling is distributing the load across multiple clusters.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Backstage-autoscaling-limits.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Backstage-autoscaling-limits-1024x343.png\" alt=\"\" width=\"640\" class=\"aligncenter size-large wp-image-63718\" \/><\/a><small>Autoscaling limits on display (<a href=\"https:\/\/backstage.io\/blog\/2021\/01\/12\/new-backstage-feature-kubernetes-for-service-owners\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>Backstage is cloud-agnostic and communicates directly with the Kubernetes API. Regardless of how or where an organization runs Kubernetes, the tool provides a similar view for all deployments.<\/p>\n<p>As of early 2021, Spotify has 14 multitenant production clusters in three regions. The company has over 1,600 production services running on Kubernetes with around 100 microservices being added per month, all being monitored with Backstage.<\/p>\n<p>Additionally, Spotify has seen a 231% production increase on Kubernetes. Specifically, teams that run on Kubernetes are able to perform 6.26 production deployments per week compared to 1.89 deployments per week for teams not on the platform.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Want_details_Watch_the_videos\"><\/span>Want details? Watch the videos!<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><small>In this video, <a href=\"https:\/\/www.linkedin.com\/in\/mattsbrown\/\" rel=\"noopener noreferrer\" target=\"_blank\">Matt Brown<\/a> talks about Spotify&#8217;s migration to Kubernetes.<\/small><\/p>\n<p><center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/eFE-X8FlyLQ\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/center><\/p>\n<p>&nbsp;<\/p>\n<p><small>In this next video, <a href=\"https:\/\/www.linkedin.com\/in\/matthewclarke47\/?originalSubdomain=uk\" rel=\"noopener noreferrer\" target=\"_blank\">Matthew Clarke<\/a> demonstrates how to monitor Kubernetes services with Backstage.<\/small><\/p>\n<p><center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/VivuOxn3VQ8\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Further_reading\"><\/span>Further reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/gitlab-autoscales-with-kubernetes-and-monitors-2-8m-samples-per-second\/\">GitLab Autoscales with Kubernetes and Monitors 2.8M Samples per Second<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/linkedin-aims-to-deploy-thousands-of-hadoop-servers-on-kubernetes\/\">LinkedIn Aims to Deploy Thousands of Hadoop Servers on Kubernetes<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/adobe-migrates-5500-services-to-kubernetes\/\">Adobe Migrates 5,500+ Services to Kubernetes<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"About_the_experts\"><\/span>About the experts<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Jai-Chakrabarti-bio-150x150.png\" alt=\"\" width=\"120\" class=\"alignright size-thumbnail wp-image-63733\" \/><\/p>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/saunak-chakrabarti-081b20a\/\" rel=\"noopener noreferrer\" target=\"_blank\">Jai Chakrabarti<\/a> is Director of Engineering at Spotify. He is a technology leader who is passionate about building high-performance teams and solving complex problems. Jai has built systems that scale to hundreds of millions of users, as well as platforms where every microsecond matters. His core technical specialties include distributed systems, core infrastructure, as well as large-scale data processing and mining.<\/small><\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Matthew-Clarke-bio-150x150.png\" alt=\"\" width=\"120\" class=\"alignright size-thumbnail wp-image-63740\" \/><\/p>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/matthewclarke47\/\" rel=\"noopener noreferrer\" target=\"_blank\">Matthew Clarke<\/a> is Senior Infrastructure Engineer at Spotify. As a full-stack DevOps engineer, he specializes in open-source technologies, CI\/CD, Kubernetes deployments, etc. Prior to Spotify, Matthew served as a developer for Financial Times, CyberSource, and KANA Software. He is a graduate of Queen&#8217;s University Belfast with first-class honors.<\/small><\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Stefan-\u00c5lund-bio-150x150.png\" alt=\"\" width=\"120\" class=\"alignright size-thumbnail wp-image-63742\" \/><\/p>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/stefanalund\/\" rel=\"noopener noreferrer\" target=\"_blank\">Stefan \u00c5lund<\/a> is Product Manager at Volvo Car Mobility. Previously, he was Principal Product Manager at Spotify, where he focused on infrastructure and developer experience. Stefan was involved in the management of Backstage and its internal deployment at Spotify. He also built tools, helping Spotify&#8217;s internal developers to move even faster on product features.<\/small><\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Matt-Brown-bio-150x150.png\" alt=\"\" width=\"120\" class=\"alignright size-thumbnail wp-image-63741\" \/><\/p>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/mattsbrown\/\" rel=\"noopener noreferrer\" target=\"_blank\">Matt Brown<\/a> is Staff Software Engineer at Spotify. He specializes in Java and the development of web applications. Prior to Spotify, Matt served as a software engineer and consultant for Citrix, Vapps, Nuance Communiacitons, and Viecore.<\/small><\/p>\n<hr\/>\n<p><center><small>This blog post was written by <a href=\"https:\/\/www.altoros.com\/blog\/author\/carlo\/\">Carlo Gutierrez<\/a> and edited by <a href=\"https:\/\/www.altoros.com\/blog\/author\/sophie.turol\/\">Sophia Turol<\/a>.<\/small><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Migrating to Kubernetes<\/p>\n<p>Founded in 2006, Spotify has grown into the world&#8217;s largest music streaming service provider with more than 365 million active users per month. As an early adopter of microservices and Docker, the company had containerized microservices running across a fleet of virtual machines in 2014. To streamline container [&#8230;]<\/p>\n","protected":false},"author":32,"featured_media":63779,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[26],"tags":[873,815,912],"class_list":["post-63668","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-use-cases","tag-cloud-native","tag-digital-transformation","tag-kubernetes"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Spotify Runs 1,600+ Production Services on Kubernetes | Altoros<\/title>\n<meta name=\"description\" content=\"The company developed the Backstage platform to manage and monitor 2,000+ back-end services, 4,000+ data pipelines, 300+ websites, and 200+ mobile features.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spotify Runs 1,600+ Production Services on Kubernetes | Altoros\" \/>\n<meta property=\"og:description\" content=\"Migrating to Kubernetes Founded in 2006, Spotify has grown into the world&#8217;s largest music streaming service provider with more than 365 million active users per month. As an early adopter of microservices and Docker, the company had containerized microservices running across a fleet of virtual machines in 2014. To streamline container [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-27T14:25:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-09T22:48:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Migration-Backstage-Digital-Transformation-cloud-native-v2.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Carlo Gutierrez\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Gutierrez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/\",\"name\":\"Spotify Runs 1,600+ Production Services on Kubernetes | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Migration-Backstage-Digital-Transformation-cloud-native-v2.gif\",\"datePublished\":\"2021-09-27T14:25:11+00:00\",\"dateModified\":\"2021-11-09T22:48:19+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Migration-Backstage-Digital-Transformation-cloud-native-v2.gif\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Migration-Backstage-Digital-Transformation-cloud-native-v2.gif\",\"width\":1024,\"height\":576},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spotify Runs 1,600+ Production Services on Kubernetes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\",\"url\":\"https:\/\/www.altoros.com\/blog\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.altoros.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442\",\"name\":\"Carlo Gutierrez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg\",\"caption\":\"Carlo Gutierrez\"},\"description\":\"Carlo Gutierrez is a Technical Writer at Altoros. As part of the editorial team, his focus has been on emerging technologies such as Cloud Foundry, Kubernetes, blockchain, and the Internet of Things. Prior to Altoros, he primarily wrote about enterprise and consumer technology. Carlo has over 12 years of experience in the publishing industry. Previously, he served as an Editor for PC World Philippines and Questex Asia, as well as a Designer for Tropa Entertainment.\",\"url\":\"https:\/\/www.altoros.com\/blog\/author\/carlo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spotify Runs 1,600+ Production Services on Kubernetes | Altoros","description":"The company developed the Backstage platform to manage and monitor 2,000+ back-end services, 4,000+ data pipelines, 300+ websites, and 200+ mobile features.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/","og_locale":"en_US","og_type":"article","og_title":"Spotify Runs 1,600+ Production Services on Kubernetes | Altoros","og_description":"Migrating to Kubernetes Founded in 2006, Spotify has grown into the world&#8217;s largest music streaming service provider with more than 365 million active users per month. As an early adopter of microservices and Docker, the company had containerized microservices running across a fleet of virtual machines in 2014. To streamline container [...]","og_url":"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/","og_site_name":"Altoros","article_published_time":"2021-09-27T14:25:11+00:00","article_modified_time":"2021-11-09T22:48:19+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Migration-Backstage-Digital-Transformation-cloud-native-v2.gif","type":"image\/gif"}],"author":"Carlo Gutierrez","twitter_misc":{"Written by":"Carlo Gutierrez","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/","url":"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/","name":"Spotify Runs 1,600+ Production Services on Kubernetes | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Migration-Backstage-Digital-Transformation-cloud-native-v2.gif","datePublished":"2021-09-27T14:25:11+00:00","dateModified":"2021-11-09T22:48:19+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Migration-Backstage-Digital-Transformation-cloud-native-v2.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/09\/Spotify-Kubernetes-Migration-Backstage-Digital-Transformation-cloud-native-v2.gif","width":1024,"height":576},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/spotify-runs-1600-production-services-on-kubernetes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Spotify Runs 1,600+ Production Services on Kubernetes"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442","name":"Carlo Gutierrez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg","caption":"Carlo Gutierrez"},"description":"Carlo Gutierrez is a Technical Writer at Altoros. As part of the editorial team, his focus has been on emerging technologies such as Cloud Foundry, Kubernetes, blockchain, and the Internet of Things. Prior to Altoros, he primarily wrote about enterprise and consumer technology. Carlo has over 12 years of experience in the publishing industry. Previously, he served as an Editor for PC World Philippines and Questex Asia, as well as a Designer for Tropa Entertainment.","url":"https:\/\/www.altoros.com\/blog\/author\/carlo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/63668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=63668"}],"version-history":[{"count":57,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/63668\/revisions"}],"predecessor-version":[{"id":64803,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/63668\/revisions\/64803"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/63779"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=63668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=63668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=63668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}