にわかに脚光をあびるようになった「サーバレスアーキテクチャ」の基礎講座として、用語の定義やメリットを紹介する。AWS Lambda、Cloud Functions、Azure Functionsといったサービスを勉強したい人も注目したい。
ここ数年ほどの間で、「サーバレスアーキテクチャ」「サーバレス」というキーワードがにわかに脚光を浴びつつある。特にWebアプリケーション開発に携わる人々の間では早くから注目を集めており、既にサーバレスアーキテクチャを実際に採用して構築した企業システムの事例も出てきている状況だ。
一方で、キーワードとしてのサーバレスアーキテクチャは耳にしたことがあっても、その中身についてはまだきちんと把握できていないという方も多いかもしれない。そこで本稿ではまず、サーバレスアーキテクチャ、あるいはサーバレスといった用語の定義やそのメリットを紹介する。昨今話題の、AWS Lambda、Cloud Functions、Azure Functionsといったサービスについて勉強したいという人は参考にしたい。
「サーバレスアーキテクチャ」とは、その名の通り「サーバを管理する必要がない」システムやアーキテクチャのことを指すが、その定義はあいまいだ。
クラウドサービスの中でも、PaaSやそれに付随するOS、ミドルウェアなどの運用管理といったマネージドサービスを活用するシステム全般を指すこともあれば、さらに「FaaS(Function as a Service)」としてプログラムの連携機能技術を使ったシステムアーキテクチャを指す場合もある。以下では、サーバレスのうち前者を「広義のサーバレス」、後者を「狭義のサーバレス」に分けて説明する。従来のIaaSとの関係性などについても触れたい。
広義のサーバレスアーキテクチャとは、ユーザーが仮想サーバの存在を一切意識することなく、純粋にクラウドサービスの機能だけを直接呼び出すことで構築するシステム、もしくはそのシステムのアーキテクチャを指す。
例えば、近年OSやミドルウェアといったアプリケーションの実行環境を提供する「PaaS(Platform as a Service)」が普及してきている。データベースやアプリケーションサーバといったアプリケーションを実行するために必要な環境を、自前で仮想サーバを立ててOSやミドルウェアをインストール、設定するのではなく、クラウドのサービスとして調達して、互いに組み合わせることでシステム全体を構築する開発手法だ。
PaaSには併せてサーバ環境、OS、ミドルウェアなどのリカバリーやバックアップといった運用管理サービスが付随する場合も多い。同じクラウドサービスでも、ユーザーが仮想サーバを立ち上げてその設定や運用を行う必要がある「IaaS(Infrastructure as a Service)」と比較し、こうした「マネージドサービス」を含むPaaS全体を「サーバレス」と表現することもある。
Copyright © ITmedia, Inc. All Rights Reserved.
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。