「サーバーレスアーキテクチャー」とは、常時稼働のサーバー(仮想マシン)を極力使わずにシステムを構築すること。特にパブリッククラウドを活用するユーザー企業の間で注目を集めるアーキテクチャーである。

 サーバーレスのシステムを構築する際には、大手クラウドベンダー各社の「イベント駆動型コード実行サービス」と呼ばれるサービスを利用することが多い。データの更新など、バックエンドで処理が必要な何らかのイベントが発生すると、クラウドベンダーの提供する基盤が起動し、ユーザーが事前に登録しておいたコードを実行する。

 イベント駆動型コード実行サービスの先駆けは、米Amazon Web Servicesの「AWS Lambda」。現在はAWS Lambdaに加えて、米Microsoftの「Azure Functions」、米IBMの「OpenWhisk」がある。米Googleもベータ版ながら「Cloud Functions」を展開している。Microsoftは、オンプレミス環境にパブリッククラウドと同等の環境を作る「Azure Stack」にも、Azure Functionsを提供する予定だ。

常時稼働では割高なシステムが増加

 サーバーレスアーキテクチャーが広がってきた背景は大きく二つある。(1)突発的に大量の処理が発生するシステムが増えてきた、(2)APIで扱いやすいクラウドのサービスが充実してきた、である(図1)。

図1●サーバーレスアーキテクチャーが登場した背景
図1●サーバーレスアーキテクチャーが登場した背景
[画像のクリックで拡大表示]

 まずは(1)の突発的に大量の処理が発生するシステムが増えてきた点について見てみよう。パブリッククラウドには、必要十分な仮想マシンのリソースを必要なときだけ利用するとコストを節約できるという特徴がある。ほとんどのシステムは処理負荷が一定ではないので、ピーク時とそれ以外で仮想マシンのリソースを増減させれば、利用時間に応じた課金体系を取るクラウドのコストを節約できるわけだ。

 ただし、仮想マシンを稼働させるシステムでこの恩恵を享受できる機会は限られる。いつピークになるかをある程度把握できる場合だ。クライアントからのリクエストがいつ、どれだけあるか分からないケースでは、仮想マシンを常時稼働させざるを得なくなる。突発的なアクセスに備えると、通常時はリソースの大部分を余らせてしまう。特に処理をしなくても稼働させている時間には、しっかり利用料金が発生する。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。