Digital Appendix
『AIエージェントが見つけたサーバーレス』のデジタル付録
耐久実行の系譜と現行制約
耐久実行の系譜と現行制約
対象本文
第8章のStep Functions実行保証、第10章の記録と再生、code-first durable execution、履歴上限を補います。第9章9.6のワークフロー境界表と第10章10.4の耐久フローの記入用雛形(空欄版)も本表が持ちます。第9章9.2・9.4のワークフロー記述面(視覚的ローコード、コネクタ)の現況も本表が受けます。長期実行の版管理はA-DURABLE-03へ分けます。
収集方法
2026年7月10日にTemporal、Microsoft Durable Task、AWS Lambda durable functions、AWS Step Functionsの公式資料を照合しました。系譜の年次は製品史の位置づけに限り、設計判断は現行の履歴・再試行・待機の提供仕様から行います。
現在の答え
耐久実行の中核は、processを一台で長時間動かし続けることではありません。決定、activityの結果、timer、external eventを履歴またはcheckpointへ記録し、別processでも続きから論理実行を再構成することです。
系譜の一つはAmazon Simple Workflow Serviceのdecider modelから、Microsoft Durable Task/Durable Functions、Uber Cadence、Temporalへ続きます。近年はDBOS、Restate、Inngest等のcode-first製品が増え、AWSも2025年にLambda durable functionsを提供しました。製品名は増えても、再実行されるorchestratorと、再実行してよいactivityの境界を分ける課題は同じです。
| 基盤 | 論理実行を保つ方法 | 現行の重要制約 |
|---|---|---|
| Temporal | Event Historyをreplayし、activity結果を再利用 | 51,200 eventsまたは50MBでhard limit、10,240 eventsまたは10MBでwarning。Continue-As-Newで新しいRunへ世代交代 |
| Microsoft Durable Task | orchestration historyをreplayし、完了activityの結果を返す | orchestrator codeの決定性、external I/Oをactivityへ分離、instance/version適合が必要 |
| Lambda durable functions | step/waitのcheckpointをserviceが保存し、複数Lambda invocationを論理実行へ結ぶ | 1 invocationは通常のLambda timeout内。実行全体は最長約1年。公式文書に365日とAPI最大366日の表記差 |
| Step Functions Standard | state transitionと実行履歴をserviceが保持 | Standard/Expressでduration、delivery、history、pricingが異なる |
TemporalのContinue-As-Newは、同じWorkflow IDを保ちながら新しいRun IDと空のEvent Historyへ引き継ぐ操作です。大きいprompt、検索結果、生成物を履歴へ埋めず、外部objectの参照、版、digestを残します。
Lambda durable functionsでは、context.wait()が待機をcheckpointした後にinvocationを終え、待機中のcomputeを占有しません。execution nameは重複起動を避けるkeyとして使えます。ただしwait、checkpoint storage、history、external side effectが無料・自動で安全になるという意味ではありません。
Step Functionsはworkflow typeで保証を分けます。Standardのexactly-onceという説明にも、ASLで指定したRetryは別に作用します。Expressは非同期と同期で保証が異なります。製品の見出しだけでなく、開始、task、callback、外部APIのどの範囲に保証が及ぶかを読みます。
ワークフロー記述面とコネクタの現況
書籍第9章9.2・9.4は、記述面(手書きコード、宣言的状態機械、視覚的ローコード、コード内ワークフロー、エージェント型)とコネクタ接続仕様の原理だけを扱います。製品の顔ぶれ、コネクタ数、提供状態、料金は揮発するため本表では固定せず、一次資料の入口だけを記録します。コネクタの数は集計時点と数え方で変わるため数えません。接続仕様の設計観点(身元と委任、権限、入出力、時間、失敗、場所、変更)は書籍9.4の表を正とします。
- AWS Step Functions Workflow Studio: https://docs.aws.amazon.com/step-functions/latest/dg/workflow-studio-create.html
- Azure Logic Apps serverless overview: https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-serverless-overview
- Azure Logic Apps custom connectors: https://learn.microsoft.com/en-us/azure/logic-apps/custom-connector-overview
- Open Workflow Specification: https://open-workflow-specification.org/
- n8n: https://n8n.io/
- Dify: https://dify.ai/
一次資料
- Temporal Workflow Execution limits: https://docs.temporal.io/workflow-execution/limits
- Temporal Continue-As-New: https://docs.temporal.io/workflow-execution/continue-as-new
- Microsoft Durable orchestrations: https://learn.microsoft.com/en-us/azure/durable-task/common/durable-task-orchestrations
- Microsoft agentic durable patterns: https://learn.microsoft.com/en-us/azure/durable-task/sdks/durable-agents-patterns
- AWS Lambda durable functions: https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html
- AWS Lambda durable execution quotas: https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html
- AWS Step Functions workflow types: https://docs.aws.amazon.com/step-functions/latest/dg/choosing-workflow-type.html
- Temporal company history: https://temporal.io/about
記入用の雛形——ワークフロー境界表(空欄版)
書籍第9章9.6のワークフロー境界表を自分の業務で書き出すための空欄版です。段階ごとに複製して使います。
ワークフロー名・目的:
開始条件 / 完了条件 / 取消条件:
段階ID・名前:
次の一手を決める主体(規則 / コード / モデル / 人間):
入力参照 / 出力参照 / 対象ダイジェスト:
呼び出す実行面と統合面:
待機方式 / 期限 / 再開条件:
リトライ予算 / 打ち切り / 補償:
必要な身元・委任scope / 再認可条件:
冪等性キー / 作用記録:
版 / 変更時の既存実行の扱い:
観測する段階状態 / 人へ返す条件:
記入用の雛形——耐久フロー(空欄版)
書籍第10章10.4の耐久フロー図に、各境界の記録を書き添えるための空欄版です。段階ごとに複製して使います。
段階ID・名前:
開始条件:
履歴へ残すイベント:
アプリ状態の正本・参照・ダイジェスト:
外部作用:
冪等性キー・作用記録:
必要な委任scope・再認可条件:
承認対象・期限(必要な場合):
失敗時のリトライ予算・補償:
別環境で再開するための前提:
次の段階へ進む条件:
既知の未知
- Lambda durable functionsの実行全体上限は公式説明とAPI最大値に365日/366日の差があります。
- history上限、retention、pricing、region、SDK言語は変更されます。
- 各社の「exactly once」は外部side effectまで自動で一度きりにする保証ではありません。
- 系譜は一つの設計経路であり、全durable productの完全な年表ではありません。
変更履歴
- 0.10.0 (2026-08-07): 第9章9.2・9.4のワークフロー記述面とコネクタの現況の受け皿として、一次資料の入口(Workflow Studio、Logic Apps、Open Workflow Specification、n8n、Dify)を追加。PR #66のレビュー指摘(本文ポインタの受け皿の欠落)への対応。
- 0.9.1 (2026-08-03): 成果物の形式統一にともない、第9章9.6と第10章10.4の記入用雛形(空欄版)を本文から移設。
- 0.9.0 (2026-07-10): 旧系譜メモを、Temporal、Durable Task、Lambda durable、Step Functionsの現行制約と設計境界へ再構成。