AWS Lambdaの登場以降、各ベンダーで広がりを見せつつある「サーバレス」。最近では、データベースやコンテナにおいても、サーバレスという言葉が使われるようになってきており、その意味合いも少しずつ変わってきているのです。
この記事は、新野淳一氏のブログ「Publickey」の記事「「サーバレス/Serverless」はデータベースやコンテナへも広がってきた」を許可を得た上で転載、編集しています。
「サーバレスコンピューティング」や「サーバレスアーキテクチャ」といった言葉は、2014年に「AWS Lambda」が発表され、その後広く普及したことで一気に注目を浴びるようになりました。
現在ではAWS Lambdaだけでなく、Microsoft Azureの「Azure Functions」、Google Cloud Platformの「Google Cloud Functions」、IBM Cloudの「IBM Cloud Functions」など、主要なクラウドサービスの多くで、サーバレスコンピューティング環境が提供されています。
AWS Lambdaに代表されるサーバレスコンピューティング環境は、一般にユーザーがあらかじめ用意しておいた関数を、イベントをトリガーとして実行することで、何らかの処理を行う「Function as a Service(FaaS)」的なアプリケーション実行環境を指しています。
その特長として、イベントドリブンであるだけではなく、サーバのインスタンスをあらかじめプロビジョニングする必要なく実行でき、負荷に応じてインスタンス数がスケールするスケーラビリティを備えている、といったことが挙げられます。
すなわち、サーバインスタンスの管理や運用を意識する必要がないことが「サーバレス/Serverless」の特長といえます。
AWSが公開しているWebページ「サーバーレスコンピューティング(サーバー管理が不要なアプリケーション構築)」の「サーバーレスコンピューティングとは何ですか?」には、次のような説明があります。
サーバーレスコンピューティングにより、アプリケーションとサービスを構築して実行する際に、サーバーについて検討する必要がなくなります。サーバーレスアプリケーションでは、サーバーのプロビジョニング、スケーリング、および管理は必要ありません。
ただし、本当に管理が不要かどうかについては、議論が分かれるところかもしれません。ここでは「概念としてのサーバレスはそういうものだ」というところにとどめておきましょう。
Copyright © ITmedia, Inc. All Rights Reserved.