App Engine locations

App Engine is regional, which means the infrastructure that runs your apps is
located in a specific region and is managed by Google to be redundantly
available across all the zones within that
region.

Meeting your latency, availability, or durability requirements are primary
factors for selecting the region where your apps are run. You can generally
select the region nearest to your app's users but you should consider the
location of the other GCP products and
services that are used by your app. Using
services across multiple locations can affect your app's latency as well as
pricing.

App Engine is available in the following regions:

northamerica-northeast1 (Montréal)

us-central (Iowa)

us-west2 (Los Angeles)

us-east1 (South Carolina)

us-east4 (Northern Virginia)

southamerica-east1 (São Paulo) *

europe-west (Belgium)

europe-west2 (London)

europe-west3 (Frankfurt)

asia-northeast1 (Tokyo)

asia-east2 (Hong Kong)

asia-south1 (Mumbai)

australia-southeast1 (Sydney)

* For customers using the São Paulo region, all regional product SLAs
remain in force. However, multi-region and cross-region functionality that
span across North America and South America might temporarily have reduced
availability or performance.

You cannot change an app's region after you set it.

If you already created an App Engine application, you can view the
region by running the gcloud app describe command or opening the
App Engine Dashboard in the GCP Console.
The region of your App Engine application is listed under
http://[YOUR_PROJECT_ID].appspot.com.

This quickstart assumes that you are familiar with building web apps
with C#.

Download the Hello World app

We've created a simple Hello World app for .NET so you can quickly
get a feel for deploying an app to the App Engine flexible environment.
The Hello World app is similar to the app
created by Visual Studio when an empty ASP.NET core app is created.
The sample app adds an app.yaml file. The app.yaml file is an
App Engine configuration file that specifies your runtime and other
App Engine settings.

See the following sections for information about cleaning up as well as links to
the possible next steps that you can take.

Clean up

To avoid incurring charges, you can delete your GCP project to stop
billing for all the resources used within that project.

Caution: Deleting a project has the following effects:

Everything in the project is deleted. If you used an existing project for
this tutorial, when you delete it, you also delete any other work you've done in the project.

Custom project IDs are lost.
When you created this project, you might have created a custom project ID that you want to use in
the future. To preserve the URLs that use the project ID, such as an appspot.com
URL, delete selected resources inside the project instead of deleting the whole project.

In the project list, select the project you
want to delete and click Delete.

In the dialog, type the project ID, and then click
Shut down to delete the project.

What's next

Learn the whole platform

Now that you know what it's like to develop and deploy App Engine apps, you can
stretch out and see the rest of GCP. You already have the
Cloud SDK installed and that gives you the tools to interact with
products like Cloud SQL, Cloud Storage, Cloud Datastore,
and more.

For a guided walkthrough that teaches you how to create an
app that uses the entire platform, not just App Engine, check out our
quickstart on creating the Bookshelf app.

Learn about the App Engine flexible environment

Hello World code review

Hello World is the simplest possible App Engine app, as it contains only
one service, has only one version, and all of the code is located within the
app's root directory. This section describes each of the app files in detail.

Startup.cs

public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
}
}