263 Views
June 12, 26
スライド概要
【Azure AIの必須機能!?】YonaYona Durable Functions Night
Durable Functions 入門の資料です。
https://yonayona.connpass.com/event/393817/
日本マイクロソフト Cloud Solution Architect 兼 Evangelist .NET/C#/GitHub Copilot が好き
Durable Functions 入門 Kazuki Ota / 日本マイクロソフト YonaYona Azure Club 2026.06.12
自己紹介 日本マイクロソフト Cloud Solution Architect & Evangelist 大田 一希 (Kazuki Ota) SNS/ブログ X / GitHub: @okazuki/@runceel Zenn: https://zenn.dev/okazuki 最近のマイブーム GitHub Copilot app
このセッションのゴール Durable Functions の雰囲気をつかんでもらう!
アジェンダ Azure Functions とは Durable Functions とは Durable Task Scheduler デモ まとめ
Azure Functions とは
Azure Functions 概要 コード イベント
Azure Functions 概要 Azure Functions
Azure Functions の特徴 イベント駆動でコードを実行可能 イベント数に応じた自動スケール アウト(最大1000台) 使った分だけ細かく課金 コードの実行時間は5分以内(長くても10分) Azure Functions が向いている処理 小さいコード ステートレス (毎回作って壊して何回も実行してよいもの) 短時間で終わる処理
Durable Functions とは
Durable Functions とは Azure Functions の拡張機能 • 長時間実行可能(数日以上) • 耐久性がある(サーバーが再起動しても平気) • 状態をもったオブジェクトを実装可能 コードで書ける (C#、Python、TypeScript など)
普通の Functions と Durable Functions の違い 普通の Functions Durable Functions 状態なし ステート永続化 タイムアウトあり 長時間 OK サーバーが再起動したら サーバーが再起動しても動く 処理は終了
何故、長時間実行可能で耐久性がある? 1. 履歴を全部記録 2. 何回も繰り返し再実行 何かの処理 Start A1 ✓ A2 基盤の再起動など クラッシュしても履歴は残る Durable Task Scheduler • Execution Started • A1 Scheduled • A1 Completed • A2 Scheduled
何故、長時間実行可能で耐久性がある? 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
Durable Functions の登場人物 クライアント オーケストレーター アクティビティ バックエンド 処理を起動する人 流れを書く所 処理をする所 履歴を保存 ここが長時間動く ここはリプレイされても問題ない作りにし ないといけない 起動 Client 履歴 Orchestrator Backend (DTS) 呼び出し Activity 1 Activity 2 ここは短時間実行しか出来ない Activity 3
Durable Functions の登場人物 クライアント オーケストレーター アクティビティ バックエンド 処理を起動する人 流れを書く所 処理をする所 履歴を保存 ここが長時間動く ここはリプレイされても問題ない作りにし ないといけない 起動 Client 履歴 Orchestrator 細かい処理に分割可能な処理を 長時間かけて実行可能 Backend (DTS) 呼び出し Activity 1 Activity 2 ここは短時間実行しか出来ない Activity 3
Durable Functions のユースケース 大量データ処理 AI のためのインデックス構築パイプライン 大量の画像のサムネイルや画像の仕分け処理 バッチ処理全般 夜間バッチ処理 夜間以外でもデータの集計処理 人間の承認を挟む処理 承認者が一週間休暇をとっていても Durable Functions なら待ち続けられる マルチエージェントのワークフロー この後のセッションに期待…!
Durable Task Scheduler
Durable Task Scheduler (DTS) マネージドバックエンド 高性能・高スケール Functions App 履歴 Durable Task Scheduler 監視 Functions と独立したリソース 監視ダッシュボード付き (かっこいい) マネージドサービス Monitoring Dashboard
他のバックエンドとの比較 Azure Storage (昔からある) Durable Task Scheduler 標準で使える 自分で作る必要がある 低コスト ちょっと高い 中規模まで OK 大規模への対応が可能 Table や Queue で管理 専用のストレージ データ管理は自分でやる マネージド運用 管理用 API が利用可能 専用ダッシュボード かっこいい!!
デモ
まとめ Azure Functions サーバーレス サービス 凄いスケールする 短時間の処理が得意 Durable Functions Azure Functions の拡張機能 長時間実行可能! 耐久性もある! プログラミング言語で完全に制御可能! Durable Task Scheduler Durable Functions 用の専用バックエンド Storage Account よりは高いけど高性能 ダッシュボードがかっこいい!
Thank you ~Durable Functions はいいぞ~ #YonaAz github.com/runceel/yonayona-durable