近年、よく聞くようになった言葉「サーバーレス」。
正確には「サーバーレスコンピューティング」と言いますが、BaaS (Backend-as-a-Service) と FaaS (Function-as-a-Service) の 2 つのグループに分類されます。
サーバーレスと聞くと、単純にサーバーが無いこと??と思ってしまいますが、そうではありません。
ざっくり言うと、
プログラムの実行環境のサーバーを自分たちで持ち、保守するのではなく、
AWS(Amazon Web Services)やGCP(Google Cloud Platform)といった、サーバーを自分たちで持たなくても、システムが構築できるサービスを使うことです。
BaaSとは「Backend as a Service」の略です。
ちなみに、同じBaaSでBanking as a Serviceという、金融系のサービスをモジュールで提供するサービスもありますが、
これとは意味が別なので注意。
で、「Backend as a Service」とは、Webアプリやモバイルアプリのバックエンド機能をアプリケーションサーバー側が代行するクラウドサービスです。
例えば、PUSH通知機能とか、使用状況の分析機能、アカウント管理機能みたいな機能をAPIやSDKを介して、使用できるようにする、みたいなサービスです。
一方、FaaSの方は、「Function-as-a-Service」。
ざっくり言うとプログラム関数をアップロードしたら実行できるサービスってな感じです。
例えば、AWSで言うとLambda。GCPでいうと、Google Cloud Functionsがそのようなサービスです。
以上、サーバーレスを3分で理解する説明でしたー