APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Backstageの機能紹介: 「Kubernetes連携」と「検索」機能

はじめに

先日Backstageをご紹介しました。

techblog.ap-com.co.jp

BackstateのCore Featuresは

  • Software Catalog
  • Kubernetes
  • Software Templates
  • Backstage Search
  • TechDocs

の5つが挙げられています。前回の投稿では上記のうちの3つ(Software Catalog / Software Templates / TechDocs)をご紹介しました。今回は残る2つ (Kubernetes / Backstage Search)をご紹介します。

(2023年3月9日に弊社が会場提供しました Platform Engineering Meetup #1 で、公式セッション終了後に開催された懇親会の場で余興でご紹介させて頂いたものです。当日の様子はこちらの記事を御覧ください。)

機能紹介

Kubernetes

Backstage公式ドキュメントはこちらになります。

Backstageがこの機能を公開したときのブログに以下のような記載があります。

TLDR; We’re rethinking the Kubernetes developer experience with a new feature: a Kubernetes monitoring tool that’s designed around the needs of service owners, not cluster admins. Now developers can easily check the health of their services no matter how or where those services are deployed — whether it’s on a local host for testing or in production on dozens of clusters around the world.

引用にもある通り、このPluginはKubernetesクラスター管理者ではなく、開発チーム用のKuberentes監視ツールです。 一般的なKuberentes監視ツールは多くのことが実行できます。しかし、開発者としては自身が開発しているアプリケーションの情報が確認できれば十分です。 Backstageが提供する機能はそのような開発チーム向けに特化したものです。

画面としては以下のようなイメージになります。

この画面ではPods / Service / Horizontal Pod Autoscaler / Ingress の情報を表示しています。おおむねこれだけあれば、アプリケーションの実行状況を確認するのに十分ではないでしょうか。 その他のものも含めて、現在サポートしている Kubernetes object typeは以下のとおりです。

  • pods
  • services
  • configmaps
  • limitranges
  • deployments
  • replicasets
  • horizontalpodautoscalers
  • jobs
  • cronjobs
  • ingresses
  • statefulsets
  • daemonsets

Backstage公式ドキュメントはこちらになります。

前回BackstageではSoftware CatalogやTemplates、TechDocsといった情報を登録・表示する機能をご紹介しました。 しかし、こうした情報がただリストで表示されただけでは情報のアクセス容易性は高まりません。やはり検索機能といったものが必要になります。Backstageでも標準でそうした機能を用意しています。

現在標準でサポートしている検索エンジンは

  • Lunr
  • Postgres
  • Elasticsearch/OpenSearch

です。何も指定しなければLunrが利用されます。今回検証用としてPostgresを有効にしています。 検索対象はSoftware CatalogとSoftware TechDocsです。この検索を利用した結果は次のような画面になります。

これがあれば、キーワードを指定し、ドキュメントや必要とするリポジトリを横断的に検索することが可能となります。

Backstageで実現するもの

前回ご紹介した機能と今回ご紹介した機能をベースに、さまざまなPluginを組み合わせることで、開発チームが日々作業をする上で必要となる情報にアクセスできるようになると思います。サマリー情報を確認するために、それぞれのサービスの画面に遷移する必要はありません。開発チームはまずBackstageで情報を確認し作業を行う、そうしたポータル機能が一通り実現できるようになります。その他Plugin次第で様々な機能を追加できるのがBackstageです。ぜひ今後に注目してください。

ACS事業部のご紹介

私達ACS事業部はAzure・AKSなどのクラウドネイティブ技術を活用した内製化のご支援をしております。 実はTeam Topologiesもこうした内製化支援の一部です。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp