サーバーレスアーキテクチャ
さーばーれす
意味
サーバーレス(Serverless)とは、開発者がサーバーの構築・管理・保守を意識することなく、プログラムコードの実行だけに集中できるようにしたクラウドコンピューティングの実行モデルのことである。 「サーバーがない」わけではなく、クラウド事業者(AWS、Google Cloudなど)がサーバーの管...
概要
開発者が「サーバー(インフラ)の管理」を一切意識せずに、プログラムのコードを書くだけでアプリケーションを動かせる仕組み。 「サーバーがない」わけではなく、クラウド事業者がサーバーの管理(OSの更新、負荷分散、スケーリングなど)を全て肩代わりしてくれるため、ユーザーからはサーバーが見えない(Less)という意味です。 AWS Lambda、Google Cloud Functionsなどが代表例。
メリット
- 管理不要(No Ops): サーバーが落ちた時に夜中に叩き起こされることがない。
- コスト削減(Pay per Use): プログラムが動いた時間(ミリ秒単位)だけ課金される。誰も使っていない夜間は0円。
- 自動スケール: アクセスが急増しても、クラウド側が勝手に処理能力を増やしてくれる。
デメリット
- コールドスタート: 久しぶりに動かすと、起動に数秒かかる場合がある。
- 制約: 実行できる時間に制限(15分など)があるため、長時間の重い処理には向かない。
- ベンダーロックイン: AWS向けに書いたコードはGoogleでは動きにくい。
FaaS
サーバーレスの中心となるのが「FaaS(Function as a Service)」という概念です。 「関数(機能)単位」でプログラムをデプロイできるため、マイクロサービスとの相性が抜群です。