はじめに
皆さんこんにちは。2025年4月1日〜4月4日にかけて開催されているKubeCon + CloudNativeCon Europe 2025に参加するため、ロンドンに来ています。早いもので今日が最終日でした。4日間天候にも恵まれとても暖かい日々で過ごしやすかったです。
今回のイベントでは「Platform Engineering on Kubernetes」の著者であるMauricio Salatino氏ともお話をさせていただく機会があったこともあって、関連するDaprに関するセッションにも参加してきました。
Mauricioさんの登壇は別の機会にご紹介するとして、今回はDaprによるDurable Executionに関するセッションをご紹介します。
Failure Is Not an Option: Durable Execution + Dapr = 🚀
昨日にもご紹介した通り、Daprは主としてMiddleware Layerの抽象化を提供し、ベンダーに依存せずに各種サービスを利用できるようにする言ってみれば「開発者向けの」Platform Engineering ツール、ランタイムです。
そんなDaprですが2025年2月にリリースされたv1.15にてDapr WorkflowがGAになりました。
これにより、Durableなワークフローを簡単に実装することができます。 以下のような機能がすべて対応しています。
- Task Chain・・・直列処理
- Fan-in / Fan-out・・・・並列・集約処理
- Async APIs ・・・ 外部API呼び出し
- External system interaction ・・・・ 外部からの入力待ち
さらにもともとDaprは分散実行環境にも適したものとなっているため、ワークフロー実行処理(Workflow as a Code)とその中で実行するアクション部分を分離して実装できます。こうすることでワークフロー実行とアクションを疎結合にすることができます。
サポートしている開発言語も豊富です。Dapr Workflowは現時点ではPython、JavaScript、.NET、Java、Goがご利用いただけます。
もちろんそれぞれのアクション実行結果はDapr Componentでもある State Storeに格納されますので、エラー後の再実行なども比較的容易に実現できます。State StoreはDaprでサポートしているサービスであればどんなものでも利用可能というのも利点です。
自分で実装を考えると大変なところを概ねカバーしてくれる、しかもそのインフラやミドルウェアに関しても抽象化しているため、どこででも動かすことが容易。
まさに「開発者向け」の内容になっていると思います。 そして、これらのWorkflowを更にAI Agentでも活用でき、「AI Agentは別物」といったこともありません。(まだ開発言語的には制約はあるようです。)
ぜひ 皆さんもDapr を一度お試しいただければと思います。
最後に
今回ご紹介したDaprやAzure Kubernetes Serviceを利用したCloud Nativeなシステム開発などを弊社ではご支援させていただいています。興味のある方はぜひご連絡ください。
それでは。今回はここまで。 またの機会をご期待ください。