サーバレス vs. PaaS アプリ開発プラットフォームを比較する「選択の基準」を理解する

「アプリケーション開発のクラウドプラットフォームとして、PaaSとサーバレスのどちらのサービスを選べばいいのか」という質問をよく聞く。両者の違いとメリットはどこにあるのだろうか。答えは「場合によりけり」だ。

2017年03月31日 12時00分 公開
[Twain TaylorTechTarget]
代表的なサーバレスプラットフォームであるAWS Lambda。インフラの管理から解放されコードを書くことに集中できる《クリックで拡大》

 社内のアプリケーションインフラの維持管理が煩わしいという理由でクラウドアプリケーション開発プラットフォームを利用しようとする場合、2つの選択肢で迷うことになるかもしれない。「Heroku」や「Cloud Foundry」のようなPaaS(Platform as a Service)方式か、「AWS(Amazon Web Services)Lambda」などのサーバレスプラットフォームのどちらを選ぶかということだ。両者の違いはどこにあるのだろうか。

基本コンピューティング要素:PaaSの場合、コンピューティングの基本要素はアプリケーションそれ自体だ。アプリケーションのインスタンスのプロビジョニングは必要だが、これらのインスタンスの管理はPaaSプラットフォームに任せればよい。AWS Lambdaの場合、運用の基本要素は機能あるいはタスクだ。アプリケーション開発者がインスタンスの動作を意識することはない。

タスクの実行期間:クラウドアプリケーション開発プラットフォームの分野では、タスクが実行中であるかどうかにかかわらずアプリケーションが長期間にわたって動作する場合には、PaaSが適している。AWS Lambdaは、タスク終了時のエンドポイントが決まっている短期的なタスクに適している。

必要なメタデータ:PaaSでは、作成したコードに加え、言語やフレームワーク、ランタイムなどの要件を指定するメタデータが必要になる。サーバレスプラットフォームでは、必要なメタデータは非常にシンプルだ。例えば、AWS Lambdaの場合、「IAM」(Identity and Access Management)ロール、要求メモリ、タイムアウト間隔を指定するだけでよい。クラウドアプリケーション開発プラットフォームとしてはサーバレスの方がシンプルだが、PaaSはインフラに対する自由度が高く、きめ細かなコントロールが可能なのが特徴だ。

RESTful API経由の公衆アクセス:PaaSアプリケーションのコードは、RESTエンドポイントまたはWebページを介してアクセスする。一方、AWS Lambdaは、信頼されたソースからしかアクセスできず、公衆インターネットからはアクセスできない。

価格モデル:PaaSでは、アプリケーションが使用するコンピューティングリソースまたはインスタンスに対して料金を支払う。AWS Lambdaの場合、アプリケーション内で実行した機能またはタスクに応じた料金しか発生しない。アプリケーションのワークロードが予測不能もしくは短期的であれば、大幅な節約になる。

結論

Copyright © ITmedia, Inc. All Rights Reserved.

ITmedia マーケティング新着記事

news132.jpg

ハロウィーンの口コミ数はエイプリルフールやバレンタインを超える マーケ視点で押さえておくべきことは?
ホットリンクは、SNSの投稿データから、ハロウィーンに関する口コミを調査した。

news103.jpg

なぜ料理の失敗写真がパッケージに? クノールが展開する「ジレニアル世代」向けキャンペーンの真意
調味料ブランドのKnorr(クノール)は季節限定のホリデーマーケティングキャンペーン「#E...

news160.jpg

業界トップランナーが語る「イベントDX」 リアルもオンラインも、もっと変われる
コロナ禍を経て、イベントの在り方は大きく変わった。データを駆使してイベントの体験価...