サーバレスには、単純なデータ加工処理が求められるシステムが向いている
ITインフラを意識することなくプログラムを作成・実行できる技術の総称
サーバーレス(アーキテクチャ)とは、サーバやネットワークなどのITインフラを意識することなくプログラムを作成・実行できる技術の総称である。
ただし、サーバレスのシステムにサーバがないわけでなく、インフラの運用・管理をクラウドサービス事業者が担っている。
サーバレスを採用することで、サーバ環境の構築や管理にかかる手間を省けるため、運用負荷の軽減が可能になる。
また、オートスケーリングができるため、サーバの負荷が高くなった場合などにも、安定運用が容易になる。
サーバレスアーキテクチャが向いているのは、単純なデータ加工処理が求められるシステムである。
逆に、長時間かけてデータ処理が必要な複雑なシステム、レスポンス速度が速いことが求められるシステムには向いていない。
サーバレスの実現方法には、FaaSとBaaSの2つがある
サーバレスアーキテクチャを実現する方法は、大きく分けて、FaaS(Function as a Service)とBaaS(Backend as a Service)の2つに分類される。
FaaSとは、外部からのリクエストやイベントが発生したときにだけ、事前に登録したプログラムを実行する、AWS Lambdaなどのクラウドサービス基盤である。
多くの場合、プログラムを実行しない限りはコストが発生せず、プログラムの実行時間や実行数などによって課金される。
一方、BaaSとは、インフラの運用・管理をすべて外部として提供するクラウドサービス基盤である。
BaaSのベンダーは、ユーザー認証、データベース管理、リモート更新、クラウドストレージなど、サーバの運用・管理に向けたサービスを提供する。