Durable Functions 入門

263 Views

June 12, 26

スライド概要

【Azure AIの必須機能!?】YonaYona Durable Functions Night
Durable Functions 入門の資料です。
https://yonayona.connpass.com/event/393817/

profile-image

日本マイクロソフト Cloud Solution Architect 兼 Evangelist .NET/C#/GitHub Copilot が好き

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

Durable Functions 入門 Kazuki Ota / 日本マイクロソフト YonaYona Azure Club 2026.06.12

2.

自己紹介 日本マイクロソフト Cloud Solution Architect & Evangelist 大田 一希 (Kazuki Ota) SNS/ブログ  X / GitHub: @okazuki/@runceel  Zenn: https://zenn.dev/okazuki 最近のマイブーム  GitHub Copilot app

3.

このセッションのゴール Durable Functions の雰囲気をつかんでもらう!

4.

アジェンダ  Azure Functions とは  Durable Functions とは  Durable Task Scheduler  デモ  まとめ

5.

Azure Functions とは

6.

Azure Functions 概要 コード イベント

7.

Azure Functions 概要 Azure Functions

8.

Azure Functions の特徴  イベント駆動でコードを実行可能  イベント数に応じた自動スケール アウト(最大1000台)  使った分だけ細かく課金  コードの実行時間は5分以内(長くても10分) Azure Functions が向いている処理 小さいコード ステートレス (毎回作って壊して何回も実行してよいもの) 短時間で終わる処理

9.

Durable Functions とは

10.

Durable Functions とは Azure Functions の拡張機能 • 長時間実行可能(数日以上) • 耐久性がある(サーバーが再起動しても平気) • 状態をもったオブジェクトを実装可能 コードで書ける (C#、Python、TypeScript など)

11.

普通の Functions と Durable Functions の違い 普通の Functions Durable Functions  状態なし  ステート永続化  タイムアウトあり  長時間 OK  サーバーが再起動したら  サーバーが再起動しても動く 処理は終了

12.

何故、長時間実行可能で耐久性がある? 1. 履歴を全部記録 2. 何回も繰り返し再実行 何かの処理 Start A1 ✓ A2 基盤の再起動など クラッシュしても履歴は残る Durable Task Scheduler • Execution Started • A1 Scheduled • A1 Completed • A2 Scheduled

13.

何故、長時間実行可能で耐久性がある? 1. 履歴を全部記録 2. 何回も繰り返し再実行 何かの処理 Start A1 ✓ A2 基盤の再起動など クラッシュしても履歴は残る Durable Task Scheduler • Execution Started • A1 Scheduled • A1 Completed • A2 Scheduled • A2 Completed • Execution Completed 再開 → Replay → 続きから Restart A1 Replay A2 ✓ Done

14.

Durable Functions の登場人物  クライアント  オーケストレーター  アクティビティ  バックエンド 処理を起動する人 流れを書く所 処理をする所 履歴を保存 ここが長時間動く ここはリプレイされても問題ない作りにし ないといけない 起動 Client 履歴 Orchestrator Backend (DTS) 呼び出し Activity 1 Activity 2 ここは短時間実行しか出来ない Activity 3

15.

Durable Functions の登場人物  クライアント  オーケストレーター  アクティビティ  バックエンド 処理を起動する人 流れを書く所 処理をする所 履歴を保存 ここが長時間動く ここはリプレイされても問題ない作りにし ないといけない 起動 Client 履歴 Orchestrator 細かい処理に分割可能な処理を 長時間かけて実行可能 Backend (DTS) 呼び出し Activity 1 Activity 2 ここは短時間実行しか出来ない Activity 3

16.

Durable Functions のユースケース  大量データ処理  AI のためのインデックス構築パイプライン  大量の画像のサムネイルや画像の仕分け処理  バッチ処理全般  夜間バッチ処理  夜間以外でもデータの集計処理  人間の承認を挟む処理  承認者が一週間休暇をとっていても Durable Functions なら待ち続けられる  マルチエージェントのワークフロー  この後のセッションに期待…!

17.

Durable Task Scheduler

18.

Durable Task Scheduler (DTS)  マネージドバックエンド  高性能・高スケール Functions App 履歴 Durable Task Scheduler 監視  Functions と独立したリソース  監視ダッシュボード付き (かっこいい) マネージドサービス Monitoring Dashboard

19.

他のバックエンドとの比較 Azure Storage (昔からある) Durable Task Scheduler  標準で使える  自分で作る必要がある  低コスト  ちょっと高い  中規模まで OK  大規模への対応が可能  Table や Queue で管理  専用のストレージ  データ管理は自分でやる  マネージド運用  管理用 API が利用可能  専用ダッシュボード  かっこいい!!

20.

デモ

21.

まとめ  Azure Functions  サーバーレス サービス  凄いスケールする  短時間の処理が得意  Durable Functions  Azure Functions の拡張機能  長時間実行可能!  耐久性もある!  プログラミング言語で完全に制御可能!  Durable Task Scheduler  Durable Functions 用の専用バックエンド  Storage Account よりは高いけど高性能  ダッシュボードがかっこいい!

22.

Thank you ~Durable Functions はいいぞ~ #YonaAz github.com/runceel/yonayona-durable