cloudflare workersを学ぶ

nanahiryu
·

Honoについて色々調べたとき,そもそもHonoはcloudflare workersで軽量に動作するwebフレームワークとして開発されたと説明があった.せっかくなのでcloudflare workersについても簡単に調べたいと思う.

そもそもcloudflareとは

公式によると「インターネット上で運営されている最大のネットワークの一つ」らしい.

かつてクライアント⇄サーバー間のデータのやり取りを行うのが通常であったが,サーバとクライアント間の距離が離れていると通信速度が遅くなるという欠点があった.そこでCDNを利用してデータを配信することによって,ユーザのより近くからデータを配信することができ,高速にページを閲覧できるようになった.

このCDNの市場シェアの1位を誇っているのがcloudflareで,世界中にデータセンターを持っていること,高いセキュリティ性を有していることを強みとしている.

↓これも参考にした

cloudflare workersとは

ズバリ「エッジサーバでスクリプトを実行してくれるサーバーレスのサービス」らしい

初歩のサーバーレスから一応調べる

サーバーレスとは?

従来は自前でサーバを実行するための物理ハードを持つ必要があったが,現在ではそれに替わるサーバサイドのサービスが出てきている.自前のサーバを持たなくて良い,これがサーバーレス.

サーバーレスがわかったところで,何が偉いポイントなのだろか調べてみる.以下の記事がCDNとエッジサーバでのjs実行についてわかりやすく書かれていた.

従来のCDNは,静的なhtml,css,jsをユーザの近くから配信することでオリジンサーバへのアクセスの分散と高速なアクセスを実現するものだった.

近年のCDNではエッジサーバでアプリケーションを実行できるものが登場してきた.具体的にはNextjsのAPI Routesという機能があるが,近年ではEdge API Routesという機能が追加されて,エッジサーバで関数を実行できるようになった.(ちなみにこれはVercelのEdge Runtimeというエッジ環境で動作する)

ちなみにヘッダの書き換え,トークンの認証認可,デバイス判定,リダイレクトなどができたりするらしい

そして,このサービスの代表例がcloudflare workers.

特徴として挙げられるのは,

  • サーバレス環境で発生しがちな,長く間をあけてからアクセスするとレスポンスが遅くなるコールドスタートが発生しない

  • CPU runtimeの10ms制限

    • つまり,重い処理ができない

まとめ

cloudflare workersはエッジサーバでjsを実行できるサービスで,

  • コールドスタートが発生しない

  • メモリ,CPU runtimeの制限が非常に厳しく,軽量な処理のみが実行できる

ことを特徴としている