サーバーレスとは、サーバーを自分で用意・管理しなくても、書いたコードをクラウド事業者の基盤に置くだけで実行できる仕組みです。サーバーがないわけではありません。OS の更新や台数の増減といった運用をクラウド側が引き受けるため、利用者が気にするのは「処理の中身」と「使った分の料金」だけになります。
サーバーレスとは:何ができるのか
中心にあるのは FaaS(Function as a Service)です。HTTP リクエスト、ファイルのアップロード、決まった時刻での実行といった「イベント」をきっかけに、関数が動きます。リクエストが増えると実行環境は自動で増え、来なくなるとゼロまで減ります。代表的なサービスは AWS Lambda と Cloudflare Workers で、Google Cloud や Microsoft Azure にも同じ種類のサービスがあります。
向いている用途は、API のバックエンド、画像変換のような非同期処理、Webhook の受け口、アクセスの増減が大きいキャンペーンサイトなどです。注意点もあります。しばらく使われていない関数は最初の応答が遅くなることがあり、これを「コールドスタート」と呼びます。また、1 回の実行時間やメモリには上限があります。上限の値はサービスごとに違うため、各社の公式ドキュメントで確認してください。
サーバーレスの使い方
基本の流れは「関数を書く → クラウドにデプロイする → 起動のきっかけ(トリガー)を設定する」の 3 段階です。関数には「ハンドラー」と呼ばれる入口が 1 つあり、イベントの内容を受け取って結果を返す形で書きます。主な言語は、Lambda なら Node.js や Python など、Workers なら JavaScript/TypeScript です。
最近は、既存の Web フレームワークをそのまま載せる方向にも広がっています。Publickey によると、AWS は「AWS Lambda Web Functions」を発表しました。Next.js や Hono などの Node.js フレームワークで作ったアプリケーションを、そのまま Lambda にデプロイして実行できるとされています。関数単位に書き直さずに既存アプリを移せるようにする狙いとみられます。対応するフレームワークの範囲は、本記事では確認できていません。
サーバーレスの料金
料金は使った量に応じて払う従量課金が一般的で、「リクエスト数」と「実行時間 × 割り当てメモリ」で決まります。常に動いているサーバーと違い、処理が走っていない時間には原則として料金がかかりません。そのため、利用が少ないシステムや、アクセスの増減が大きいシステムほど割安になりやすいのが特徴です。無料枠を用意しているサービスも多くあります。逆に、高い負荷がずっと続く処理では、常時稼働のサーバーより高くなることがあります。
単価や無料枠の量は事業者やリージョンによって異なり、改定もあるため、本記事では金額を挙げません。企画の段階では、想定するリクエスト数と処理時間をもとに、各社の料金計算ツールで試算するのが確実です。
誰が作っているのか:主要サービスと競合
市場の中心は、AWS(Lambda)、Google Cloud、Microsoft Azure の大手クラウドと、エッジ(利用者に近い拠点)でコードを動かす Cloudflare(Workers)です。
Cloudflare については、JavaScript/TypeScript の実行環境を手がける Deno を買収したと TechCrunch が報じました。目的は Workers のプログラミングモデルを改善することだとされています。買収額や、Deno のオープンソース版と既存サービスの今後は、当サイトが確認した範囲では分かっていません。
AWS の Web Functions とこの買収を合わせて見ると、「普段の開発スタイルのまま動かせる基盤」をめぐる競争が強まっている、というのが当サイトの見立て(推測)です。

