申し訳ありませんが、これは素朴な質問ですが、グーグルのスタッフからたくさんの講演を見ましたが、なぜ地球上でCFの代わりにAEを使用するのか理解できませんか?
正しく理解できれば、これらのサービスの両方のコンセプトは「マイクロサービスアーキテクチャ」を構築することです。
ただし、AEは独自のサーバーにラップする必要があります。基本的に、CFと同じ機能に加えて、多くの複雑さを利用します。だから、いつCFの代わりにそれを使うべきですか?
クラウド機能(CF)とGoogle App Engine(GAE)は、ジョブごとに異なるツールです。通常、ジョブに適切なツールを使用することをお勧めします。
ペンチmightを使用して釘を打つことは可能ですが、ハンマーを使用するほど便利ではありません。同様に、CFmightを使用して複雑なアプリを構築することも可能ですが、GAEを使用して構築する方が間違いなく便利です。
CFには、GAEと比較していくつかの欠点があります(もちろん、より複雑なアプリケーションを構築するという点で)。
Node.JS
、Python、Goに限定されています。 GAEは、他のいくつかの一般的なプログラミング言語をサポートしていますndb
クライアントライブラリ(標準env GAE pythonアプリ)でのみ使用可能)を使用してデータストアにアクセスすると、汎用データストアクライアントライブラリを使用するよりも効率的/パフォーマンスが向上します。App Engineは、相互に関連する(または関連しない)さまざまな方法で動作する多数の機能を備えたアプリケーションに適しています。一方、クラウド機能は、特定のイベントに応答して特定のアクションを実行する単一の目的の機能です。
App Engineでは、言語の選択肢が多数あり、管理オプションも増えていますが、これらの領域ではクラウド機能が制限されています。
App EngineでCloud Functionsを簡単に複製できますが、多数の個別のCould Functionsを使用して大規模なApp Engineアプリケーションを複製するのは複雑です。たとえば、SpotifyのバックエンドはApp Engineベースです。
別の言い方をすると、非常に大規模なアプリケーションの場合、App Engineのようなより複雑なシステムから始めると、コードベースの複雑さが軽減されるか、少なくとも管理や理解が容易になります。
最終的に、これらは両方ともGoogleの同様の基盤インフラストラクチャで実行され、どちらが手元のタスクで機能するかを決定するのはユーザー次第です。さらに、1つのプロジェクトで両方の要素を混合することを妨げるものは何もありません。