サービスカタログ比較:Backstage vs Port vs Cortex で開発者ポータルを構築する
オープンソースラボ編集部 ・ 2026年6月14日
サービスカタログ比較:Backstage vs Port vs Cortex で開発者ポータルを構築する
🏗️ 社内のサービス・API・チームを一元可視化する「開発者ポータル(Developer Portal)」。Backstage・Port・Cortexの特徴と選択基準を解説します。
開発者ポータル(IDP)とは
Internal Developer Platform(IDP)とも呼ばれ、社内のマイクロサービス・インフラ・API・チーム情報を一元管理する内部向けポータルです。「どのサービスが誰のチームで管理されているか」が一目でわかるようになります。
主要ツール比較表
| 項目 | Backstage | Port | Cortex |
|---|---|---|---|
| ライセンス | Apache 2.0 | SaaS(無料枠) | SaaS |
| 開発元 | Spotify | Port | Cortex |
| セルフホスト | ◎ | △(OSS版) | × |
| カスタマイズ | ◎(プラグイン) | ◎ | ○ |
| セットアップ難度 | 高 | 低 | 低 |
| GitHub統合 | ◎ | ◎ | ◎ |
| Scorecards | ○ | ◎ | ◎ |
| テンプレート | ◎(Software Templates) | ◎ | △ |
| ユーザー規模 | 大規模(Spotify等) | 中規模 | 中〜大規模 |
各ツールの特徴
Backstage
Spotifyが開発しCNCFに寄贈した開発者ポータルプラットフォーム。プラグインエコシステムが最大の強みです。
主な特徴:
- Software Catalog(サービス・API・チームのカタログ)
- Software Templates(新サービスの雛形作成)
- TechDocs(コードとドキュメントを統合)
- 100以上のプラグイン(GitHub・PagerDuty・Kubernetes・DataDog等)
# catalog-info.yaml(各リポジトリに配置)
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: order-service
description: 注文処理マイクロサービス
annotations:
github.com/project-slug: myorg/order-service
pagerduty.com/service-id: ABC123
backstage.io/techdocs-ref: dir:.
tags:
- java
- microservice
- orders
spec:
type: service
lifecycle: production
owner: team-backend
system: ecommerce
providesApis:
- order-api
consumesApis:
- payment-api
- inventory-api
dependsOn:
- resource:default/orders-db
# Backstage アプリを作成
npx @backstage/create-app@latest
# 開発サーバー起動
cd my-backstage
yarn dev
向いているケース: 大規模組織・カスタムプラグイン・セルフホスト必須
Port
NoCodeでサービスカタログを構築できるSaaS。GitHubリポジトリのメタデータを自動取得するため、セットアップが数時間で完了します。
主な特徴:
- Blueprints(エンティティのスキーマ定義)をGUIで作成
- Self-Service Actions(ボタン1つでCloud Runや新サービスを起動)
- Scorecards(サービスの品質基準チェック)
- GitHub/GitLab/Jira/PagerDuty等との幅広い統合
// Port Blueprint(サービスの定義)
{
"identifier": "microservice",
"title": "Microservice",
"icon": "Microservice",
"schema": {
"properties": {
"language": {
"title": "言語",
"type": "string",
"enum": ["Python", "Java", "Go", "TypeScript"]
},
"tier": {
"title": "重要度",
"type": "string",
"enum": ["tier1", "tier2", "tier3"]
},
"oncall": {
"title": "オンコール担当",
"type": "string",
"format": "user"
}
}
},
"relations": {
"team": {
"title": "担当チーム",
"target": "team",
"required": true
}
}
}
向いているケース: 中〜大規模チーム・低セットアップコスト・SaaS OK
Cortex
エンジニアリング組織のScorecard(品質評価)に特化した開発者ポータル。サービスの本番対応度を定量的にスコアリングします。
主な特徴:
- Scorecardsでサービスごとの品質を数値化(オンコール設定率・ドキュメント充足率等)
- GitHub・PagerDuty・DataDog等からデータを自動収集
- エスカレーションポリシーとの統合
- Self-Service Actions(Cortex Catalog上でインフラ操作)
# cortex.yaml(各リポジトリに配置)
openapi: 3.0.1
info:
x-cortex-tag: order-service
x-cortex-type: service
x-cortex-owners:
- type: group
name: team-backend
x-cortex-oncall:
pagerduty:
id: "ABC123"
x-cortex-links:
- name: Runbook
type: runbook
url: https://wiki.example.com/order-service-runbook
x-cortex-docs:
- name: Architecture Doc
url: https://wiki.example.com/architecture
x-cortex-slos:
- tag: error-rate
target: 0.01
currentValue: 0.005
向いているケース: サービス品質の定量管理・SRE組織・Scorecard重視
選択ガイド
| 状況 | 推奨 |
|---|---|
| 大規模・カスタマイズ・セルフホスト | Backstage |
| 素早く立ち上げ・NoCode・SaaS OK | Port |
| サービス品質スコアリング・SRE | Cortex |
内部リンク
外部リソース
FAQ
Q. BackstageはどのくらいのチームサイズからROIが出ますか?
一般的にはエンジニア50人以上からBackstageの恩恵が大きくなります。小規模チームはPortの方がセットアップコストが低くROIが出やすいです。
Q. Backstageのプラグイン開発は難しいですか?
Reactの知識があれば開発できます。コミュニティプラグインが豊富にあるので、まず既存プラグインの組み合わせから始めることを推奨します。
Q. Backstage vs Portどちらかから別のツールへ移行は簡単ですか?
catalog-info.yaml(Backstage)やcortex.yaml(Cortex)はリポジトリ側に置くファイルなので、移行時の主な作業はこのファイルの書き換えになります。
Q. サービスカタログは最初に何を登録すべきですか?
本番サービス→そのサービスのオーナーチーム→依存するAPI→インフラリソースの順で登録するのが一般的なアプローチです。