Is there possibility to host multiple applications with Google App Engine?

Do I need to create for each new Google App Engine app new project? Or is there other way to have multiple apps in one project?

EDIT: removed "extra question"


This is easily done with services. When you deploy to App Engine define your app.yaml file with a line like: service: my-second-app

Complete app.yaml file for another Node.js service:

service: my-second-app
runtime: nodejs
env: flex
automatic_scaling:
   min_num_instances: 1

When you deploy, do it from the directory containing your app.yaml file:

gcloud app deploy

Or if you want to define your configuration in a yaml file just for your seond app:

gcloud app deploy my-second-app.yaml

The new service will be deployed along side your default service and will get it's own URL like:

https://my-second-app-dot-my-project-name.appspot.com

I think it is a good idea to have a picture (worth a thousand words) presenting Google App Engine services hierarchy.

An Overview of App Engine

Picture taken from An Overview of App Engine page.

So you have an application under your Google Cloud project. An application can have one or more services. Services are loosely coupled and are developed and maintained independently. For many people it might be confusing as they may call a service an application. Google changed naming convention to use microservices nomenclature.

A service can have different versions (e.g. v1.0.1, v1.0.2, v2.0.0 etc.) and a version can have multiple instances that handle newtwork traffic.

Obviously there are limitations for number of services, versions and instances and they depend on region and free / paid version as specified in An Overview of App Engine.