Stay organized with collections
Save and categorize content based on your preferences.
You can run your applications in App Engine by using the
App Engine flexible environment or the
App 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 a
microservice
architecture, 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 a
sandbox,
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:
Intended to run for free or at very low cost, where you pay
only for what you need and when you need it. For example, your
application can scale to 0 instances when there is no traffic.
Experiences sudden and extreme spikes of traffic which
require immediate scaling.
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:
Runs in a Docker container that includes a custom runtime or
source code written in other programming languages.
Uses or depends on frameworks that include native code.
Accesses the resources or services of your Google Cloud project
that reside in the Compute Engine network.
Compare high-level features
The following table summarizes the differences between the two environments:
Compare the flexible environment to Compute Engine
The App Engine flexible environment has the following differences to
Compute Engine:
The flexible environment VM instances are restarted on a weekly basis. During
restarts, Google's management services apply any necessary operating system
and security updates.
You always have root access to Compute Engine VM instances. By default, SSH
access to the VM instances in the flexible environment is disabled. If you
choose, you can enable root access to your app's VM instances.
Code deployments can take longer as container images are built by using the
Cloud Build service.
The geographical region of a flexible environment VM instance
is determined by the location that you specify for the
App Engine application of your
Google Cloud project. Google's management services
ensures that the VM instances are co-located for optimal performance.
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 the
comparison of the environments.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eApp Engine offers both a standard and a flexible environment for running applications, allowing you to choose or combine environments to suit your needs.\u003c/p\u003e\n"],["\u003cp\u003eThe standard environment is ideal for applications requiring rapid scaling and cost-effectiveness, especially when dealing with sudden traffic spikes and the ability to scale down to zero instances.\u003c/p\u003e\n"],["\u003cp\u003eThe flexible environment, which uses Docker containers on Compute Engine VMs, is best for applications needing custom runtimes, native code, or access to the Compute Engine network, and is optimal for consistent or fluctuating traffic.\u003c/p\u003e\n"],["\u003cp\u003eThe standard environment features faster deployment and instance startup times, while the flexible environment allows for more customization and supports features like SSH debugging and background processes.\u003c/p\u003e\n"],["\u003cp\u003eYou can migrate services from the standard to the flexible environment, and there are key differences to consider between using the flexible environment versus using Compute Engine directly.\u003c/p\u003e\n"]]],[],null,["# Choose an App Engine environment\n\nYou can run your applications in App Engine by using the\n[App Engine flexible environment](/appengine/docs/flexible) or the\n[App Engine standard environment](/appengine/docs/standard). You can also choose to\nsimultaneously use both environments for your application and allow your\nservices to take advantage of each environment's individual benefits.\n\nApp Engine environments\n-----------------------\n\nApp Engine is well suited to applications that are designed using a\n[microservice](https://wikipedia.org/wiki/Microservices)\narchitecture, especially if you decide to utilize both environments. Use the\nfollowing sections to learn and understand which environment best meets your\napplication's needs. \n\n### When to choose the standard environment\n\n\nApplication instances run in a\n[sandbox](https://en.wikipedia.org/wiki/Sandbox_(computer_security)),\nusing the runtime environment of a supported language listed below.\n\n\nApplications that need to deal with rapid scaling.\n\n\nThe standard environment is optimal for applications with the following\ncharacteristics:\n\n- Intended to **run for free or at very low cost**, where you pay only for what you need and when you need it. For example, your application can scale to 0 instances when there is no traffic.\n- Experiences **sudden and extreme spikes of traffic** which require immediate scaling. \n\n### When to choose the flexible environment\n\n\nApplication instances run within Docker containers on Compute Engine\nvirtual machines (VM).\n\n\nApplications that receive consistent traffic, experience regular traffic\nfluctuations, or meet the parameters for scaling up and down gradually.\n\n\nThe flexible environment is optimal for applications with the following\ncharacteristics:\n\n- Runs in a Docker container that includes a custom runtime or source code written in **other programming languages**.\n- Uses or depends on frameworks that include **native code**.\n- Accesses the resources or services of your Google Cloud project that reside in the **Compute Engine network**.\n\nCompare high-level features\n---------------------------\n\nThe following table summarizes the differences between the two environments:\n\nAlso see the in-depth\n[comparison of the environments](/appengine/docs/flexible/flexible-for-standard-users).\n\nCompare App Engine and Cloud Run\n--------------------------------\n\nTo compare features and learn how to migrate to Cloud Run,\nsee [Compare App Engine and Cloud Run](/appengine/migration-center/run/compare-gae-with-run).\n\nCompare the flexible environment to Compute Engine\n--------------------------------------------------\n\nThe App Engine flexible environment has the following differences to\nCompute Engine:\n\n- The flexible environment VM instances are restarted on a weekly basis. During\n restarts, Google's management services apply any necessary operating system\n and security updates.\n\n- You always have root access to Compute Engine VM instances. By default, SSH\n access to the VM instances in the flexible environment is disabled. If you\n choose, you can enable root access to your app's VM instances.\n\n- Code deployments can take longer as container images are built by using the\n Cloud Build service.\n\n- The geographical region of a flexible environment VM instance\n is determined by the location that you specify for the\n [App Engine application](/appengine/docs/flexible/locations) of your\n Google Cloud project. Google's management services\n ensures that the VM instances are co-located for optimal performance.\n\nMigrate from the standard environment to the flexible environment\n-----------------------------------------------------------------\n\nIf you have an application in the standard environment, you might want to move\nsome services to the flexible environment. For guidance, see the recommendations\nfor in the\n[comparison of the environments](/appengine/docs/flexible/flexible-for-standard-users).\n\nTo migrate specific services for Python, Java, Go, and PHP, see [Migrate services from the standard environment to the flexible environment](/appengine/docs/flexible/migrating).\n\nTry it for yourself\n-------------------\n\n\nIf you're new to Google Cloud, create an account to evaluate how\nRuby standard environment performs in real-world\nscenarios. New customers also get $300 in free credits to run, test, and\ndeploy workloads.\n[Try Ruby standard environment free](https://console.cloud.google.com/freetrial)"]]