サーバーレス 【serverless】 サーバーレスアーキテクチャ / サーバーレスコンピューティング
概要
サーバーレス(serverless)とは、ネットワーク上で運用するソフトウェアやサービスについて、これを実行する専用のサーバを用意せず、クラウド事業者が運用する出来合いのサーバ環境の一部を間借りして運用する方式。“serverless”(サーバ無しの)という名前だが本当にサーバ自体が存在しないわけではない。開発者がアプリケーションをネットワークに公開したい場合、通常は自前のサーバ設備を用意したり、サーバを貸与するホスティングサービスなどに申し込んで専用のソフトウェア実行環境の導入や初期設定を行い、アプリケーションを配備して実行を開始する。
一方、サーバーレス方式の場合、クラウド事業者に利用を申し込む所までは同じだが、サーバ環境は事業者側で既に運用されており、アプリケーションを構成するプログラムなどを送信するだけで即座に実行を開始することができる。
初期設定や管理、運用などはすべて事業者側が行ってくれるため、契約者は自前のアプリケーション開発に集中することができる。利用料金も従量課金制の場合が多く、配備したプログラムが実行される度に、外部からのリクエスト回数やCPU実行時間などに単価を乗じた金額が請求される。
性能や容量の割り当ても完全に動的に行われるため、利用がなければ費用もかからず、突然の利用増にも瞬時に自動で対応することができる。ただし、開発に用いるプログラミング言語やミドルウェア、APIなどは原則として事業者側に用意されているものしか利用できないため、サーバをゼロから自前で構築する場合に比べて自由度は低い。
サーバーレス方式のクラウドサービスには、開発したプログラムを関数単位で公開できる「FaaS」(Function-as-a-Service)と、アプリケーションが必要とする機能をAPIを通じて提供する「BaaS」(Backend-as-a-Service)がある。前者としては米アマゾンドットコム(Amazon.com)社の「AWS Lambda」や米マイクロソフト(Microsoft)社の「Azure Functions」、米グーグル(Google)社の「Google Cloud Functions」などが、後者としてはGoogle社の「Firebase」などがよく知られる。