AI

サービスカタログ比較: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・チーム情報を一元管理する内部向けポータルです。「どのサービスが誰のチームで管理されているか」が一目でわかるようになります。

主要ツール比較表

項目BackstagePortCortex
ライセンスApache 2.0SaaS(無料枠)SaaS
開発元SpotifyPortCortex
セルフホスト△(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 OKPort
サービス品質スコアリング・SRECortex

内部リンク

外部リソース

FAQ

Q. BackstageはどのくらいのチームサイズからROIが出ますか?

一般的にはエンジニア50人以上からBackstageの恩恵が大きくなります。小規模チームはPortの方がセットアップコストが低くROIが出やすいです。

Q. Backstageのプラグイン開発は難しいですか?

Reactの知識があれば開発できます。コミュニティプラグインが豊富にあるので、まず既存プラグインの組み合わせから始めることを推奨します。

Q. Backstage vs Portどちらかから別のツールへ移行は簡単ですか?

catalog-info.yaml(Backstage)やcortex.yaml(Cortex)はリポジトリ側に置くファイルなので、移行時の主な作業はこのファイルの書き換えになります。

Q. サービスカタログは最初に何を登録すべきですか?

本番サービス→そのサービスのオーナーチーム→依存するAPI→インフラリソースの順で登録するのが一般的なアプローチです。

他の記事も読む

Let's Build Together

OSS導入、自社だけで悩まない。

ツール選定から構築・運用・AI活用まで、オープンソースラボ運営元のClasslessが伴走します。初回のご相談は無料です。