徹底解説、サーバレスアーキテクチャの仕組みとメリット:IT導入完全ガイド(2/3 ページ)
にわかに脚光をあびるようになった「サーバレスアーキテクチャ」の基礎講座として、用語の定義やメリットを紹介する。AWS Lambda、Cloud Functions、Azure Functionsといったサービスを勉強したい人も注目したい。
狭義のサーバレスアーキテクチャとは
一方、「狭義のサーバレス」とは、ここ数年の間でにわかに注目を集めるようになった「FaaS(Function as a Service)」の技術を使ったシステムアーキテクチャのことを指す。AWS Lambda、Cloud Functions、Azure Functionsといったサービスが該当するといえば、ピンとくる人もいるだろう。
FaaSは、アプリケーションのプログラムの最小実行単位、つまり「ファンクション」をクラウド上で簡単に実装する仕組みだ。一般的なPaaSがアプリケーションの実行環境までを提供するのに対し、FaaSはそれに加えて「ファンクション」を呼び出し、連携する環境までを提供するというイメージである。
開発者は、プログラミングした個々のファンクションをクラウドのFaaSプラットフォーム上に登録する。その際、個々のファンクションが呼び出されて動くきっかけ、つまり「トリガー」を設定しておく。典型的なトリガーは、他のサービスが何らかの処理を行ったことをきっかけに発動される。このように、他サービスの実行など(イベント)をトリガーとして処理が発動する仕組みのことを一般に「イベントドリブン方式」や「イベント駆動型」と呼ぶ。例えば、データベースを更新するというイベントをトリガーに、FaaSに登録されたファンクションが起動し、メールの送信を行うといった具合だ。
従って、FaaSを利用する場合、ユーザーはサーバの用意はもちろん、アプリケーションの実行環境を整える必要もなく、FaaSプラットフォーム上に個々のプログラム(ファンクション)を登録するだけでいい。後はFaaSのプラットフォームが、あらかじめ設定したトリガーが発生したタイミングで自動的にファンクションを実行してくれる。
このFaaSの先駆けとなった製品が2015年に登場したAWS(Amazon Web Services)の「AWS Lambda」だ。またLambdaの成功を受け、他のクラウドベンダーも続々と同種のサービスを提供し始めている。
なお、実際にシステムを設計する際にはサーバレスアーキテクチャだけでシステム全体を設計・開発するケースは少なく、他のアーキテクチャと組み合わされることが多い。例えば、FaaSとIaaSを組み合わせる例としては、IaaSの仮想サーバ上で稼働するアプリケーションからトリガーを発動してFaaS上のファンクションを呼び出し、特定の処理を行うようなケースが該当する。
もちろん、サーバレスアーキテクチャだけでシステム全体を設計・構築することも可能で、実際にそうした先進的な事例も出てきてはいるが、現時点では数としてはさほど多くない。ではサーバレスアーキテクチャを採用することによって、ユーザーはどのようなメリットを享受できるのだろうか。以下では、IaaSと比較し、FaaSの代表的なメリットを幾つか挙げる。
Copyright © ITmedia, Inc. All Rights Reserved.