はじめに
CNCF主催の認定試験 Certified Backstage Associate (CBA) を受験し合格したので、受験記を記載します。同認定試験の受験を考えている方の参考になれば幸いです。
免責事項(Disclamer)
- 本投稿は受験当時の情報となります。受験を検討する際は最新の情報の確認をお願いします。
- 本投稿は個人の所感です。
- 所属する企業や団体は関係ありません。
- 情報の利用は自己責任でお願いします。
試験概要
- IDP(内部開発者ポータル)、サービスカタログソフトウェア Backstageに関する認定試験です。
- 受験日:2025/1/8
- 試験形式
- オンライン試験
- 1回再受験可能
- 多肢選択式
- 試験時間90分
- 試験言語は英語のみ提供
- 100点満点中75点以上で合格
Backstageとは
- IDP(内部開発者ポータル)を実現するためのソフトウェア
- プラットフォームエンジニアリングの構成要素
- 要は開発者向けの便利ページ
- サービスやAPIをサービスカタログとして登録することで、社内のアセット管理ができる
- Backstageのメリット
- サービス間の依存性を表現することで、改修影響を確認
- サービスに関するドキュメントを関連付けることで、新規着任者のオンボーディングを容易に
- 以下のような技術スタックを用いているので、画面UIのカスタマイズの際のReact設定を問われたりします。
- 画面UIを更新してプラグインを含める:React
- Backstageバックエンド:Node.js
- プロジェクト全体:Typescript(プログラミング言語)
勉強方法
参考にした受験記
学習リソース
- まずはLinuxFoundation提供の無償トレーニング Introduction to Backstage: Developer Portals Made Easy (LFS142) を受けました。
- 次に 認定の公式ページ を見て認定のカリキュラムを把握し、先ほどのトレーニングでカバーできていない範囲をBackstageドキュメントで確認します。
- Backstageはカリキュラムと公式ドキュメントの対応がわかりづらいので、カバーできていない範囲の洗い出しが大変かもしれません。
- Backstage Demoが提供されているので、画面の雰囲気を掴むためにアクセスしてみるといいと思います。
学習のポイント
-
画面UIの編集のために設定すべきファイルが多くあるので、ディレクトリ構成を描いてみると分かりやすくなると思います。参考までに私が描いたものを載せておきます(間違いがあったらゴメンナサイ)。
packages/ └app/src/ #フロントエンド用ディレクトリ └components/ └catalog/EntityPage.tsx # エンティティページ(個々のコンポーネント画面等)に表示するタブの中身の設定 └Root/Root.tsx # 画面の基本表示を司るRootコンポーネント関連。サイドバーの編集はここで行う └theme └myTheme.tx # カスタムテーマ └App.tsx # フロントエンドに登録するプラグインのエントリーポイント、テーマの編集 └backend/src/ # バックエンド用ディレクトリ └plugins/ # プラグイン毎の設定ファイル置き場 └kubernetes.ts └index.ts # バックエンドに登録するプラグインのエントリーポイント
上記でカバーしきれず本番で戸惑った項目
- 時間が経って見返したので、自分でも内容が把握しきれていません。キーワードの参考としてお使いください。
- backstage設定の上書きを環境変数で行う方法
- backstage-cliでの新規プラグイン作成
- backstage-cliでのインタラクティブテスト
- backstage-cliでのbackstageアップデート
- エンティティページでのタブの追加の仕方、特定のエンティティがある場合だけ表示
- Reactコンポーネントを作成するとリターンされるものは
- locationの手動登録 画面から登録できる?