2015年03月31日 12時00分 UPDATE
特集/連載

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

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

[Chris Moyer,TechTarget]

 「クラウドコンピューティング」という用語は当初、コンピュータリソースやストレージ、ネットワークを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」をプレゼント。ぜひお申し込みください。


この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事

Loading

注目テーマ

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

news013.jpg

VRが創造する「あり得ない体験」で広告はもっと楽しくなれる
VRのマーケティング活用例を知る企画の後編。「非日常体験(シミュレーション)型」「イ...

news015.jpg

インターネットは信用できるのだろうか?
パーソナルデータのマーケティングへの利用を消費者はどう感じているか、ソーシャルログ...

news071.jpg

フィードフォース、セルフサービスでデータフィードの作成・管理が可能なプラットフォームを提供
フィードフォースは、データフィードの作成・管理・最適化を広告担当者自身で行うことの...