開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

関連ジャンル

  • 会員限定
  • 2016/08/09

急速に普及する「サーバレス」、PaaSとは何が違うのか?

Amazon、Google、IBM、マイクロソフトが相次いで発表し、急速に普及し始めている「サーバレス」アーキテクチャ。しかし、明確な定義があいまいな面があります。ここでは「サーバレスとは何か」「PaaSとサーバレスは何が違うのか」について、マーチン・ファウラー氏のブログに投稿された記事を引用して紹介しましょう。

Publickey 新野淳一

Publickey 新野淳一

ITジャーナリスト/Publickeyブロガー。大学でUNIXを学び、株式会社アスキーに入社。データベースのテクニカルサポート、月刊アスキーNT編集部 副編集長などを経て1998年退社、フリーランスライターに。2000年、株式会社アットマーク・アイティ設立に参画、オンラインメディア部門の役員として2007年にIPOを実現、2008年に退社。再びフリーランスとして独立し、2009年にブログメディアPublickeyを開始。現在に至る。

 サーバレスアーキテクチャは、クラウドに対応したアプリケーション開発においてホットな話題の1つと言えます。

 その発端はAmazonクラウドがAWS Lambdaを発表したことですが、その後Googleが「Google Cloud Functions」を、IBMが「OpenWhisk」を、マイクロソフトが「Azure Functions」を相次いで発表し、主要なクラウドにおけるサーバレス環境が一気に整いつつあります。

photo
Serverless Architectures

 しかしサーバレスはAWS Lambdaなどの実装が先行したことなどから、明確な定義があいまいなまま普及が始まろうとしている面があります。

 こうした状況を整理し、何がサーバレスなのか、PaaSと何が違うのか、といった解説が、マーチン・ファウラー氏のブログMartinFolwer.comに投稿された記事「Serverless Architectures」で行われています(記事の著者はMike Roberts氏)。

 全文は非常に長く、例も含めて詳細に解説していますが、ここでは「サーバレスとは何か」「PaaSとサーバレスは何が違うのか」というポイントを引用して紹介しましょう。

サーバレスの定義

 まずはサーバレスの定義について。記事ではサーバレスにはBaaS的なものとFaaS的なものの2種類があるとしています。

Serverless was first used to describe applications that significantly or fully depend on 3rd party applications / services (‘in the cloud’) to manage server-side logic and state. These are typically ‘rich client’ applications (think single page web apps, or mobile apps) that use the vast ecosystem of cloud accessible databases (like Parse, Firebase), authentication services (Auth0, AWS Cognito), etc. These types of services have been previously described as ‘(Mobile) Backend as a Service’, and I’ll be using ‘BaaS’ as a shorthand in the rest of this article.

サーバレスは当初、サードパーティの(クラウドの中の)アプリケーションやサービスにサーバサイドのロジックやステートの大部分もしくは全部の管理を依存するアプリケーションを表すのに使われた。典型的なものとして“リッチクライアント”アプリケーション(シングルページWebアプリやモバイルアプリなどを思い浮かべてほしい)で、クラウドでアクセス可能なデータベース(ParseやFirebaseなど)、認証サービス(Auth0、AWS Cognitなど)、などを利用するものがある。こうしたサービス群はかつて“(モバイル)バックエンドサービス”と呼ばれており、この記事では以後“BaaS”と書くことにする。

Serverless can also mean applications where some amount of server-side logic is still written by the application developer but unlike traditional architectures is run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a 3rd party. (Thanks to ThoughtWorks for their definition in their most recent Tech Radar.) One way to think of this is ‘Functions as a service / FaaS’ . AWS Lambda is one of the most popular implementations of FaaS at present, but there are others. I’ll be using ‘FaaS’ as a shorthand for this meaning of Serverless throughout the rest of this article.

サーバレスとはまた、いくつかのサーバサイドロジックがアプリケーションデベロッパーによって書かれるものの、伝統的なアーキテクチャとは異なり、イベントでトリガーがかかるステートレスなコンテナ上で実行される短命(おおむね一回の呼び出しごと)かつサードパーティによるフルマネージドなもの、という意味もある。
(最新のTech Radarで定義したThoughtWorksによると)その1つは“Function as a service / FaaS”だと考えられる。現時点でAWS LambdaはFaaSのもっともポピュラーな実装だが、ほかにもある。この記事では以後、この意味でのサーバレスは“FaaS”と記述する。

 現在サーバレスとして話題になっているのは、後者のFaaSですね。元記事でもFaaSを中心に解説が進んでいます。

この続きは会員限定です

ここから先は「ビジネス+IT」の会員の方(登録は無料)のみ、ご利用いただけます。

今すぐビジネス+IT会員にご登録ください。

すべて無料!ビジネスやITに役立つメリット満載!

  • 1

    インタビューから事例記事まで、ここでしか読めない1万本超の記事が無料で閲覧可能

  • 2

    導入事例資料や技術資料、デモ動画などを無料でダウンロード・閲覧可能

  • 3

    年間1,000本以上、会員限定のスペシャルセミナーにご招待

  • 4

    ビジネス+IT編集部が必読記事を、メールマガジンでお知らせ!

サーバ ジャンルのセミナー

サーバ ジャンルのトピックス

サーバ ジャンルのIT導入支援情報

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!