App Engine と Compute Engine の違いは何だろうと思っていました。誰かが私に違いを説明できますか?
11 に答える
基本的な違いは、Google App Engine ( GAE )がPlatform as a Service ( PaaS )であるのに対し、Google Compute Engine ( GCE )はInfrastructure as a Service ( IaaS )であることです。
アプリケーションを GAE で実行するには、コードを記述して GAE にデプロイするだけでよく、その他の頭痛の種はありません。GAE は完全にスケーラブルであるため、トラフィックが増加した場合は自動的により多くのインスタンスを取得し、トラフィックが減少した場合はインスタンスを減らします。実際に使用したリソースに対して課金されます。つまり、アプリが実際に使用したInstance-Hours、Transferred Data、Storageなどに対して課金されます。ただし、アプリケーションはPython、PHP、Java、NodeJS、.NET、Ruby、および **Goでしか作成できないという制限があります。
一方、GCE は仮想マシンの形で完全なインフラストラクチャを提供します。そこに任意のプログラムを作成またはインストールできるため、これらの VM の環境とランタイムを完全に制御できます。実際、GCE は Google データ センターを仮想的に使用する方法です。GCE では、Load Balancerを使用してスケーラビリティを処理するようにインフラストラクチャを手動で構成する必要があります。
GAE と GCE はどちらもGoogle Cloud Platformの一部です。
更新: 2014 年 3 月、Google は App Engine の下にManaged Virtual Machineという名前の新しいサービスを発表しました。マネージド VM は、アプリ エンジン アプリケーションに、アプリ プラットフォーム、CPU、およびメモリ オプションの柔軟性を少し高めます。GCE と同様に、これらの VM でアプリ エンジン アプリケーション用のカスタム ランタイム環境を作成できます。App Engine の実際に管理された VM は、IAAS と PAAS の間の境界線をある程度あいまいにします。
簡単に言えば、計算エンジンは、完全な制御/責任を持つサーバーを提供します。オペレーティング システムに直接アクセスでき、必要なすべてのソフトウェア (通常は Web サーバー、データベースなど) をインストールします。
App Engine では、基盤となるソフトウェアのオペレーティング システムを管理しません。コード (Java、PHP、Python、または Go) をアップロードするだけで、出来上がり - 実行するだけです...
App Engine は、特に経験の浅い人にとっては頭痛の種を大幅に軽減しますが、2 つの重大な欠点があります。可能、または 1 つの特定の方法でのみ可能 (たとえば、ファイルの保存と書き込み)。
Google コンピューティング エンジン (GCE)
クラウドでホストされる仮想マシン (VM)。クラウドが登場する前は、これらはしばしば Virtual Private Server (VPS) と呼ばれていました。これらは、オペレーティング システムのインストールと構成、アプリケーションのインストール、データベースのインストール、OS の最新状態の維持などを行う物理サーバーを使用するのと同じ方法で使用します。これはインフラストラクチャと呼ばれます。 as-a-Service (IaaS)。
VM は、データセンター内の VM またはサーバーで実行されている既存のアプリケーションがあり、それを GCP に簡単に移行したい場合に最も役立ちます。
Google App Engine
App Engine は、物理サーバーや VM で管理する必要があるオペレーティング システム、ネットワーク、およびその他の多くのものに対処する必要なく、コードをホストして実行します。アプリケーションを自動的にデプロイ、バージョン管理、スケーリングできるランタイムと考えてください。これはサービスとしてのプラットフォーム (PaaS) と呼ばれます。
App Engine は、アプリケーションの自動デプロイと自動スケーリングが必要な場合に最も役立ちます。アプリケーションがカスタム OS 構成を必要としない限り、App Engine は多くの場合、手動で VM を構成および管理するよりも有利です。