3.3K Views
May 10, 25
スライド概要
Global Azure 2025
https://jazug.connpass.com/event/348980/
Microsoft MVP for Microsoft Azure
Global Azure 2025 Azureのコスト集計システムの開発について 株式会社バンダイナムコスタジオ 八重樫 剛史 Takeshi Yaegashi 2025/05/10
自己紹介 • 名前: 八重樫 剛史 Takeshi Yaegashi • 組織: 株式会社バンダイナムコスタジオ (BNS) • 部署: テックスタジオ 第1グループ オンラインテクノロージ部 基盤ソリューション課 • 肩書: テクニカルディレクター • 社内開発者向けのクラウドサービス導入推進 プラットフォームエンジニアリングのプロジェクトに従事 • Microsoft MVP for Microsoft Azure (2023, 2024) https://mvp.microsoft.com/ja-jp/PublicProfile/5005134 2
本日のお話: FinOps プラットフォームエンジニアリング • バンダイナムコスタジオ(BNS)における クラウドサービスビリングシステムの構築プロジェクトについてお話します • インフラ・バックエンドアプリエンジニア 3 名のチームで Microsoft 365 およびローコード開発に取り組んだ結果 • FinOps プラットフォームエンジニアリングの取り組みの一環 → FinOps Phases [1] の Inform (可視化) の段階 • FinOps 推進のねらい • クラウド開発インフラ支出の精密な集計・請求処理システムを開発し、費用対効果の正確な測定を可能にする • 費用が発生するサービスの利用開始手続きを簡略化し、さらなるクラウド開発インフラの活用を推進する • 経営層などのステークホルダーに情報を提供し、さらなるクラウド開発インフラ投資の決断を促す [1] https://www.finops.org/framework/phases/ 3
FY2024 までの Azure クラウドサービスビリング • Azure EA契約の多数のAzureサブスクリプションに計上される様々なクラウドサービス利用料金を 単一の「クラウド開発推進」予算でまかなっていた 4
FY2025 からの Azure クラウドサービスビリング • サービスの利用者である会社・部署・プロジェクトをビリングアカウントとして、 利用料金請求を適切に配賦できるような集計・レポートのシステムを構築した 5
クラウドサービスビリングシステムの概要 • ビリング対象サービス • Microsoft Azure (約50個のAzure サブスクリプション) • Azure DevOps (約10個のOrganization) → Azureサブスクリプション • GitHub Enterprise (数個のOrganization) → Azureサブスクリプション • Power Platform 従量課金プラン (数個のEnvironment) → Azureサブスクリプション • その他 Azure Marketplace のサービス → Azureサブスクリプション • ポイント • 最近は Azure サブスクリプションのメーターで計測・課金できる非 Azure のサービスが増えている → Azure DevOps: Basicライセンス、Pipelines、Artifacts → GitHub Enterprise: Actions、Packages、Git LFS、Codespaces、Copilot → Power Platform: プレミアムコネクタ利用App、Dataverse容量 • バンダイナムコグループでは数百名の Visual Studio サブスクライバが Azure DevOps と GitHub Enterprise を無料で利用可能になっている 6
アーキテクチャ全体図 7
アーキテクチャの概要 8
アーキテクチャのポイント • システム開発プラットフォーム • Microsoft Azure: Blob Storage, SQL Server, Logic Apps • Microsoft 365: SharePoint Sites, Lists, Forms • Power Platform: Power Apps • GitHub Enterprise: Repository, Actions, Codespaces, Copilot • Microsoft Entra ID・Microsoft 365・SharePoint Online の活用 • 複雑な Web アプリ開発を回避して工数を削減する • ビリングアカウント (会社・部署・プロジェクト) や集計配賦設定の登録に SharePoint Lists を活用する • ビリングアカウント・経理部門向けレポートを Excel ファイルとして SharePoint Site に出力し個別閲覧権限を与える • SharePoint のリソース操作のために Azure Logic Apps や Power Automate を活用する • 重要な制約 • Microsoft 365 E3 と Azure サブスクリプションのみで実現可能なシステムを構築する • つまり Power Platform の per-user ライセンス、プレミアムコネクタ、マネージド環境は使えない → Azure Logic Apps を多用することになる 9
SharePoint Lists・Forms による集計・配賦設定の入力 • Azure サブスクリプションや Azure DevOps 組織 などサービスごとの費用計上先(ビリングコード) を SharePoint Lists で保持する • Lists Form によりユーザーから申請を受け付ける → Power Apps アプリで置き換え予定 10
ビリングアカウント向けレポートの出力・公開 • 請求月ごとにSharePointフォルダを作成 • Logic Apps を使って各ビリングアカウント 向けのレポートExcelファイルを出力 2025年4月のフォルダ • 各ファイルはビリングアカウントが指定した Microsoft Entra IDグループのユーザーのみが 閲覧可能に設定 11
ビリングアカウント向けレポート (Excelファイル) の内容 • サービスごとの金額と利用者がわかる明細を出力 Azure DevOpsやGitHubなど個別SaaSビリングAPIによる利用実績、EA契約価格表も反映している 12
インフラエンジニアのチームによるローコード開発体験 • 経験豊富なインフラエンジニアが中心の開発 チームにとってローコード開発環境は苦行 • 実行速度が遅くてつらい • 複雑な制御構造や文字列操作などがもどかしい • アプリの複製・DevOps 環境構築がしんどい • Git でアプリ更新履歴が管理できないのでムズムズする • Microsoft 365 Copilot は非常に強い味方 • Azure Logic Apps のすばらしい点 • Microsoft Graph や SharePoint に接続するためのユーザー 認証情報をサーバー側で保持してくれる (API接続) → Logic Apps を使う理由の 90%くらいはこれ → インフラエンジニアでも delegated permissions の OAuth2 refresh token を取り扱うのはやりたくない • ARM のリソースとして Bicep などで IaC 化できる (Power Automate ではできない) • 価格がとても安い (per-user ライセンスが必要ない) Azure Portal の Workflow Designer で アプリ作成・エクスポートした JSONファイルをBicepで使用 API接続リソース指定 13
Power Platform Application Lifecycle Management (ALM) • 今後の計画: Power Apps による専用 GUI の開発 • 開発・テスト・本番で環境を分けて DevOps したい • Application Lifecycls Management (ALM) [1] • Power Platform パイプライン [2] • Power Platform に組み込みの環境を対象とした CI/CD 機能で ALM • しかしながら、パイプラインにはマネージド環境が必要なため、 我々の Azure サブスクリプションの従量課金プランでは利用でき なかった • いつか従量課金プランでもマネージド環境を使えるようにして ほしい… • 代替手段: GitHub Actions や Auzre Pipelines による ALM • ソリューションのエクスポート・インポートができる GitHub Actions や Azure Piplines Tasks が用意されている • Microsoft Power Platform の ALM を GitHub Actions で実現する [3] [1] https://learn.microsoft.com/ja-jp/power-platform/alm/overview-alm [2] https://learn.microsoft.com/ja-jp/power-platform/alm/pipelines [3] https://qiita.com/kazu_yasu/items/78472db719114c6d86df 14
まとめ • バンダイナムコスタジオ (BNS) における FinOps の取り組み • FinOps プラットフォームエンジニアリング • FinOps Phases の Inform (可視化) に取り組んでいる初期段階 • クラウドサービスビリングシステムの構築プロジェクト • Microsoft Entra ID・Microsoft 365・SharePoint Online の活用 • 複雑な Web アプリ開発を回避して工数を削減する • インフラエンジニアのチームによるローコード開発体験 • 経験豊富なインフラエンジニアにとってローコード開発はつらい • Azure Logic Apps は API 接続の認証情報を保持してくれるし IaC もできるし価格も安いのですばらしい • Power Platform の従量課金プランと ALM • Power Platform は per-user ライセンスが高くなりすぎるので大企業では使いづらい → Azure従量課金プランを採用 • Power Platform の Azure 従量課金プランはマネージド環境に対応しておらずパイプラインの ALM ができなくて悲しい 15
Thank You!! 16