BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Cloudflareがスケーラブルでレジリエントなマルチステップアプリケーション構築のためのワークフローを発表

Cloudflareがスケーラブルでレジリエントなマルチステップアプリケーション構築のためのワークフローを発表

原文リンク(2024-11-01)

Cloudflareは、現在オープンベータ版となっているCloudflare Workersプラットフォーム上の耐久性のある実行エンジン「Workflows」を発表した。Workflowsを使用することで、開発者はネットワークの不安定さ、サーバーのダウンタイム、コードエラーなどの障害を乗り越えて持続可能なスケーラブルなマルチステップアプリケーションを作成でき、自動的な再試行や状態管理を手動のインフラ管理なしで実現できる。

Workflowsは今年初めに導入された。Workflowsは自動再試行により、プロセスが障害発生時点から再開されることが保証され、データ損失や運用遅延のリスクが軽減される。Workflowsの各ステップは独立して機能し、プロセス全体を通して状態が維持されるため、タスクはよりモジュール化され、障害はより抑制される。開発者にとっては、この独立性が細かなエラーハンドリングを可能にし、アプリケーション全体に影響を与えることなく、Workflowsの個々のコンポーネントを再実行または修正ができる。

開発者は、特定の条件が満たされたときにのみ実行されるステップを持つマルチステップアプリケーションを作成できる。これにより、不要なアクションを排除し、条件応じてタスクを実行する機能を提供することで、プロセスを効率化し、リソース効率を向上させ、各ステージで必要なプロセスのみを確実に実行できる。

Workflowsに関する同社のブログ記事の著者はこう記載されている。

すべてのWorkflowの基本的な構成要素は「ステップ」です。これは、アプリケーションの個別に再試行可能なコンポーネントであり、オプションでステートで発行できます。その状態は、後続のステップが失敗しても持続します。つまり、アプリケーションを再起動する必要がなく、障害シナリオからの回復がより迅速になるだけでなく、冗長な作業を避けることができます。

(出典:Cloudflareブログポスト)

Workflowsは独立した機能ではなく、Durable ObjectsやWorkers KV (Key-Value) ストレージのようなサービスを含む、Cloudflareのクラウドベースの開発者ツールの広範なスイートの一部である。これらの統合により、開発者はCloudflareのクラウドエコシステムを最大限に活用できる。例えば、Durable Objectsを使用してサーバーレス関数間でステートフルデータを維持したり、Workers KVを利用して迅速でグローバルに分散されたストレージにアクセスしたりすることが可能になる。

Cloudflareは、Workflowsを通じてより高度なユースケースをサポートすることを目指している。Cloudflareが想定しているWorkflowsのシナリオには、ファイル処理のためのバッチ処理、機械学習モデルを含むWorkflows、その他の計算集約型タスクなどがある。この機能は、大規模なデータパイプライン、オートメーション、リアルタイム処理を含むアプリケーションを構築しようとする企業や開発者に適している。

FountのCTO兼データサイエンティスト、Clayton King氏はこうツイートしている。

私はQueuesを使った経験から懐疑的でした(素晴らしい製品ですが、Vectorizeはローカルで実行できず、Queuesは開発環境でリモートで実行できないのが残念でした)。しかし、Workflowsは素晴らしいです。フロントエンドのキビキビ感を維持しながら、長時間実行するLLMジョブをオフロードするのに最適です。

Cloudflareの耐久性のあるワークフローだけがクラウドで提供されているわけではない。マイクロソフトも同様の機能を持つDurable Functionsを提供しており、AWSもStep Functionsを提供している。Simply BusinessのスタッフソフトウェアエンジニアであるAshley Peacock氏は、Step FunctionsはCloudflare Workflowsのようなものかという質問に対し、ツイートで次のように答えている。

私はStep Functionsをあまり使ったことがないが、IaCとグルーを使うことは少し手間がかかると思います。Workflowsは、バインディングがあるので、どんなサービスとも簡単に統合できます。Cloudflareが提供するDSL(ドメイン固有言語)で定義されているという点は非常に良いと思いますし、開発者体験(DX)もとても良いです。

他にも、Netlify FunctionsVercel FunctionsFastly Compute@Edgeなどがある。

最後に、WorkflowsはCloudflare Workersのように、アクティブなCPU時間とリクエストに対してのみCPUベースの価格設定を導入している。

作者について

この記事に星をつける

おすすめ度
スタイル

BT