技術ブログ株式会社エーピーコミュニケーションズの技術ブログです。エーピーコミュニケーションズの技術ブログです。Engineering」に関する記事が投稿されました。Engineeringを実現するツール・サービスの1つです。BackstageはSpotifyが開発し、その後CNCFに寄贈されたものです。実際にSpotify内部で利用されています。Portal)の1つです。そのビジョンは「最高の開発者体験を提供すること」です。開発者はさまざまなインフラストラクチャツールの専門家である必要はなく、インフラストラクチャを抽象化することで、安全かつ迅速に構築・スケールできるようにします。Backstageは「開発者体験におけるKuberentesのような位置付けのサービスとなる」ことを目指しています。実際に立ち上げてみるとわかりますが、まさに開発ポータルを実現するものになっています。(主に表示関係の内容になっていますが、デモサイトが公開されていますので雰囲気はそちらで確認することができると思います。)何を実現しようとしているかBackstageがどういったことを実現しようとしているか、中心となる3つの機能を見ていきましょう。Architectureを採用しているチームを考えてみましょう(私自身が普段経験している内容をベースにしています)。Architectureは1つのシステムを複数のプログラムに分割しています。した場合、チームが開発で使用するソースコードリポジトリも分割されていることが多いかと思います。各プログラムのAPIの内容の確認のため、それぞれのリポジトリにアクセスしなければならない。何事もリポジトリ毎に分割されることが多くなり、あちこちのリポジトリを見て回る作業が発生します。Requestが作成されたタイミングでチャットツールに通知が出るようなしかけをしていますが、見落としがあったりするので、どうしても状況確認は必要になってきます。Catalogという機能が用意され、こうしたリポジトリの情報を管理することができます。Request一覧やCIの実行結果などが確認できたらわざわざ各リポジトリへ確認に回らなくて済みます。Initialzrのようなもの)を利用するか、既存のソースコードからコピーすることが多くあります。CIの設定やワークフロー定義などもコピーするなどして用意しなければなりません。した作業を行い、実際のビジネスロジック開発に着手するまでに意外と時間がかかることがあります。したとき初期状態のテンプレートがあったらいいのに、と思うのではないでしょうか。Backstageではその名もずばりTemplate機能というものが用意されています。Requestを作成)してくれる機能です。このテンプレートで初期状態のソースコードや必要なLint設定やCIワークフロー定義などを用意しておけば、時間を取らずにすぐにビジネスロジック開発に着手することができます。新規にチームにジョインしたメンバーのオンボーディングや、APIの内容の確認など、システム設計・利用に関するドキュメントをMarkdown形式でリポジトリに保持しているところは多いと思います。各プログラムのAPIの内容の確認のため、それぞれのリポジトリにアクセスしなければならない。いうものがありましたが、これもそうしたドキュメントを参照する機会のひとつです。したチームが複数ありそれぞれのシステムが連携している場合など、別のチームに利用法を伝えるためにもこうした情報が必要になったりするでしょう。した場合にリポジトリ等にわざわざいかないといけないというのは面倒です。BackstageではTechDocsというMarkdownファイルをBackstage側にImportする機能があります。Backstageにいけば、すべてのドキュメントを確認できますので探しにいく手間が省けます。検索機能もありますので、「どのリポジトリにあったのか忘れた」という場合でもすぐに探し出すことができます。詳細に内容を確認したい、という場合もそのドキュメントがどのCatalogに紐付いたものなのかがすぐに分かりますので、リポジトリ内容の確認や開発チームへのコンタクトなどもできるようになります。Pluginで拡張可能なBackstageこのように開発チームの成果物をCatalogなどでまとめてくれるのがBackstageの主要機能ですが、これだけではありません。様々な機能・サービスと連携できるようになっています。いくつものサービスとの連携機能が開発・公開されています。Pluginの一部です。CDなども用意されています。CDなどにアクセスして対処することができるようになります。Plugin紹介ページよりまさにBackstageは開発チームのポータル(玄関口)として様々な機能を果たしてくれるのです。私たちの取組み現在私たちのチームではBackstageを立ち上げ、よりよい利用方法を開拓しています。Pluginなども開発していければ、とも考えています。Topologiesの概念とも相性がよいものです。techblog.ap-com.co.jpBackstageが解決しようとしている課題は、開発チームのIntrinsic、Extraneousに該当する認知負荷に関するものです。Engineeringの結果とも言えるのです。Topologiesの要素を取り込んで、開発チーム間の連携をしやすくする環境としてもBackstageを活用できればと考えています。興味がある方がいらっしゃればぜひご連絡ください。実際BackstageをAKS上に立ち上げていますが、立ち上がるまでにAKS側の設定やBackstageの設定、連携対象であるAzureやGitHubの連携方法など、ドキュメントではさらっとしか書かれていないのですが苦労が多々ありました。した情報も機会があればこちらのBlogでご紹介していければと思います。私達ACS事業部はAzure・AKSなどのクラウドネイティブ技術を活用した内製化のご支援をしております。Topologiesもこうした内製化支援の一部です。www.ap-com.co.jpまた、一緒に働いていただける仲間も募集中です!今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。Engineeringの導入支援、データ&AI基盤に関連するサービスを提供しています。わたしたちは「エンジニアとお客様を笑顔にする」というVisionを掲げ、インフラエンジニアの未来を創るNeoSIerとして工夫と挑戦を行い続けます。読者になるこのブログについて引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。