サーバーレス・コンピューティング

サーバーレス・コンピューティング（Serverless computing）とは、クラウド・プロバイダーがアプリケーションに必要なマシン・リソースの割り当てを動的に管理し、事前に購入されたことに基づく請求ではなく、各アプリケーション要求を満たすために使用される個々のリソース量に基づいた請求を行うようなクラウド・コンピューティングの実行モデルである。

ユーティリティ・コンピューティングの一形態である。

物理サーバーがアプリケーション・コードを提供するユーザーの視点から完全に抽象化されているため、「サーバーレス・コンピューティング」という名前が使用される。

サーバーレス・コードは、マイクロサービスなど従来のサーバー・スタイルで書かれたコードと組み合わせて使用できる。 たとえば、Webアプリケーションの一部をマイクロ・サービスとして記述し、別の部分をサーバーレス・コードとして記述することができる。 あるいは、プロビジョニングされたサーバーをまったく使用せず、完全にサーバーレスであるアプリケーションを作成することもできる。

サーバーレス・ランタイム
ほとんどのサーバーレス・ベンダーは、アプリケーション・ロジックを実行するがデータを格納しないサービスFunctions as a service(FaaS)プラットフォームとして機能するコンピューティング・ランタイムを提供している。

2008年、GoogleはGoogle App Engineをリリースした。 App EngineはカスタムPythonフレームワークを使用したアプリケーション課金を行っていたが、任意のコードを実行できるわけではなかった。

2014年11月にAmazonによって導入されたAWS Lambdaは、抽象的なサーバーレス・コンピューティング・サービスを提供する最初の主要プロバイダーであった。 AWS Lambdaのリリース初期はNode.jsのみをサポートしていた。

サーバーレス・データベース
これまでにいくつかのサーバーレス・データベースがリリースされた。これらのシステムは、サーバーレス実行モデルをRDBMSに拡張し、物理的な(または仮想化された)データベース・ハードウェアをプロビジョニングまたはスケーリングする必要はなくなる。

Azure Data Lakeは、Microsoft社が提供する拡張性の高いデータ・ストレージおよび分析サービス。 このサービスはMicrosoftのパブリック・クラウドAzureでホストされている。Azure Data Lake Analyticsは、リソースを動的に割り当てまたは解除できる分散インフラストラクチャを提供しているため、顧客は使用するサービスのみを支払うことになる。

Google Cloud DatastoreはGoogle社が提供する結果整合性ドキュメント・ストア。Google App Engineのデータベース・コンポーネントをスタンドアロン・サービスとして提供する。また、Googleが所有するFirebaseには、階層型データベースが含まれており、固定およびpay-as-you-goプランで利用できる。

FaunaDBは、Fauna社が提供するTwitter由来の技術に基づいたグローバル分散トランザクション・データベース。pay-as-you-go価格で複数のパブリック・クラウド・プロバイダーにまたがっており、オンプレミスでも利用可能。

参考文献 

クラウドコンピューティング