它必須解決的問題
到了 2010 年代中期,Spotify 的自主小隊文化已造就出一套龐雜而分散的基礎設施:數百個微服務運行在由 Terraform、雲端 CLI、GitLab CI、Prometheus、Kubernetes 與 Docker 組成的技術堆疊上,每個工具各有自己的介面、憑證與規則。每位工程師都被期待要精通這一切,而代價則以情境切換、碎片化與認知負荷的形式顯現出來。
構想
為所有基礎設施打造單一入口:一個具備服務目錄、範本與外掛的開發者入口網站,讓一套一致的使用者介面取代十套工具鏈。
運作方式
約在 2016 年,Spotify 的工程師開始打造 Backstage,這是一個內部入口網站,內含軟體目錄,記錄了有哪些服務存在、由誰負責;可點擊的範本,能依內建的最佳實務快速搭建新的微服務;能追蹤拉取請求從審查到上線的檢視畫面;以及集中呈現的 Markdown 文件。到了 2020 年,內部部署已擁有超過 100 個外掛;同年 3 月 16 日,Spotify 將程式碼以開源形式釋出,且刻意提早發布,好讓同業公司能共同形塑它,並使其成為基礎設施的標準使用者體驗層。
成果
這場開源賭注得到了回報:雲端原生運算基金會(CNCF)於 2020 年 9 月接納 Backstage 進入其沙箱(Sandbox)階段;到了 2025 年,已有超過 3,000 個組織採用它來打造自家的內部開發者入口網站,而 Spotify 全部 700 個研發小隊也仍持續使用它。Spotify 並將這套框架轉化為商業產品:Spotify Portal for Backstage。
背景
到了 2010 年代中期,Spotify 在一個以自主小隊為基礎的工程文化中運行著數百個微服務。這套基礎設施的每一個環節都有各自的工具——Terraform、雲端 CLI、GitLab CI、Prometheus、Kubernetes、Docker 等等——每個工具都有不同的介面、憑證與規則。工程師被期待要熟悉所有這些工具,而代價則以情境切換、碎片化與認知負荷的形式顯現出來。
約在 2016 年,Spotify 的工程師開始以 Backstage 解決這個問題,這是一個內部開發者入口網站:一個軟體目錄,記錄有哪些服務存在、由誰負責;可點擊的範本,能依已就位的最佳實務快速搭建新的微服務;能追蹤拉取請求從審查到上線的檢視畫面;以及以 Markdown 寫在程式碼中、並集中呈現的文件。到了 2020 年,內部部署已擁有超過 100 個外掛——為整個技術堆疊提供單一而一致的前門。
2020 年 3 月,Spotify 刻意將 Backstage 開源,提早釋出,好讓其他面臨相同碎片化問題的公司能共同形塑它——也讓它能成為標準,而非一座 Spotify 有朝一日將被迫遷離的專有孤島。雲端原生運算基金會於同年 9 月接納它進入沙箱階段;到了 2025 年,已有超過 3,000 個組織採用它,Spotify 全部 700 個研發小隊仍仰賴它,而 Spotify 也正將 Spotify Portal for Backstage 作為企業級產品販售。
為何奏效
關鍵洞見在於修好介面層,而非更換工具:Backstage 並不取代 Terraform 或 Kubernetes,而是為每個工具提供單一而一致的前門。
具備明確歸屬關係的服務目錄,把口耳相傳的知識變成資料庫,讓任何工程師都能查到有哪些服務存在、該問誰。
提早釋出讓這項工具成為共享標準,而非私人投資——幾個月內,相當比例的貢獻便來自 Spotify 之外。
由於 Spotify 始終是自己最嚴苛的客戶,每一項為社群所做的改進,都必須先能滿足自家數百個小隊。
你可以學到什麼
把你最優秀的內部工具釋出為公開平台:將 Backstage 開源,讓 Spotify 永遠不必被迫遷離自己的發明,其餘的則由業界完成。
後續發展
Backstage 協助開創了一個類別——內部開發者平台(IDP)——並成為雲端原生運算基金會最受矚目的專案之一。Spotify 以此建立起企業業務,於 2024 年推出 Spotify Portal for Backstage 的測試版,並以無程式碼外掛管理器擴充這套開源框架;而該框架本身到了 2025 年已成長至超過 3,000 個採用組織,涵蓋從航空公司到投資公司的各行各業。在 Spotify 內部,它仍是全部 700 個研發小隊的日常工具,也是每一項改進都必須滿足的嚴苛首位客戶。
追溯依據
參考來源
- What the Heck is Backstage Anyway? Spotify Engineering · engineering.atspotify.com ·
- Backstage: Spotify Developer Portals with Stefan Ålund Software Engineering Daily · softwareengineeringdaily.com ·
- Celebrating Five Years of Backstage: From Open Source Project to Enterprise Business Spotify Engineering · engineering.atspotify.com ·