Slide 1

Slide 1 text

第6回 Azure Travelers 勉強会 愛媛の旅 2025-05-31 Taichi Nonoshita (@nnstt1) Azure Developer CLI と Azure Deployment Environments

Slide 2

Slide 2 text

Step 1. Azure Developer CLI Step 2. Azure Deployment Environment Step 3. Demo

Slide 3

Slide 3 text

Hello!! 株式会社エーピーコミュニケーションズ 四国在住3児の父 Name : ののし@nnstt1

Slide 4

Slide 4 text

通称「しこあず」 https://az-459.connpass.com/ 四国4県で開催予定 #1 徳島 2025年 1月 #2 香川 2025年 7-8月 予定 #3 高知 2025年 10-11月 予定 #4 愛媛 2026年 予定 JAZUG 四国支部

Slide 5

Slide 5 text

松山のおすすめグルメ ● でゅえっと ミートソース スパゲティ ○ 松山市駅の向かい ○ (小) でも大盛り 東予

Slide 6

Slide 6 text

お仕事 愛媛を出て SIer 憧れの大都会東京へ。 Java で開発していたけど挫 折。気づいたら業務ドメイン どっぷりの仕事内容に。 四国に戻って インフラ 愛媛まで帰れず徳島止まり。 Microsoft 製品の世界に足を 踏み入れる。 Windows Server, IIS, SQL Server, AD, そして Azure に 出会う。 Azure やるため 現職へ 四国からフルリモート。 インフラ、クラウド楽しい! プログラミングは未だ抵抗感。 そんな中、転機が訪れた。

Slide 7

Slide 7 text

生成 AI 時代の幕開け

Slide 8

Slide 8 text

インフラ屋でもプログラミングできる ● アイデアの実現 ○ 自前のインフラの知識と AI のプログラミング サポートで、思い描いた機能やシステ ムを形にしやすくなった ○ 「何したいか」が「こんなアーキテクチャ作ってみたい」止まりなのでビジネスに直 結していないところは悩みどころ ● 便利ツールの作成 ○ インフラ構築、運用に役立つ道具を自分で用意できるようになった

Slide 9

Slide 9 text

どこから始めればよいか ● 最近の Coding Agent は優秀!…だけど ○ ゼロからプログラムを作っていくにはまだハードルが高い ○ プログラムが動くところからスタートしたい ○ Azure リソースもセットで欲しい

Slide 10

Slide 10 text

Azure Developer CLI

Slide 11

Slide 11 text

Azure Developer CLI (azd) ● 開発生産性の向上 ○ アプリケーション開発とデプロイを効率化する 開発者向けコマンドラインツール ○ コマンド 1 つでインフラをプロビジョニングし、 サンプル アプリケーションをデプロイできる ● テンプレート駆動 ○ Microsoft 公式を含めた数多くのテンプレートからインフラ構成、 開発言語、用途を選択して開発を始められる ○ テンプレートの自作も可能

Slide 12

Slide 12 text

azd の使い方 1. azd セットアップ 2. テンプレート選ぶ 3. azd コマンド実行

Slide 13

Slide 13 text

azd セットアップ ● CLI インストール ○ WinGet、Homebrew、RPM/DEB などで各 OS にインストール可能 ○ 個人的には aqua からインストールして Renovate と組み合わせ ■ YAML ファイルでコマンドラインツールを Git 管理 ■ 新バージョンがリリースされたらプルリク自動作成 ● その他 ○ Visual Studio Code 拡張機能や Dev Container もあるがベータ版

Slide 14

Slide 14 text

Awesome AZD aka.ms/awesome-azd 複数の言語、サービス、用途ごとの構成 が azd テンプレートとして公開されてい るライブラリ

Slide 15

Slide 15 text

AI App Templates aka.ms/AiApps AI を活用したアプリケーションに特化した Azure Developer CLI テンプレートのコレク ション

Slide 16

Slide 16 text

azd コマンド Project Azure .bicep .tf プロジェクト初期化 azd init -t template azd up azd deploy azd provision

Slide 17

Slide 17 text

Azure Developer CLI めっちゃいいやん! 社内で広めたろ

Slide 18

Slide 18 text

Azure Developer CLI めっちゃいいやん! 社内で広めたろ ちょっと待って!

Slide 19

Slide 19 text

azd の権限問題 ● 開発者にサブスクリプションの強い権限が必要 ○ azd は利用者が管理するサブスクリプションを対象としている ○ Platform チーム的には割り当てる権限は狭めたいけど開発の自由度は下げたくない Developer Subscription Resource Group Owner Contributor

Slide 20

Slide 20 text

Azure Deployment Environment

Slide 21

Slide 21 text

Azure Deployment Environment (ADE) ● セルフサービス化とガバナンス強化 ○ Platform チームが提供するテンプレートを使って 開発者がインフラをプロビジョニングをトリガー ○ マネージド ID がプロビジョニングするので開発者への 強い権限の割り当ては不要 ● 使用シナリオ ○ サンドボックス ○ オンデマンドのテスト環境 ○ トレーニングやハンズオン環境

Slide 22

Slide 22 text

Dev Center ADE の準備 Managed ID Deployment Environment User Project Team, Business func Environment types sandbox, dev, prod Env type sandbox Catalog Catalog Catalog Subscription Contributor User Access Administrator ・デプロイ先サブスクリプション ・開発者に割り当てる権限 Developer

Slide 23

Slide 23 text

Microsoft 開発者ポータル ADE の環境を作成、管理、削除できる 開発者向けのページ 他の Microsoft 製品にも 「開発者ポータル」があるが別物 https://devportal.microsoft.com/

Slide 24

Slide 24 text

Developer ADE の利用 1. 環境作成 Managed ID 2. 代行 Subscription Resource Group 3. プロビジョニング 許可された権限 4. 権限付与

Slide 25

Slide 25 text

azd と ADE の権限の違い Developer Subscription Resource Group Owner Contributor Developer Subscription Resource Group 任意ロール azd ADE サブスクリプションに強い権限 が必要 リソースグループに 任意の権限 を割り当て可能 ここの設計が一番むずかしい

Slide 26

Slide 26 text

環境の自動削除 ● ADE で払い出した環境は日時指定に よる自動削除が可能 ○ 開発者が指定、変更できる ○ Platform チームによる管理も可能 ● 「払い出された環境を N 日後に削除」 というデフォルト設定はできない

Slide 27

Slide 27 text

CI/CD パイプラインとの統合 ● GitHub Actions や Azure Pipelines に ADEを統合することで、 プルリクエスト作成をトリガーに環境払い出しが可能 ○ セットアップは複雑 ○ 既存 CI/CD パイプラインとの整合性を検討 feature branch

Slide 28

Slide 28 text

azd と ADE の連携

Slide 29

Slide 29 text

azd と ADE の連携 ● ADE だけではアプリケーションのデプロイができない ● azd と ADE を連携することで、ADE のカタログでインフラを プロビジョニングし、azd のアプリケーションをデプロイできる ● 連携方法は azd と ADE それぞれのドキュメントにあるが、記載されてい ない手順も多い

Slide 30

Slide 30 text

Demo Azure Developer CLI + Azure Deployment Environment

Slide 31

Slide 31 text

まとめ

Slide 32

Slide 32 text

Azure Developer CLI (azd) は開発者がインフラを気にせず 開発に集中できるツール Azure Deployment Environment (ADE) はガバナンスを維持してセ ルフサービス化を提供するサービス azd と ADE を連携すると両者のメリットを活かせる ・組織で活用するには開発者と Platform チームの協力が必要 ・開発者に割り当てる権限の設計が重要 ・サブスクリプションに対して強い権限が必要

Slide 33

Slide 33 text

Thanks!! contact me at @nnstt1