解決すべき課題
2010年代半ばまでに、Spotifyの自律的なスクワッド文化は広大なインフラを生み出していた。Terraform、クラウドCLI、GitLab CI、Prometheus、Kubernetes、Dockerのスタック上で動く数百のマイクロサービスがあり、それぞれが独自のインターフェース、認証情報、ルールを持っていた。すべてのエンジニアがそれらすべてを習得することが求められ、そのコストはコンテキストスイッチ、断片化、認知負荷として現れた。
アイデア
すべてのインフラへの単一の玄関口を作る。サービスカタログ、テンプレート、プラグインを備えた開発者ポータルにより、ひとつの一貫したUIが10のツールチェーンに取って代わる。
仕組み
2016年頃、SpotifyのエンジニアたちはBackstageの構築を始めた。これは、何が存在し誰が所有しているかを記録するソフトウェアカタログ、ベストプラクティスを組み込んだ新しいマイクロサービスを足場として生成するクリック可能なテンプレート、プルリクエストをレビューから本番まで追跡するビュー、そして中央でレンダリングされるMarkdownドキュメントを備えた社内ポータルだった。2020年までに社内インストールには100以上のプラグインがあった。同年3月16日、Spotifyはこのコードをオープンソースとして公開した。意図的に早く公開することで、同業企業がそれを形作ることができ、インフラの標準的なUXレイヤーになり得るようにした。
もたらしたもの
オープンソースへの賭けは実を結んだ。Cloud Native Computing Foundationは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がいずれ移行を余儀なくされる独占的な孤島ではなく、標準になるためでもあった。Cloud Native Computing Foundationはその9月にそれをSandboxに受け入れた。2025年までに3,000以上の組織が採用し、Spotifyの研究開発スクワッド700すべてが依然としてそれに依存し、SpotifyはSpotify Portal for Backstageをエンタープライズ製品として販売していた。
なぜ定着したのか
洞察は、ツールではなくインターフェース層を直すことだった。TerraformやKubernetesを置き換えるのではなく、Backstageはすべてのツールに一貫した玄関口を与えた。
明示的な所有権を備えたサービスカタログは、属人的な知識をデータベースに変え、どのエンジニアでも何が存在し誰に聞けばよいかを見つけられるようにした。
早く公開したことで、ツールは私的な投資ではなく共有された標準となった。数か月のうちに貢献の大きな割合がSpotifyの外部から来るようになった。
Spotify自身が最も要求の厳しい顧客であり続けたため、コミュニティのためのあらゆる改善は、まず自社の数百のスクワッドにとって機能しなければならなかった。
最高の社内ツールを公開プラットフォームとしてリリースしよう。Backstageをオープンソース化したことで、Spotifyは自らの発明から移行を余儀なくされることが決してなくなった。あとは業界が残りをやってのけた。
その後
Backstageはひとつのカテゴリー、すなわち社内開発者プラットフォーム(IDP)の創出を助け、Cloud Native Computing Foundationで最も目立つプロジェクトのひとつとなった。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 ·