そろそろGoogle App Engineでも触ってみるか

AmazonのEC2を触ってみたという記事を以前に書いた。

Amazonのサービスはサーバのインフラを貸し出すものであり、サーバのディスクイメージそのものを変更することが可能であるため、自由度が高い。しかしながら、自由度が高いだけ、サーバは様々な処理に対応しなければならず、コストの計算が困難である。よって時間あたりいくらでサーバのインフラを貸し出す料金体系を持つものと考えられる。

Google App Engine(GAE)も同じような発想のサービスを行っているが、これはEC2とは違い、アプリケーションの実行環境を提供するというごく限られたものだ。その環境は例えばPythonであったり、Javaであったりする。GAEの料金体系はCPU時間を使っただけに限られ、EC2のように明示的にサーバを起動・停止する必要が無い(と思われる)。EC2ではCPUに負荷を与えていなくても、サーバインフラを起動しているだけで課金されていく。

この考え方をSaaSに当てはめた言葉として、EC2をIaaS、GAEをPaaSと呼ぶような流れがある。SaaSとはサービスとしてソフトウェア(Webアプリケーション)を提供する意味を指し、例えばセールスフォースが有名である。SaaSはソフトウェアを多くのユーザに提供することによって、ソフトウェアの改善を行い、その利益を全てのユーザに還元するという向きである。

それに対してGAEのようなPaaSでは、SaaSのようなアプリケーションを実行する環境を与えることに着目しており、単一のプログラム実行環境に制限することで、細かな課金体系やチューニングを行うことに成功していると考えられる。GAEでは一定までの利用は無料であり、非常に使いやすい(EC2は少量の利用でも課金が必要)。

EC2のようなIaaSでは、その下部のレイヤーであるインフラ、むしろPaaSやSaaSなどを提供する基盤となるような捉え方もできる。このインフラは全ての作業に対応できるようなCPU、メモリ環境と取替えが聞くディスクイメージシステムの提供を行う。

この3つは下から順に、IaaS(インフラ)、PaaS(プラットフォーム)、SaaS(サービス)と着目点が異なる。企業体、もしくは個人として、どの部分のサービスの提供を受けることが自身にとって最も有益であるか検討を行う必要がある。もし要求しているものが、極めて標準的なものであり、他者(他社)と同等のものが欲しいという要求であればSaaSで十分である。もし特定のプログラムによって作りこみを行いたい要求があるのであればPaaSを選択することで安価に開発を行うことが可能である。それよりも大規模なシステム、例えば自身でSaaSやPaaSなどを提供したいという要求、もしくはPaaSで提供されないプラットフォームを利用したいという要求があるとすれば、IaaSからの構築が必要になってくる。

これらのプラットフォームを理解するためには、実際に利用してみることが近道のように見える。

という言い訳を並べて、GAEを使ってみるわけです。

カテゴリー: チラシの裏 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください