App Engine と Compute Engine の違いは何でしょうか。その違いを説明していただける方はいらっしゃいますか?
ベストアンサー1
App Engineは Platform-as-a-Service です。つまり、コードをデプロイするだけで、あとはすべてプラットフォームが行います。たとえば、アプリが大成功を収めた場合、App Engine は増加したボリュームを処理するために自動的にインスタンスを作成します。
Compute Engine は、サービスとしてのインフラストラクチャです。独自の仮想マシン インスタンスを作成して構成する必要があります。柔軟性が高く、一般的に App Engine よりもコストがはるかに低くなります。欠点は、アプリと仮想マシンを自分で管理する必要があることです。
必要に応じてApp EngineとCompute Engineの両方を併用できます。どちらも他の部分とうまく連携します。Google クラウド プラットフォーム。
編集(2016年5月):
もう 1 つの重要な違いは、App Engine で実行されているプロジェクトは、リクエストがまったく来ない場合にインスタンスを 0 にスケールダウンできることです。これは、インスタンス時間の十分な無料割り当てを何週間も超過することなく実行できるため、開発段階では非常に便利です。柔軟なランタイム (つまり、「管理対象 VM」) では、少なくとも 1 つのインスタンスを継続的に実行する必要があります。
編集(2017年4月):
Cloud Functions (現在ベータ版) は、抽象化の点で App Engine より 1 段階上のものです (インスタンスは不要)。開発者は、HTTP リクエストや Cloud Storage の変更など、さまざまなイベントに応じて実行される一口サイズのコードを展開できます。
App Engine との最大の違いは、関数は 100 ミリ秒単位で課金されるのに対し、App Engine のインスタンスは非アクティブな状態が 15 分続いた場合にのみシャットダウンされる点です。もう 1 つの利点は、Cloud Functions は即座に実行されるのに対し、App Engine の呼び出しには新しいインスタンスが必要になる場合があることです。また、新しいインスタンスのコールド スタートには数秒以上かかる場合があります (ランタイムとコードによって異なります)。
これにより、Cloud Functions は、(a) まれな呼び出し (何かが発生した場合に備えてインスタンスを稼働させておく必要がない)、(b) インスタンスが頻繁にスピンしたりシャットダウンしたりする負荷が急速に変化する、その他のユースケースに最適です。