サーバレス(Functions as a Service)は、さまざまなイベントに応答する小さなコードとしてロジックを記述します。例:AWS Lambda、Azure Functions、Apache OpenWhiskに基づくIBM Cloud Functions、Google Cloud Functions、HuaweiのFunction StageおよびFunction Graph、Kubeless、iron.io、funktion、fission、nuclio。
サーバレスでは、開発者は、さまざまなトリガに応答するイベントドリブンな関数で構成されたアプリケーションに専念でき、残りの部分をプラットフォームが担当します。すなわち、トリガを関数につなげるロジック、ある関数から別の関数への情報の受け渡し、コンテナおよびランタイムの自動プロビジョニング(いつ、どこで、何を)、自動スケーリング、アイデンティティー管理などを実行します。
メリットとしては、クラウドネイティブなパラダイムでインフラストラクチャ管理の必要性が最も少ないことが挙げられます。操作やファイルシステム、ランタイム、コンテナ管理さえ考慮する必要はありません。 サーバレスでは、自動化されたスケーリング、エラスティックロードバランシング、最もきめ細かな「使っただけ課金(pay-as-you-go)」のコンピューティングモデルが利用できます。
短所には、包括的で安定したドキュメント、サンプル、ツール、ベストプラクティスの不足、デバッグがより困難、応答時間が遅くなる可能性、標準化やエコシステムの成熟度の欠如、プラットフォームロックインの可能性などがあります。
ターゲットオーディエンス
開発/運用エクスペリエンス
利点
欠点
今回掲載したセクションでは、サーバレスに関するホワイトペーパーではあるが、コンテナオーケストレーション、PaaSと横並びで、それぞれの長所、短所に言及している。
コンテナオーケストレーションツールの長所、短所については、Kubernetesとそのエコシステムを推進する役割も持っているCNCFの活動にもつながってくる。Kubernetesは、そのまま使う場合には運用負荷が高くとも、Kubernetesベースの商用製品は、利用者がインフラ的側面をあまり考えないで済むような進化を遂げる可能性がある。また、サーバレスについては、Kubernetes上で動くものが既に複数存在している。つまり、コンテナオーケストレーションは確かに抽象度が低いが、他の2つのクラウドネイティブプラットフォームの基盤としても使えるようになってくる。
連載第3回は、サーバレス、コンテナオーケストレーション、PaaSの使い分けについて解説した部分を掲載する。
Copyright © ITmedia, Inc. All Rights Reserved.