1-3 サーバーレスと Workers

店の仕事を任せる方法は一つではありません。社員に毎日いてもらう方法も、場所を間借りする方法も、必要なときだけ応援を呼ぶ方法もあります。
いま読んでいるこのサイト(Cloudflare Lab)は、いつ来るか分からないお客さんへ返事をします。でも、そのために一台の機械を見張り続ける運用は選びませんでした。
ここでは、人の働き方に置き換えて三つの違いを見ます。そのあと、Workers のマニュアルと、Cloudflare Lab の対応済みスタンプを確認します。
Learning goals
この節でできるようになること
- 常駐・間借り・呼び出しの違いを自分の言葉で説明できる
- Workers が必要なときに働く仕組みを説明できる
- 同じ大部屋でも仕事場が分かれる理由を説明できる
- Cloudflare Lab で対応済みスタンプが付く流れを話せる
1. 常駐社員・間借り・出張スタッフ(Server・VM・serverless)
Section titled “1. 常駐社員・間借り・出張スタッフ(Server・VM・serverless)”本社に社員を常駐させれば、店側で場所や道具を管理します。共同の建物でブースを借りれば、建物は共有しつつ仕事場を分けられます。
正式な仕組みでは、専用の Server(サーバー=常駐する仕事場)、VM や Container(間借りの区画)、serverless(呼び出し型) という実行方法があります。サーバーレスにも、裏側で動く機械はあります。
違うのは、使う側が機械の準備や台数調整を直接担う範囲です。Cloudflare Workers では、Cloudflare が実行場所の運用を担います。
常駐社員の方法では、店側が席や勤務の管理まで考えます。間借りでは建物を共有しても、自分の区画の準備は残ります。呼び出し型では、来客時の仕事を中心に決めます。

上から常駐、間借り、呼び出しの順です。下へ行くほど、利用者は建物そのものより仕事の内容へ集中します。
ここからは正式な名前で確認します。
つまり、サーバーレスは機械が無いのではなく、機械の世話をサービス側へ任せる考え方です。
2. 呼ばれた時だけ来る出張スタッフ(Workers)
Section titled “2. 呼ばれた時だけ来る出張スタッフ(Workers)”受付のベルが鳴ると、出張スタッフがやって来ます。用件を処理して返事を渡したら、その仕事はそこで終わります。
Cloudflare では、この仕組みを Workers と呼びます。Web ページを求める通信などの出来事をきっかけに、用意したコードが動きます。
実物では、お客さんの通信が Cloudflare の窓口へ届くと Worker が呼ばれます。利用者は、どの機械を起動するかを指定しません。
「必要なときだけ」は、データが自動で永久保存される意味ではありません。返事の後にも残したい記録は、目的に合う保存先へ置きます。スタッフの作業と、記録を保管する場所は別です。

ベルは、お客さんから用件が届いたことを表します。スタッフは用件に応じて働き、決まった席に座り続けてはいません。
つまり、Workers では「どの機械を持つか」より「来客時に何をするか」を書きます。
3. 大部屋の中の個別ブース(Isolate)
Section titled “3. 大部屋の中の個別ブース(Isolate)”出張スタッフが来るたびに建物を一棟建てていては、すぐに仕事を始められません。大部屋の中に仕切られたブースを用意すれば、場所を共有しながら仕事を分けられます。
Workers の実行環境では、この仕切られた単位を Isolate(アイソレート) と呼びます。同じ V8 の実行環境を使いながら、コードとメモリを分けます。
実物では、複数の Worker が軽い単位で分けて動きます。これは、隣の Worker と同じ作業机を共有するという意味ではありません。
一つの来客で使ったメモを、次の来客も必ず読めるとは考えません。用件ごとの情報は、その用件の中で扱います。共有したい情報には、後の章で学ぶ保存製品を使います。

外側の大部屋は共有され、内側のブースは分かれています。この作りが、仕事場を素早く用意する考え方につながります。
つまり、共有する部分と分ける部分を決め、軽く動かしています。
4. マニュアルの最小形(fetch handler)
Section titled “4. マニュアルの最小形(fetch handler)”スタッフには「お客さんが来たら」の章が必要です。用件を受け取り、何を返すかが一つ書かれていれば、最小のマニュアルになります。
Cloudflare では、この入口を fetch handler(お客さんが来たら、の章) と呼びます。受け取った Request に対して Response を返します。
次のコードは「来客があれば Hello World! と返す」マニュアルです。記号を読めなくても大丈夫です。
export default { async fetch(request, env, ctx) { return new Response('Hello World!'); },};fetch の部分が入口で、new Response が返事です。これだけでも、用件を受けて返事を作る流れが成立します。
request にはお客さんの用件が入ります。env には店が用意した接続先が入り、ctx は後仕事に使えます。この最小例は返事だけを作るため、三つをすべて使ってはいません。
つまり、Worker の最小形は「来客時の処理」と「返す答え」です。
5. Cloudflare Lab での使われ方
Section titled “5. Cloudflare Lab での使われ方”ここで紹介した Workers が、いま読んでいる Cloudflare Lab でどう使われているかを見ます。
Cloudflare Lab のスタッフは、パンフレット棚からページを取り出します。そして返事に「自分が対応した」というスタンプを押します。
受付スタッフがページの本文を毎回書くわけではありません。完成済みのパンフレットを棚から取り、必要な控えを加えます。役割を小さくすると、何を確かめるかも明確になります。
実物では、src/worker/index.ts の Worker が env.ASSETS.fetch(request) を呼びます。返ってきた内容へ x-clf-lab: 1 を加えて、お客さんへ返します。
もし棚に品がなければ、見つからないという返事もそのまま受け取ります。それでも対応済みスタンプは付きます。スタッフを通ったことと、品があったことは別の事実です。
x-clf-lab が「対応済み」スタンプです。ページが見えるだけでなく、この印を見れば自前 Worker を通ったことまで確認できます。
つまり、Cloudflare Lab では Worker が棚のページを受け取り、確認用の印を付けています。
返事の本文と、誰が対応したかの印を分けて観察できます。
この分け方が確認を助けます。
つまずきやすいところ
Section titled “つまずきやすいところ”この節のまとめ
Section titled “この節のまとめ”- サーバーレスにも機械はありますが、その世話は Cloudflare が担います。
- Workers は、用件が届いたときにマニュアルどおり働きます。
- Cloudflare Lab は返事へ対応済みの印を付けます。
この節で出てきた言葉を、つながりの順に並べると次のようになります。
図のラベル: 常駐社員 専用サーバー / 間借り VM・コンテナ / 出張スタッフ サーバーレス / Workers 呼ばれた時だけ動く / 個別ブース Isolate / お客さんが来たら fetch handler / 対応済みの印 x-clf-lab
次の節では、多くの Cloudflare 製品を四つの部署へ整理します。
この節のチェック
© 2026 osdse