古いバージョンのブラウザーを使用しています。MSN を最適にご利用いただくために、サポートされているバージョンをご使用ください。

コレ1枚で分かる「サーバレスとFaaS」

ITmedia エンタープライズ のロゴ ITmedia エンタープライズ 2017/01/16
コレ1枚で分かる「サーバレスとFaaS」 © ITmedia エンタープライズ 提供 サーバレスとFaaS

 「サーバレス」とは、アプリケーションの実行に必要なサーバのセットアップと管理を気にせず開発できることを意味する言葉で、サーバを必要としないわけではありません。必要なサーバなどのインフラはクラウドに管理を任せ、データベース、メッセージング、認証など、開発に必要な機能がサービスとして提供されるのが一般的で、開発者はプログラミングに専念できるようになります。

 FaaS(Function as a Service)は、この仕組みをさらに進化させたものです。

・イベントドリブン方式でサービス(ある機能を実現するプログラム)のコードを書き、それを連携させるだけで、一連の業務処理を実行できる

・実行に必要なサーバは、このサービスが自動で割り当て、必要に応じてスケールしてくれる

・書いたコードはコンテナ上で実行し、終了されると即座に廃棄される

・コンテナの実行は100ms単位で計測され、使った分のサーバ使用料が課金されるため、一般のIaaSのように使う・使わないに関わらずサーバを立ち上げている時間に課金されるのと異なり、コスト削減が期待できる

 FaaSを使うのメリットは、コストの削減、スケーラビリティの確保、インフラの運用管理を不要にすることです。マイクロサービスとも相性が良く、それを実現する手段としても注目されています。

 AWSのLambda、GoogleのCloud Functions、MicrosoftのAzure Functions、オープンソースOpenWhiskを使ったIBMのサービスなどがあります。

 PaaS(Platform as a Service)との違いは、PaaSがリクエストごとにアプリケーション全体を起動・終了させる「リクエストリプライ方式」を、FaaSは必要なサービス毎に起動・終了させる「イベントドリンブン方式」を狙ったものであることです。

 そのため、FaaSであらゆるアプリケーションを作れるというわけではなく、ECサイトやマーケティングサイトのように負荷予測が難しく、ダイナミックな負荷の変動に対応しなければならないアプリケーションに向いているといえるでしょう。

ITmedia エンタープライズの関連記事

image beaconimage beaconimage beacon