Slide 1

Slide 1 text

#dotnetconf .NET Aspireで Azure Functionsや クラウドリソースを統合する 2025/01/11 .NET Conf Fukuoka x Osaka Yuta Matsumura

Slide 2

Slide 2 text

#dotnetconf 松村 優大 (MLBお兄さん) Currently working for © 2024 Yuta Matsumura. 株式会社オルターブース (Chief Technical Architect) Microsoft MVP for Developer Technologies Microsoft Top Partner Engineer Award GitHub 公認トレーナー C#, PHP, Azure, GitHub が好き #fukuten #devblogradio の中の人 SNS: https://linktr.ee/tsubakimoto 2

Slide 3

Slide 3 text

#dotnetconf 話すこと 1. .NET Aspire とは 2. クラウドリソースの統合 3. Azure Functions の統合 デモを交えながらお話します © 2024 Yuta Matsumura. 4

Slide 4

Slide 4 text

#dotnetconf © 2024 Yuta Matsumura. 5

Slide 5

Slide 5 text

#dotnetconf .NET Aspire とは • aka.ms/dotnet-aspire • 観測可能で本番環境に適した分散アプリケーションを構築するための クラウド対応スタック • 特徴 1. オーケストレーション:複数アプリケーションの相互接続を管理 2. コンポーネント:DB や各サービスの統合 3. ツール:ダッシュボードや Visual Studio のテンプレート © 2024 Yuta Matsumura. 6

Slide 6

Slide 6 text

Build, test, and deploy apps seamlessly from code to cloud Extensible, OpenTelemetry Built-in, & Ready for Any Cloud Integrations Deployment Developer Dashboard Streamlined Inner-Loop 出展 https://github.com/dotnetConf/2024

Slide 7

Slide 7 text

Open-source Templates Integrations Service discovery Developer dashboard Logs, metrics, distributed traces Single command run App topology in C# Cloud deployment Get started To build To deploy 出展 https://github.com/dotnetConf/2024

Slide 8

Slide 8 text

#dotnetconf .NET Aspire でできること • アプリケーションのオーケストレーション • バックエンドリソースの統合 • 各種リソースのデプロイメント • 各種リソースのヘルスチェック • ダッシュボードの提供 © 2024 Yuta Matsumura. 9

Slide 9

Slide 9 text

#dotnetconf © 2024 Yuta Matsumura. 10 オーケストレーション 構成の拡張 AppHost ServiceDefaults

Slide 10

Slide 10 text

#dotnetconf ダッシュボードのデモ © 2024 Yuta Matsumura. 11

Slide 11

Slide 11 text

#dotnetconf クラウドリソースの統合 © 2024 Yuta Matsumura. 12

Slide 12

Slide 12 text

#dotnetconf © 2024 Yuta Matsumura. 13 オーケストレーション 構成の拡張 AppHost ServiceDefaults

Slide 13

Slide 13 text

#dotnetconf Azure リソースの統合 AppHost プロジェクトで Azure リソースを使用するバックエンドサービス を構成すると、当該サービスへの接続情報やリソース自体の管理が 行われます。 Aspire の起動時に、バックエンドサービスとして使用する Azure リソース を自動的にプロビジョニング (=デプロイ) することで、アプリケーションの 依存先であるバックエンドサービスが使用可能な状態を保とうとします。 © 2024 Yuta Matsumura. 14

Slide 14

Slide 14 text

#dotnetconf 対応している Azure サービス © 2024 Yuta Matsumura. 15 プロビジョニング可能 WebPubSub EventHubs SQL Database AI Search App Configuration Application Insights Log Analytics Cache for Redis OpenAI Service Cosmos DB Database for PostgreSQL Service Bus Storage Account Key Vault SignalR Service Event Grid Container Apps Function App

Slide 15

Slide 15 text

#dotnetconf プロジェクト> © 2024 Yuta Matsumura. 16

Slide 16

Slide 16 text

#dotnetconf プロジェクト> サブスクリプション リソースグループのプレフィックス デプロイするリージョン © 2024 Yuta Matsumura. 17

Slide 17

Slide 17 text

#dotnetconf © 2024 Yuta Matsumura. 18

Slide 18

Slide 18 text

#dotnetconf プロジェクト> © 2024 Yuta Matsumura. 20 内部で何が行われている? 内部で何が行われている?

Slide 19

Slide 19 text

#dotnetconf © 2024 Yuta Matsumura. 21 インフラを構成してデプロイする インフラを構成してデプロイする

Slide 20

Slide 20 text

#dotnetconf デプロイ情報はどこに記録される? デプロイ先のテナント名やリソースグループ名、リソースIDなどが シークレットに記録される。 (dotnet user-secrets list) © 2024 Yuta Matsumura. 22

Slide 21

Slide 21 text

#dotnetconf リソースデプロイのデモ © 2024 Yuta Matsumura. 23

Slide 22

Slide 22 text

#dotnetconf Azure Functions の統合 © 2024 Yuta Matsumura. 24

Slide 23

Slide 23 text

#dotnetconf .NET Aspire の Azure Functions 統合 • .NET Aspire 9.0 から Azure Functions 統合がサポート (プレビュー) • Aspire がバックエンドサービスへの接続情報を Functions の 環境変数に自動構成 • バックエンドサービスは Functions の関数トリガーに使用可能 © 2024 Yuta Matsumura. 25

Slide 24

Slide 24 text

#dotnetconf プロジェクト> © 2024 Yuta Matsumura. 26

Slide 25

Slide 25 text

#dotnetconf プロジェクト> © 2024 Yuta Matsumura. 27 ↑Functionsの構成 ↑Functionsの構成

Slide 26

Slide 26 text

#dotnetconf プロジェクト> © 2024 Yuta Matsumura. 28 ←Functionsが接続する リソース類 ←Functionsが接続する リソース類

Slide 27

Slide 27 text

#dotnetconf © 2024 Yuta Matsumura. 29 Functionsの環境変数 Functionsの環境変数

Slide 28

Slide 28 text

#dotnetconf © 2024 Yuta Matsumura. 30

Slide 29

Slide 29 text

#dotnetconf ふくてんもくもく会 毎月第1木曜日&第3木曜日 エンジニアカフェで開催中です © 2024 Yuta Matsumura. 31

Slide 30

Slide 30 text

#dotnetconf ご清聴ありがとうございました © 2024 Yuta Matsumura. 32