特集
» 2018年01月29日 10時00分 公開

IT導入完全ガイド:サーバレスアーキテクチャ比較、Lambda、Cloud Functions、Azure Functionsのどれを選ぶ? (3/3)

[吉村哲樹,オフィスティーワイ]
前のページへ 1|2|3       

既存システムに機能を追加する場合

 先に述べたように、FaaSを介してクラウドサービスを多段階に渡って配置するような大規模システムの設計には、それなりのノウハウが必要になる。しかし裏を返せば、シンプルな構成のシステムであれば、特別なノウハウがなくとも容易にサーバレスアーキテクチャのメリットを享受できる。

 よく見られるのが、既存のシステムに新たな機能をアドオンとして追加する際に、サーバレスアーキテクチャを採用するというケースだ。通常であれば、追加機能のプログラムを動かすためだけに新たにサーバを用意するなど、システムの大規模改修が必要だが、サービスが疎結合でつながるサーバレスアーキテクチャであれば、FaaSをハブに追加機能をひも付けられるため、最小限の投資で済む利点がある。

 ただしこうしたケースでは、既存システムの運用スキームに加え、新たにサーバレスアーキテクチャのアドオンプログラムの可用性を確保するための手間やコストが発生する点に注意が必要だ。

AWS Lambdaを使ったビデオ・オン・デマンドシステムの新規構築

 サーバレスアーキテクチャを全面採用した大規模システムの国内事例は、まだ数は少ないものの、徐々に出始めている。例えば毎日放送のビデオ・オン・デマンドサービス「MBS動画イズム444」のシステムでは、AWS Lambdaを採用した多段構造のサーバレスアーキテクチャが採用されている。

 このシステムを新たに構築するに当たっては、なるべく運用コストを抑えること、そして3カ月という短い期間でサービスを立ち上げる必要があった。そこでアイレットが採用したのが、AWS Lambdaによるサーバレスアーキテクチャだった。前述したように、FaaSは、任意のクラウドサービスが提供するサービスだけでなく、API連携によってマルチクラウドのサービス間を結ぶハブのような役割を演じることができる。このケースでも、S3や「Amazon CloudFront」「AWS WAF」、Cognito、「Amazon Simple Queue Service(SQS)」といったさまざまなAWSサービスをAWS Lambdaを介して連携させると共に、サイボウズが提供するデータベースアプリケーション「kintone」もAPIを介して連携させることで、低コストかつ短期間で動画配信システムを新規構築したという。

「MBS動画イズム444」の仕組み 図2 「MBS動画イズム444」の仕組み(出典:アイレット)

スマホアプリのバックエンドを支えるGoogle App Engine

 大規模システムにおけるサーバレスアーキテクチャ採用という点においては、FaaSではないものの、Google App Engine(App Engine)を使った事例が国内でも数多く存在する。FaaSである同社の「Cloud Functions」がプログラム最小単位である「ファンクション」を提供するのに対し、App Engineはプラットフォーム上でWebアプリケーションを提供するイメージだ。「ファンクション」という一機能だけでなく、「アプリケーション」全体の基盤になる点、そしてより多くのプログラミング言語に対応している点はApp Engineの優位点になる。そうした意味で違いはあるが、「サーバを意識せずに済むマネージドサービスである」「負荷が増えた際に自動でスケールする」といった特徴を持つことから広義のサーバレスと考えることができる。

 App Engineを使って構築している例としては、任天堂が提供するスマホゲームのバックエンドシステムが挙げられる。もともと同社のオンラインゲームのバックエンドシステムはオンプレミスで運用されていたものの、膨大な量のトラフィックをさばく必要があるため、運用負荷の低減を狙ってGoogle App Engineによるサーバレスアーキテクチャを採用。わずか半年の間に一からシステムを構築する必要があったが、期限内にシステムを完成させた。運用負荷は運用負荷が大幅に削減、ゲーム配信開始後の4日間で4000万ダウンロードという膨大な量のトラフィックを安定的にさばくことができたという。

スマホゲームシステムの仕組み 図3 スマホゲームシステムの仕組み(出典:Google Cloud Japan 公式ブログ)

 熱い視線を集める「サーバレスアーキテクチャ」に関し、導入を検討する際に留意すべきポイントや、各社のサービス、導入効果が表れやすいユースケースなどを紹介した。まずは、自社にサーバレスアーキテクチャ自体が合っているか、目的として何をしたいのかを第一に検討したい。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

ホワイトペーパーや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。