「サーバーレス」とは、その名のとおり、サーバーを意識せずにシステムを構築・運用することを指します。
Webサイトやスマホアプリ・WebメールやCRMなどの業務システムまで、インターネット上にあるシステムはすべてサーバー上で稼働しています。
これらのシステムはいつでも利用ができるように、24時間365日常に稼働していることが前提条件です。そのため、システムを支えるサーバーもいかに稼働し続けられるか、に重点を置いた設計であることがほとんどです。
しかし、近年注目されているビッグデータ分析では、常にサーバーが必要なわけではなく、大量のサーバーリソースを、短時間で集中的に利用するケースがほとんどです。
そのため、システムを利用していない時間帯のサーバーの稼働は、逆に無駄なコストとなってしまいます。
この問題を解決するのが「サーバーレス」の考え方です。
サーバーレスの考え方を採用したシステムをサーバーレス・アーキテクチャといいます。
以下で、データ分析をクラウドサーバーとレンタルサーバー、そしてサーバーレス・アーキテクチャで構築・運用した場合のメリット・デメリットを比較します。
サーバーレス | クラウドサーバー | レンタルサーバー | |
---|---|---|---|
課金形態 | システムの実行時間での課金 | サーバーの稼働時間での課金 | 月額定額料金 |
管理範囲 | システムのみ | サーバー環境からすべて | ミドルウェアからすべて |
処理対象 | ストリームデータ | 保存データ | 保存データ |
柔軟性 | オートスケール対応 | 柔軟性は高いが個別設定が必要 | あまりない |
サーバーレスは、効率的にサーバーを運用できるだけでなく、OSやネットワーク・ミドルウェア環境をマネージドで利用できることが特長です。
具体的には、ファンクション(Fanctions)と呼ばれるトリガーをきっかけに、特定の条件を満たすとCPU/メモリ/ストレージなどのリソースがシステムに割り当てられ、事前に設定されたプログラムを実行し、終了後リソースを開放するという動きをします。
ファンクションをトリガーにプログラムが動作することから、サーバーレスを採用したシステム群をFaaS(Function as a Service)とも呼びます。