
はじめに
こんにちは、ACS事業部亀崎です。先日「開発生産性の壁」とその解決方法についてご紹介させていただきました。
今回は、Backstageをどのように活用すればよいか、その例を1つ挙げてご説明したいと思います。
Platform Engineering
Platform Engineeringの出発点
まずはじめにPlatform Engineeringという基本的なところからおさらいしたいと思います。
Platform Engineeringの一番重要なキーワードは、「セルフサービス」によるPlatformの提供です。
従来型の開発チームとインフラチームの関係性は、「構築依頼者」と「設計・構築担当者」でした。多くの開発チームが存在したり、Microservice Architectureが浸透すると多数のインフラが必要となってきます。そうした状況でインフラチームが「設計・構築」を一手に担っていると、多くの依頼に対応することができなくなりボトルネックとなり得ます。

こうした状況を改善するための取り組みがPlatform Engineeringです。開発チームがインフラチームに「依頼」するのではなく、あらかじめインフラチームが用意したテンプレート等を活用し、開発チームが「セルフサービス」でインフラを構築できるようにするのがPlatform Engineeringの基本的な考え方です。これにより、インフラチームがチェックしたセキュリティ要件やインフラ要件を満たしているシステムのひな型を、開発チームの必要なタイミングで払い出すことで、高品質なシステムの開発工数を短縮することができます。

セルフサービスの課題
Platform Engineering/セルフサービスを適用し、インフラの構築作業を開発チームで実行するようになると、インフラチームはそのインフラの管理責任はなくなるのでしょうか?一般的にはそうではありません。 例えばクラウドリソースをデプロイする場合、サーバレスの実行環境やデータベースは開発チームが管理するようになるかもしれません。しかしそうしたクラウド環境にデプロイできるようにするための権限の割り当てなど、クラウド環境そのものは組織横断的に管理するものですので、インフラチームで管理するでしょう。 Platform Engineeringを適用した場合、開発チームとインフラチームとの間でそれぞれの役割に応じて責任を共有していかなければなりません。
つまり、セルフサービス化を進めても相変わらず申請等は必要になります。

Backstage Scaffolder機能を活用した自動化
Backsage Scaffolder Template機能とGitHubのPull Requestを組み合わせることで、この環境利用申請についても(半)自動化することができます。

Backstageを環境利用申請/テンプレート利用の窓口UIとして活用し、またGitHubのPull Rquest等を活用することで、様々な作業を自動化し、それぞれのチームの責任範囲を守りつつチーム間の関係性を疎に保つことができ、インフラチームの作業も開発チームの作業も簡単にかつ最小限の労力で実現可能となります。
私たちのチームでは「Argo CD」の利用申請、管理のフローをBackstageのScaffolder機能とGitHub Pull RequestやGitHub Actionsを使った自動化を実現しています。
9月18日に開催されるPlatform Engineering Kaigi 2025の弊社ブースにてこの自動化例もご紹介します。ぜひご来場ください。
最後に
Backstageには他にも開発者の認知負荷を低減する様々な機能が存在します。その効果も使い方次第でより大きくなります。
ご興味のある方がいらっしゃいましたらぜひ弊社までご連絡ください。よろしくお願いします。
www.ap-com.co.jp www.ap-com.co.jp
また、弊社では開発者ポータルBackstageのマネージドサービスである「PlaTT」も提供しております。 Backstageに興味があるという方もぜひご連絡をいただけると嬉しいです。
それでは次の機会にまたお会いしましょう。