フラミナル

考え方や調べたことを書き殴ります。IT技術系記事多め

【新規ツール探し】開発・運用の情報を一元管理できるBackstageとは

  • 記事作成日:2022/11/24

情報

名前 URL
Github https://github.com/backstage/backstage
公式サイト https://backstage.io
デモサイト Backstage Demo
開発母体 CNCF(元は Spotify)
version 1.8.2
言語 TypeScript
価格 無料
ライセンス Apache-2.0 license

何ができるもの?

開発・運用に必要な各種ドキュメント、リンク、CI、リポジトリを一元管理できるツール。

GitHub においたカタログ yaml を読み解くと、https://github.com/backstage/backstage/blob/master/catalog-info.yaml そこで定義されプロジェクトに必要な情報をパッと表示できるようになる。

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: backstage
  description: |
    Backstage is an open-source developer portal that puts the developer experience first.
  links:
    - title: Website
      url: http://backstage.io
    - title: Documentation
      url: https://backstage.io/docs
    - title: Storybook
      url: https://backstage.io/storybook
    - title: Discord Chat
      url: https://discord.com/invite/EBHEGzX
  annotations:
    github.com/project-slug: backstage/backstage
    backstage.io/techdocs-ref: dir:.
    lighthouse.com/website-url: https://backstage.io
spec:
  type: library
  owner: CNCF
  lifecycle: experimental

連携できる機能はプラガブル形式で増やせ、ここに一覧がある。 backstage.io

例えば Datagdog を表示したいなら、プラグインを入れてクレデンシャルを用意すればいい。

roadie.io

ドキュメント系も追加できる。

使い方

ローカル

git clone してローカルで起動する方法

# Start from your local development folder
git clone --depth 1 https://github.com/backstage/backstage.git
cd backstage

# Install our dependencies
yarn install

postgres と組み合わせてデータの永続化もできる。

リモート

  • Docker
  • k8s
  • Heroku

Building a Docker image · Backstage Software Catalog and Developer Platform

で動かす手順あり。なのでどこでも動く。

利用シーン

複数のツールを使って開発しており、特に人の出入りが多いチームに有効

登場背景

by DeepL

Backstageは、Spotifyの必要性から生まれました。私たちは、会社の成長とともに、インフラストラクチャがより断片的になり、エンジニアの生産性が低下していることに気づきました。

コードの構築とテストの代わりに、チームは正しい情報を探すのに多くの時間を費やしていました。「みんなが使うはずのあのサービスのAPIはどこにあるのか?"あのフレームワークのバージョンは何なんだ?" "このサービスは応答しない、誰のものだ?" "ドキュメントが見つからない!"

コンテキストの切り替えと認知の過負荷が、日々エンジニアの足を引っ張っていたのです。私たちは、エンジニアがインフラツールのあらゆる側面に精通することなく、業務を遂行できるようにする必要がありました。

そこで私たちは、インフラストラクチャと開発者ツールの上にある抽象化レイヤーを使って、エンドツーエンドのソフトウェア開発を一元化し、簡素化することを思いつきました。それがBackstageです。

Backstageは、集中管理されたソフトウェアカタログを利用した開発者向けポータルサイトで、プラグインアーキテクチャにより無限の拡張性とカスタマイズ性を備えています。

サービス、ソフトウェア、ツール、テストをすべてBackstageで管理できます。Backstage の自動化されたテンプレートを使用して、新しいマイクロサービスの構築を開始します。すべてのソフトウェアのドキュメントの作成、メンテナンス、検索を Backstage で行います。

すべてを1つの場所で。誰もがアクセスできる。

BackstageはもともとSpotifyによって構築され、その後CNCFに寄贈されました。Backstageは現在、インキュベーションフェーズにあります。発表はこちらです。

The Spotify Story · Backstage Software Catalog and Developer Platform

気にすること

チームでこのアプリをうごし共有して使う場合、さまざまなツールへのアクセス権限を有することになるので権限がこのアプリに集中することになる。 そのためこのアプリをしっかりと守っておく必要があるし、適切な閲覧権限、監査ログの発行を行う必要がある。

Google Cloud で動かす場合は Identity-Aware Proxy と組み合わせて使うのが良い。