こんにちは!
私たちは以前、Backstageとは何か、なぜ必要なのかを学びました。今回は、実際の現場で開発者が最も頻繁に利用するBackstageの5つの主要機能を一つずつ掘り下げていきます。これらの機能がどのように連携し、「黄金経路(Golden Path)」を構築するのか、一緒に確認していきましょう! 🌟

📌 今回の投稿の学習目標 (Learning Objectives)
この記事を読み終えると、皆さんは以下の内容を完全に理解できるようになります:
- ソフトウェアカタログ(Catalog)の概念と動作原理の理解 📑
- スキャフォルダー(Scaffolder)による自動化されたプロジェクト作成方法 🏗️
- 検索(Search)機能の拡張性の把握 🔍
- TechDocsが「コードで書くドキュメント」を実現する方法の学習 📝
- プラグイン(Plugins)を活用したポータルカスタマイズ戦略の策定 🧩
1. すべての始まり:ソフトウェアカタログ (Software Catalog) 📑
ソフトウェアカタログは、Backstageの最も核となる機能であり、すべての機能の基盤です。
- 目的:組織内に散在するウェブサイト、API、ライブラリ、リソースなど、すべてのソフトウェア資産を中央ディレクトリにマッピングします。
- 動作方式:各エンティティ(Entity)の詳細は、ソースコードと共に保存されるYAMLファイルに定義されます。これにより、コードが更新されるとカタログ情報も最新の状態を維持します。
- 主な利点: * 資産の所有権(Ownership)と依存関係(Dependencies)を明確に追跡します。
- 親エンティティを持たない「孤立エンティティ(Orphaned entities)」を見つけ出し、システム整理を支援します。
- セキュリティ警告や成熟度指標のようなインサイトを抽出する源泉となります。
2. 標準化された開始:スキャフォルダー (Scaffolder) 🏗️
新しいチームメンバーが加わった際、「どこから始めればいいですか?」という質問に最も完璧な答えを提供できる機能です。
- 主要機能:事前に定義されたソフトウェアテンプレートを実行し、スケルトンコードと設定が完了したリポジトリを即座に生成します。
- ゴールデンパス(Golden Path)の推奨:CI/CD、分析ツールなどがすでに組み込まれたテンプレートを提供することで、新規開発者が数回のクリックだけでデプロイ準備が整ったサービスを持てるようにします。
- カタログとの連携:スキャフォルダーで作成されたサービスは自動的にカタログに登録され、発見可能性を高める好循環を生み出します。
3. コードで管理するドキュメント:TechDocs 📝
ドキュメント化は重要ですが、管理は困難です。TechDocsはこれを「Documentation-as-code」方式で解決します。
- 動作原理:マークダウン(Markdown)ファイルをソースコードと共に管理すると、Backstageがそれを取り込み、美しい静的ページに変換します。
- 開発者フレンドリー:開発者はドキュメント公開プロセスを気にする必要なく、マークダウンの作成にのみ集中できます。ナビゲーションメニューやUI要素はTechDocsが自動的に構成します。
4. インフラ可視性の確保:Kubernetes ☸️
Backstageは、開発者が各サービスのクラスター状態を直接視覚化して見ることができるプラグインを提供します。
- 状態確認:開発、ステージング、運用環境のクラスター健全性を一目で把握できます。
- カタログ連携:カタログに登録されたサービス情報に基づいて、GKEなどの外部クラスタープロバイダーからデータを直接取得して表示します。
5. エコシステム統合検索:サーチ (Search) 🔍
組織規模が大きくなるほど、必要な情報を見つける速度が生産性を決定します。
- 柔軟な拡張性:基本的にElasticSearchをサポートしていますが、組織の好みに合わせて検索エンジンを連携できます。
- 統合検索:カタログ情報だけでなく、TechDocs、Stack OverflowなどのデータをCollatorを通じて収集し、インデックス化して一度に検索できるようにします。
🧩 プラグインによる無限の拡張性
上記のすべての機能は、実際にはBackstageチームが維持管理するコアプラグインです。しかし、Backstageの真価はコミュニティプラグインから生まれます。
- ベンダー統合:PagerDutyの障害情報やArgoCDの状態をポータル内に取り込むことができます。
- カスタムプラグイン:組織内部の特殊な要件がある場合は、直接プラグインを作成して機能を拡張できます。
今日まとめた5つの機能をうまく活用すれば、皆さんの組織もSpotifyのような強力な開発文化を構築できます。次の章では、最も重要なソフトウェアカタログを実際にどのように構成するのか、さらに詳しく見ていきましょう! 🚀
コメントを残す