• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

サーバーレスの実力

サーバーレスにするとアプリ開発が大変に!?

山本 貴裕=アイレット 2017/07/12 日経SYSTEMS
出典:日経SYSTEMS 2017年5月号pp.75-77
(記事は執筆時の情報に基づいており、現在では異なる場合があります)
目次一覧

 サーバーレスアーキテクチャーの仕組みを、米Amazon Web Services(AWS)の「AWS Lambda」を例に説明していこう。サーバーレスアーキテクチャーの基盤は、何らかの処理が必要なイベントをきっかけに動き出す。例えば、ユーザーからのリクエストによってクラウドストレージに書き込みがあった場合などだ。

イベントごとにコンテナーが起動

 イベントが発生すると、AWSが管理する仮想サーバー群に、コンテナー(コード実行環境)が起動する(図2)。このコンテナーでコードを実行。処理が完了してから5分ほど経過すると、コンテナーを消し去る。ただし、コンテナーが消える前に再びイベントが発生したときは、同じコンテナーを再利用する。

図2●サーバーレスアーキテクチャーの動作の仕組み
米Amazon Web Services(AWS)の「AWS Lambda」の例。サーバーの処理が必要なイベントが発生すると、プログラム実行環境のコンテナーを動的に生成。処理が完了してから5分ほどでコンテナーを消し去る
[画像のクリックで拡大表示]

 つまり原則的には、処理が必要になるたびにコンテナーが起動し、処理が完了すると消し去る仕組みである。AWSが管理する仮想サーバー群のうち、どれにコンテナーが起動するのかも無作為に決まる。1回のやり取りで状態が初期化するステートレスな仕組みといえる。

 動作の仕組みとは別に、クラウドベンダーの提供形態の観点からもサーバーレスアーキテクチャーを整理しておこう。一般的なPaaSと比較すると分かりやすい。

 一般的なPaaSは、OSやミドルウエア、ランタイム(アプリケーションの実行環境)をクラウドベンダーが用意する。一方、サーバーレスアーキテクチャーのサービスではさらに関数を呼び出す機能もクラウドベンダーが用意する(図3)。

図3●PaaSとサーバーレスアーキテクチャーの提供範囲の違い
[画像のクリックで拡大表示]

 従って、アプリケーション開発のITエンジニアが実装すべき部分は、関数に限られる。関数の中で別に定義した関数や、同梱したライブラリを呼び出すことも可能だ。

 なお、サーバーレスアーキテクチャーを実現するクラウドサービスは、Function as a Service(FaaS)と呼ぶこともある。プログラムの主処理を関数ハンドラー(function handler)に書いて実行する仕組みに由来する呼び方である。

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る