Vercelは、Workflowsで実行ごとの状態やキュー配信、出力の送出元を単一のリージョンにそろえる設定を公開しました。Workflows上でエージェントなどを動かす開発者にとって、状態やキュー配信、出力の置き場所を実行単位で選べるかどうかが変わります。
3行まとめ
- 何が発表されたか:Vercelは、Workflowsの各実行の状態・キュー配信・出力ストリームを単一のリージョンに保持する設定を発表しました。
- 仕組み・主な変化:既定では実行が開始したリージョン、指定すれば任意のリージョンが割り当てられ、その実行が終わるまで変わりません。
- 利用者への意味:既存のワークフローは移行やコード変更なしに次回の実行から適用されるとVercelは説明しています。
実行の状態・キュー配信・出力をまとめるホームリージョンの決まり方
ホームリージョンとして既定で使われるのは、その実行が開始したリージョンです。開始時に対象リージョンを選んだ場合は、選んだリージョンが状態・キュー配信・出力ストリームの置き場所になります。
一度決まったホームリージョンは、その実行が終わるまで変わりません。Workflows上に構築したエージェントでは処理の一巡が利用者の近くに留まる、というのがVercelの説明です。
同社が挙げる例では、シドニーの利用者に応答するエージェントがシドニーで実行され、進行状況を記録し、出力もシドニーから流されます。
このセクションの用語
- ホームリージョン
- Vercel Workflowsが、1回の実行の状態、キュー配信、出力ストリームをまとめて置く単一のリージョンを指す呼び方です。
利用開始に必要なWorkflow SDKの更新とregionオプション
利用を始めるには、Workflow SDKをworkflow@5.0.0-beta.33以降へ更新します。Vercelが示すコマンドはpnpm i workflow@betaで、これはWorkflow SDKの最新ベータ版を導入するものです。
実行を特定のリージョンに固定したい場合は、start()にregionオプションを渡す形です。公開されたコード例は{ region: 'sfo1' }を指定するもので、Vercelはこの指定によって実行のデータがsfo1に保存され、キューメッセージもそこから配信されると記しています。
コード例の全文は、発表元の公式ページに掲載されています。
Vercel公式チェンジログはこちらリージョン障害時のフェイルオーバーと既存ワークフローへの適用
リージョン単位の障害が起きている間は、ワークフローのトラフィックが最も近い次のリージョンへフェイルオーバーする、とVercelは述べています。
既存のワークフローについては、次回の実行でリージョン配置を受け取る形です。移行やコード変更は不要だと同社は説明しています。
このセクションの用語
- フェイルオーバー
- 障害が発生したときに、処理を別の系統や拠点へ切り替えて継続させる仕組みです。
trends編集部の一言
実行が開始したリージョンを既定にしつつ、必要ならstart()のregionで固定先を選べるという組み立ては、既定のまま様子を見る余地が残る点で扱いやすいと感じます。既存のワークフローが次回の実行からリージョン配置を受け取るため、まず実際の配置を確かめてから固定するかどうかを決める、という順序でも検討できそうです。
一方でSDKはworkflow@5.0.0-beta.33以降というベータ版が前提になるため、本番の実行へ広げる前に自分たちの利用形態で試す段階を挟む価値はあるでしょう。
References
- ^ Configure where run state lives in Vercel Workflows. https://vercel.com/changelog/configure-where-run-state-lives-in-vercel-workflows.
※本記事は上記の一次情報を基に編集しています。誤りや最新情報との差異がある場合はご連絡ください。
修正・削除・掲載などの依頼はこちらITやプログラミングに関するコラム
【Python】FastAPIで料金プラン見積もりシミュレーターを作ってみた
【Python】pandasとmatplotlibで在庫データのABC分析と構成比を可視化してみた
【Python】Flaskで社内FAQをカテゴリ検索できるWebアプリを作ってみた
【Python】argparseでJSON整形・構文検証・キー検索CLIを試してみた
【Python】NumPyとmatplotlibでモンテカルロ法による円周率推定と収束過程の可視化を試してみた
【Python】Playwrightでスクレイピングを試してみた
【CSS】notで複数の件を除外する方法
【Git】remote設定を変更する方法
【VBA】コメントアウトを設定する方法
x86とx64の違いを分かりやすく解説
ITやプログラミングに関するニュース
VercelがAI GatewayにSeedream 5.0 Proを追加、AI SDKのモデル指定で画像生成と編集が可能に
AWSがAmazon LocationのPlaces APIを強化、住所表記の指定と移動手段別の検索が可能に
VercelがトレースにTree・Waterfallビューを追加、ログ画面で処理の階層と所要時間を確認可能に
Googleがエージェント評価の再考を提唱、難易度を情報量で測るDiscovery Benchを解説
Google CloudがCloud Runサンドボックスを公開プレビューで提供、サービスヘルスは一般提供に
Google Cloud EMEAが英国金融の重要第三者に指定、イングランド銀行・PRA・FCAの直接監督下に
AWS DMS Schema ConversionがSQL Serverのオフライン変換に対応、ソースDBへ接続せずスキーマを変換可能に
EC2 G7インスタンスが米国東部(バージニア北部)で利用可能に、G6比でAI推論性能が最大4.6倍
SageMaker HyperPodが継続プロビジョニングでのAMIベース構成に対応、S3のスクリプト管理なしでSlurmクラスターを作成可能に
AWSがEMR on EKSでSparkトラブルシューティングエージェントに対応、失敗ジョブの原因分析を自然言語で依頼可能に
