Choose an App Engine environment (original) (raw)

You can run your applications in App Engine by using theApp Engine flexible environment or theApp Engine standard environment. You can also choose to simultaneously use both environments for your application and allow your services to take advantage of each environment's individual benefits.

App Engine environments

App Engine is well suited to applications that are designed using amicroservicearchitecture, especially if you decide to utilize both environments. Use the following sections to learn and understand which environment best meets your application's needs.

When to choose the standard environment

Application instances run in asandbox, using the runtime environment of a supported language listed below.

Applications that need to deal with rapid scaling.

The standard environment is optimal for applications with the following characteristics:

When to choose the flexible environment

Application instances run within Docker containers on Compute Engine virtual machines (VM).

Applications that receive consistent traffic, experience regular traffic fluctuations, or meet the parameters for scaling up and down gradually.

The flexible environment is optimal for applications with the following characteristics:

Compare high-level features

The following table summarizes the differences between the two environments:

Feature Standard environment Flexible environment
Instance startup time Seconds Minutes
Maximum request timeout Depends on the runtime and type of scaling. 60 minutes
Background threads Yes, with restrictions Yes
Background processes No Yes
SSH debugging No Yes
Scaling Manual, Basic, Automatic Manual, Automatic
Scale to zero Yes No, minimum 1 instance
Writing to local disk Read and write access to the /tmp directory. Yes, ephemeral (disk initialized on each VM startup)
Modifying the runtime No Yes (through Dockerfile)
Deployment time Seconds Minutes
Automatic in-place security patches Yes Yes (excludes container image runtime)
Access to Google Cloud APIs & Services such asCloud Storage,Cloud SQL,Memorystore,Google Tasks and others. Yes Yes
WebSockets No Yes
Supports installing third-party binaries Yes Yes
Location Locations for the standard environment Locations for the flexible environment
Pricing Based on instance hours Based on usage of vCPU, memory, and persistent disks

Also see the in-depthcomparison of the environments.

Compare App Engine and Cloud Run

To compare features and learn how to migrate to Cloud Run, see Compare App Engine and Cloud Run.

Compare the flexible environment to Compute Engine

The App Engine flexible environment has the following differences to Compute Engine:

Migrate from the standard environment to the flexible environment

If you have an application in the standard environment, you might want to move some services to the flexible environment. For guidance, see the recommendations for in thecomparison of the environments.

To migrate specific services for Python, Java, Go, and PHP, see Migrate services from the standard environment to the flexible environment.

Try it for yourself

If you're new to Google Cloud, create an account to evaluate how Ruby standard environment performs in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.

Try Ruby standard environment free