「IaaSのAWSはもう古い」、PaaS進出で何が変わる?「AWS Lambda」「Amazon EC2 Container Service」から分かること

AWSのIaaS導入は始まりにすぎなかった。「AWS Lambda」や「Amazon EC2 Container Service」のようなサービスが、IaaSとPaaSを次のレベルに引き上げた。

2015年03月31日 12時00分 公開
[Chris MoyerTechTarget]

 「クラウドコンピューティング」という用語は当初、コンピュータリソースやストレージ、ネットワークをAPIや自動化されたスクリプトを使って自動的にプロビジョニングする方法を指していた。だが米Amazon Web Services(Amazon)がIaaS(Infrastructure as a Service)を設計すると、ITチームは開発ではなく製品に専念できる手段として、同サービスに目を向けた。Amazonのアイデアは正しかったが、IaaSとPaaSの取り組みはまだ始まったばかりだった。

クラウド ナビ


 PaaS(Platform as a Service)は、新機能を非常に短い開発サイクルで提供しながら、開発の簡易化と迅速化を実現するチャンスをもたらした。これでアプリケーションを手早く公開して管理する手段が提供される。だが問題がないわけではなかった。

 最初のPaaSである「Google App Engine」にはある程度限界があった。サポートしていたのはPythonのみで、フレームワークも限られていた。他の選択肢も浮上し始めていたが、それでも対応する言語は限られていて、大部分はWebアプリケーションのみをサポートしていた。スケーリングは自動的に行われ、サーバを増強することもできたが、スケーリングをいつ実行するかは開発者が決める必要があった。基盤となるハードウェアにはコントロールが及ばないことも多かった。

 だが、バックグラウンドアプリを稼働させておく必要があったり、特定のアプリのインストールを必要としたりするサービスはどうだろうか。Web上でユーザーが入力した内容に直接反応できるソフトウェアがなく、代わりにイベントに反応して、バックグラウンドで何かを実行しなければならないとしたら? ITチームがWebフックのようなものを設定してそれに投稿することも可能かもしれないが、それでもまだ、使っていないときでもバックグラウンドで稼働する何かが必要だ。

コンテナは新たなIaaSか

 「Docker」のようにホストシステムの上に仮想化レイヤーを重ねるアプローチが登場すると、幾つかの企業はサーバオーケストレーションに目を向けた。Dockerでは開発者がコンテナを作成してローカルシステムから「Amazon Web Services」(AWS)に至るまでどこにでも展開でき、全く同じ設定の維持が保証されている。コンテナは「Dockerfile」スクリプトによって構築され、このおかげで新しいリリースを配信する必要が生じた場合、あるいはテストや開発用に、ITチームが新しいコンテナを手早く構築できる。

 Dockerでは開発者が具体的にどのような環境を構築するかを簡単に定義できる。それでもITチームは基盤として必要とするパッケージを全て指定して、サーバを管理する必要があった。従ってDockerは正確にはPaaSではない。しかしクラウドベンダーはこれを、PaaSモデルのための優れたベースラインとして認識するようになった。

 「Amazon Elastic Beanstalk」がDockerに対応すると、開発者はホスト環境のコントロールを取り戻したが、自動スケーリングとデプロイは依然としてAmazonが管理していた。これは両方の最善の部分を組み合せたものであり、全ての開発者と運用担当者を満足させる完璧な方法だった。

 加えて、AWSとDockerを使って自動的にスケーリングされるバックエンドアプリケーションを実行することもできる。さらには複数のコンテナを少ないサーバで実行しながら、Dockerによって追加された仮想化のおかげで完全な孤立状態を保つことが可能だ。

AWS LambdaでPaaSを次のレベルに

 Amazonは「AWS Lambda」の導入でPaaSの進化をもう1段推し進めた。AWS Lambdaは真のPaaSのように見えるが、ユーザーはイベントベースのアプリケーションモデルとの連係に優れた“トリガー”を設定できる。現在はNode.jsをサポートしているが(さらに多くの言語対応が加わる予定)、イベントに対応するためにITチームがベースシステムを実行する必要はない。Lambdaは完全にイベント対応中心の設計になっている。従ってITチームはハードウェアを管理せずに済む。

 例えば、自社のシステムにユーザーのビデオをアップロードさせる場合、Lambdaではその機能を実行する「Amazon Simple Storage Service」(Amazon S3)の通知によって新しいビデオを認識できる。続いてそのビデオが「Amazon Elastic Transcoder」にアップロードされ、モバイルおよびデスクトップ用の形式に変換されてWebサイトにアップロードされる。「Amazon Simple Notification Service」(Amazon SNS)を利用して、そのプロバイダーがアップロードする新しいビデオを待っている相手にSMSアラートを配信することもできる。

 では、AWS Lambdaが真のPaaSなら、Elastic BeanstalkやAWSの新しい「Amazon EC2 Container Service」はどのような位置付けなのか。

 Elastic Beanstalk、EC2 Container Serviceとも、ある程度のPaaS機能を備え、需要の増大に応じて自動的にサービスを増強できる。また、統合型のコードデプロイにも対応し、サーバの種類や基盤ソフトウェアパッケージ、希望するアプリケーション環境の指定など、かなりのIaaS機能も備える。EC2 Container Serviceではさらに、Web以外のアプリケーションなど下位レベルのアプリケーションのサポートも加わる。

 だが実際には、Elastic BeanstalkとEC2 Container ServiceはPaaSよりもIaaSに近い。いずれも十分な予備能力を備えているため企業にとっては完全にPaaSに切り替えるよりも優れた選択肢となる。柔軟性は最も高く、ベンダーによる囲い込みは最低限で済む。EC2 Container ServiceはPaaSとIaaSの両方でありながら、全てがクラウドだ。

「Chromebook」が当たる! 無料のオンラインセミナー受講受付中

Dell Chromebook 11

TechTargetジャパンは2015年4月17日、低価格なクライアントPCとして昨今注目を集める「Chromebook」のビジネス利用に関するLIVEオンラインセミナーを開催します。TechTargetジャパン会員であれば、無料で受講できます。LIVEオンラインセミナーを受講いただいた方の中から抽選で1名の方に、「Dell Chromebook 11」をプレゼント。ぜひお申し込みください。


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

news112.jpg

「インクルーシブマーケティング」実践のポイントは? ネオマーケティングが支援サービスを提供
ネオマーケティングは、インクルーシブマーケティングの実践に向けたサービスを開始した...

news135.jpg

Xが新規アカウントに課金するとユーザーはどれほど影響を受ける? そしてそれは本当にbot対策になるのか?
Xが新規利用者を対象に、課金制を導入する方針を表明した。botの排除が目的だというが、...

news095.jpg

Googleの次世代AIモデル「Gemini 1.5」を統合 コカ・コーラやロレアルにも信頼される「WPP Open」とは?
世界最大級の広告会社であるWPPはGoogle Cloudと協業を開始した。キャンペーンの最適化、...