Google App EngineとCompute Engineの比較、どちらを選ぶべきか?

Google App Engine (GAE)とGoogle Compute Engine (GCE)は、どちらもアプリケーションのデプロイに使用され、中小企業や大企業で同様に人気があります。Google App Engineは、デプロイを容易にするPlatform as a Service(PaaS)ソリューションである。一方、Google Compute Engineは、Infrastructure as a Service(IaaS)ツールである。ここで問題となるのは、どちらを選ぶべきか、そしてその理由は何ですか。
PaaSは、カスタムアプリケーションを構築するためのフレームワークを開発者に提供するクラウドベースのプラットフォームサービスを指します。したがって、PaaSはインターネット上でソフトウェアを配信するのではなく、インターネット上で配信されるソフトウェアを作成するために、さまざまな開発者がアクセスできるプラットフォームを提供するものである。
IaaSクラウドベースのインフラストラクチャーリソースは、仮想化技術により、サーバー、ネットワーク、データストレージ、オペレーティングシステムの構築と管理を支援し、組織に提供されます。IaaSを利用するお客様は、データインフラをオンサイトで物理的に管理することなく、自分たちでコントロールすることができます。

Google App Engineの概要

PaaSソリューションでもあるGoogle App Engineは、コードをデプロイするだけで、プラットフォームがすべてを自動化します。GAEは完全にスケーラブルで、アプリケーションのトラフィックが高くなれば、より多くのインスタンスを自動的に取得することができます。GAEは大小さまざまな組織で利用されていますが、すべてを自動化できるため、より大企業や組織に向いていると言えます。

Google App Engineの長所と短所

Google App Engineの長所は。
  • トラフィックの少ないアプリケーションや小規模な企業にとって経済的です。
  • より高速なオートスケール機能。
  • バージョン管理とトラフィック分割の機能が App Engine に組み込まれているため、これらの機能をより高速かつ効率的に使用できます。
  • 管理の複雑さを軽減。開発者は、VM の管理に煩わされることなく、アプリケーションにのみ集中すればよいので、管理の複雑さが軽減されます。
  • データストアに高速にアクセスできます。
  • Memcacheへのアクセスもサポートされています。
  • Google Compute Engineと比較して、安全性が高い。
Google App Engineの短所は。
  • Google App Engineはインスタンスが小さくなるため、制約が多くなります。これにより、より簡単かつ高速なオートスケールが可能になりますが、大規模なアプリケーションではより大きな仮想マシン・インスタンスが必要になるケースもあり得ます。
  • ネットワークは、Google App Engineと統合されていない。

Google Cloud Compute Engineの概要

Google Cloud Compute Engineは、Googleが提供するIaaSで、仮想マシン(VM)を作成し、CPUとメモリを割り当て、ストレージをSSD(Solid State Drive)またはHDD(Hard Disk Drive)から選択することが可能です。基本的に、Google Compute Engineでは、ワークステーションやコンピュータを仮想的に作成し、その詳細をすべて処理することができる。VMのスケーラビリティとロードバランシング機能を完全に制御することができます。Google Cloud Compute Engineは、中小企業により人気があります。

Google Cloud Compute Engineの長所と短所

Google Cloud Compute Engineの長所は。
  • 簡単な立ち上げ。GCEはランプアップを必要としません。以前の経験からコンポーネントを再利用すればいいのです。
  • 完全な制御。GCEは、作成されるVMを完全に制御することができます。マシンのストレージ、CPU、メモリを完全にコントロールすることができます。
  • 公開インターネットプロトコル(IP)を使用しない。パブリックIPにさらされたレガシーソフトウェアをロックダウンすることは困難であるため、企業はパブリックIPを使用しないことを望むことがよくあります。GCEはパブリックIPを必要としないので有利です。
  • コンテナ対応。GCEでは、コンテナに最適化されたOSを活用し、Dockerコンテナを実行することができます。
Google Cloud Computeの短所は。
  • 専門性の高さ すべてを自分で行う必要があるため、ソフトウェアを含むすべての管理、インストールに高い専門性を持った人が必要です。そのため、セキュリティや信頼性に難がある。
  • オーバーヘッドが高い App EngineやKubernetes Engineの監視ツールなど、Compute Engineの管理ツールは多数存在する。したがって、Compute Engineに関連する管理のオーバーヘッドが大きい。
  • オートスケールが遅い App Engineに比べ、オートスケールが遅い。