Google App Engine フレキシブル環境とスタンダード環境
フレキシブル環境とスタンダード環境の違いを記載して見た。
参考:スタンダード環境からフレキシブル環境へのサービスの移行
App Engine スタンダード環境ユーザーのための App Engine フレキシブル環境
スタンダード環境 | フレキシブル環境 | |
パスブロック | /_ah/ を含むパスを使用して特定のサービスにアクセスしている場合は、確認必要。
|
/_ah/ を含むパスがブロックされない |
アプリケーションの実行 | アプリケーションはサンドボックス内の軽量なインスタンス上で実行されます。
このサンドボックスでは、アプリケーションにできることが制限されます。 |
アプリケーションは制限の少ない Google Compute Engine 仮想マシン(VM)上の Docker コンテナで実行されます。任意のプログラミング言語の使用、ディスクへの書き込み、任意のライブラリの使用、さらに複数プロセスの実行が可能です。
インスタンスに対して任意の Compute Engine マシンタイプを選択して、アプリケーションがより多くのメモリと CPU にアクセスできるようにすることができます。 |
外部サービスにアクセスする | アプリケーションは通常、組み込みの google.appengine API を介して Cloud Datastore などのサービスにアクセスします。 | Google Cloud クライアント ライブラリを使用します。これらのクライアント ライブラリはどこでも使用できる |
ローカルでの開発 | アプリケーションを App Engine SDK を使用してローカルで実行します。
SDK がアプリケーションの実行を処理し、App Engine サービスをエミュレートします。 |
アプリケーションの実行に SDK は使用されません。
フレキシブル環境向けのアプリケーションは、どこででも実行できる標準的なウェブ アプリケーションとして記述する必要があります。 Cloud Datastore などの実際の Cloud Platform サービスを使用します。ローカルでのテストには別のプロジェクトを使用し、可能な場合にはエミュレータを使用してください。 |
スケーリングの特徴 | 0 個のインスタンスから数千のインスタンスまで素早くスケーリングすることができます。 | 実行中のアプリケーションのインスタンスが少なくとも 1 つなければならず、トラフィックに応じてスケーリングするのに時間がかかる場合があります。 |
費用制限 | 適用される | 予算を作成してアラームの設定することを検討 |
バックグラウンド スレッド | サンドボックス制限がないため、リクエスト環境の外に存在するスレッドやプロセスを自由に作成できます。 | |
Blobstore | ほとんど Cloud Storage に置き換えられました。Cloud Storage でデータを保存したり取得したりするには、Google Cloud クライアント ライブラリを使用してください。 | |
WebSocket | WebSocket がサポートされません。WebSocket を使用する必要がある場合は、Compute Engine または Kubernetes Engine を使用してください。 | |
Cloud Datastore | Cloud Datastore API を使用して、どこからでも Cloud Datastore にアクセスできます。データを保存したり Cloud Datastore からデータを取得したりするには、Google Cloud クライアント ライブラリを使用します。 | |
Memcache | 利用不可 | |
OAuth | 利用不可
OAuth 2.0 トークンを検証する必要がある場合は、OAuth 2.0 API の oauth2.tokeninfo メソッドを使用できます。 |
|
URL 取得 | 任意の HTTP ライブラリを使用できます。Java 用の Google HTTP クライアント ライブラリまたは OkHttp を使用することをおすすめします。 |