Skip to content
Latchkey

Cloudflare Workers とは? エッジのサーバーレス

Cloudflare Workers は、世界中の Cloudflare エッジ拠点であなたのサーバーレスコードを実行し、非常に高速な起動でユーザーの近くで動作します。

Workers は Cloudflare のサーバーレスプラットフォームですが、単一のクラウドリージョンで動く代わりに、グローバルエッジネットワーク全体でコードを実行します。完全なコンテナではなく軽量な isolate モデルの上に構築されているため、Workers はほぼ瞬時に起動し、低レイテンシの API、ミドルウェア、エッジロジックに最適です。

isolate モデル

リクエストごとにコンテナを立ち上げる代わりに、Workers はプロセスを共有する V8 isolate 上で JavaScript と WebAssembly を実行します。これにより従来のサーバーレスの重い cold start を回避し、最も近いエッジからミリ秒単位で応答できます。

構築できるもの

  • エッジの API とマイクロサービス。
  • origin の前段に置く request と response のミドルウェア。
  • Workers Functions による Pages サイトのバックエンド。
  • エッジでのスケジュール実行 (cron) タスク。

Cloudflare のデータエコシステム

Workers は KV (key-value)、D1 (SQL)、R2 (object storage)、Durable Objects、queue に binding します。これにより、エッジのコードは遠い origin への往復なしで状態を保持しデータを保存でき、エッジで完全なアプリケーションを実現します。

トレードオフ

isolate モデルには、コンテナベースのサーバーレスとは異なる制限 (リクエストあたりの CPU 時間、任意のネイティブバイナリ不可) があります。それらの制限に収まるリクエスト駆動でレイテンシに敏感なロジックであれば、Workers は非常に高速かつ安価です。

CI/CD における役割

pipeline は Worker の bundle を build し、Wrangler CLI で deploy します。GitHub Actions は wrangler deploy を実行し、secret として保存されたスコープ付きの Cloudflare API トークンで認証します。テストと型チェックは CI の前段で走らせ、本番前に staging 環境へ deploy できます。

重要なポイント

  • Workers はエッジの V8 isolate でサーバーレスコードを実行し、cold start はほぼゼロです。
  • KV、D1、R2、queue に binding して、完全なエッジアプリケーションを構築できます。
  • pipeline は GitHub Actions から Wrangler CLI で deploy します。

関連ガイド