本文へジャンプします。

TOP
クラウド トップ>クラウドナビ>技術解説>仮想化の最終形態!?注目を集める「サーバーレスアーキテクチャ(FaaS)」のメリットとは

技術解説

仮想化の最終形態!?注目を集める「サーバーレスアーキテクチャ(FaaS)」のメリットとは

2018年11月9日


サーバーレスアーキテクチャ(FaaS)

オンプレミスからクラウドへの移行が進むことで、IaaSやPaaSよりもさらにインフラの管理を簡略化して柔軟なリソース確保を実現するサービスへのニーズが高まる中、課題を解決する選択肢として、「サーバーレスアーキテクチャ」(サーバーレスコンピューティングと呼ばれることも)が誕生しました。

これまでのクラウドサービスとの大きな違いは、「イベントドリブン(イベント駆動)」かつ「ステートレス(実行終了後破棄される)」という部分であり、IaaSやPaaSよりも大量の処理を柔軟かつ低料金で実行できるため、新しいアプリケーション構築環境として注目が集まっています。

本記事をご覧いただいた方向けに、おすすめの記事をまとめました。こちらもあわせてご確認ください。

サーバーレスとは「サーバーを使わない」のではなく「サーバーの存在を意識する必要がない」

WEB上のサービスやアプリケーションは、何らかのサーバー上で稼働しており、近年ではその運用基盤としてクラウドサービスが主流となっています。クラウドサービスは、物理的なサーバーやストレージを管理することなくコンピューティングリソースを利用できるのが大きな魅力です。

ただ「サーバーレス」といっても、サーバーを使わないのではなく、ユーザー開発やシステム運用を行う上でサーバーの構築や管理が不要であり、サーバーを意識する必要がないことを意味しています。

またクラウドサービスの特長としては、「必要なときに必要なだけリソースの調達が柔軟に行える」こともよく知られていますが、それでも一定数の仮想サーバーが起動している限り料金が発生してしまいます。サーバーの運用効率をさらに向上させるには、「必要なときだけサーバーを使えばよいのでは?」という考え方に行き着きます。

それが「サーバーレスアーキテクチャ」であり、サービスを常時起動状態にするのではなく、必要なときだけ必要な処理を実行する仕組みで、必要なとき=イベントの発生をトリガーとして、クラウドでは処理に必要なリソースがその都度、割り当てます。

このときに行われる処理は、細かく分けられた(「粒度を小さくする」と表現されます)関数であることから、サーバーレスアーキテクチャは「FaaS(Function as a Service)」とも呼ばれます。IaaSやPaaSなどと比較する際にはFaaSと表記されることが多いようです。

指定されたイベントトリガーの発火に応じて行われる非同期処理を行うことを、先に述べたように「イベントドリブン(event driven)」と呼び、これがサーバーレスアーキテクチャの最大の特長と言えるでしょう。

サーバーレスに注目が集まる理由とは?

2017年にガートナー社が発表した「先進テクノロジのハイプ・サイクル:2017年」では、今後10年にわたりデジタル・ビジネスを推進する3つのメガトレンドとして、「どこでも人工知能(AI)となる世界」「透過的なイマーシブ・エクスペリエンス(没入型の体験)」「デジタル・プラットフォーム」の3つのテーマを挙げています。そのデジタル・プラットフォームの一つとして、サーバーレスアーキテクチャが取り上げられました。

実際に先進的なサービスを次々に開発して市場に展開している日本国内の企業においても、サーバーレスアーキテクチャの採用が進んでいます。

では、サーバーレスアーキテクチャのメリットとはどのようなものなのでしょうか。

サーバーレスアーキテクチャのメリット

  • 関数を実行する際に必要なリソースが自動的に割り当てられるので、事前の性能見積もりや、設定する必要がない
  • 費用は使用したリソース量によって発生する従量制のため、過剰投資がなく、無駄がない
  • サーバーの物理的な管理はもちろん、各種設定なども必要ないので、ユーザーはプログラムの開発と管理に集中できる

メリットだけ見るといいことばかりのようですが、サーバーレスアーキテクチャにもデメリットがあります。

サーバーレスアーキテクチャのデメリット

  • 同時に実行できる処理や、決められた期間(例えば1秒間)内に実行できる処理に上限がある
  • イベントが複数同時に発生した場合、処理やレスポンスに遅延が生じる危険性がある
  • 設計やセキュリティなどの難易度が高い

サーバーレスアーキテクチャを採用する際には、メリットとデメリットの両方をよく確認しておく必要があります。

大手クラウド事業者が続々とサービス提供を開始

サーバーレスアーキテクチャの代表的なサービスとしては、Amazon Web Services(AWS)の「AWS Lambda」やGoogle Cloud Platform(GCP)の「Cloud Functions」が知られています。ニフクラでは、サーバーレスサービス「ニフクラスクリプト」を提供しています。

ニフクラスクリプトは、クラウド上にNode.js/Rubyで記述されたスクリプトを作成し、コントロールパネルやAPIからスクリプトの実行ができるサービスです。サーバーの構築や運用をすることなく、サーバーサイドで稼働するスクリプトが利用できます。

このように各クラウド事業がサービスを展開し注目を集めるサーバーレスアーキテクチャは、短時間で実行できて他データとの同期の必要がない処理には適していますが、大規模なバッチ処理には向かないと言われるなど、決して万能ではありません。

サーバーレスアーキテクチャに適した処理を見極めて、効果的に利用するポイントを把握することが重要です。

  • このエントリーをはてなブックマークに追加