Cloud-based software projects should employ multiple environments. These
environments typically have names like
It's vital that these environments be completely isolated from one another,
and they typically have very different operator-access permissions.
For example, the development team may have full access to the
environment, but only limited access to the
prod environment, with all
code deployment driven only by automated scripts. Further, it's
absolutely essential that the data in the different environments stay isolated.
Using multiple App Engine projects suits these requirements perfectly as the projects provide complete isolation of code and data, and operator permissions can be managed separately. Because App Engine automatically scales its serving instances, you only pay for what you use. For example, if your staging environment is only required one week out of every four, you won't pay for any serving instance costs for the other three. However, keep in mind that you will be billed for any data stored in these projects.
If you choose to create your microservices application by using only multiple
services, you can create a single App Engine project for each of your
environments and name them accordingly, such as
Alternatively, if you choose to create your microservices application by
using multiple projects, you can achieve the same separation between
environments, but you'll need to use more projects, such as
You will need to use code patterns to ensure that the
dev projects only
dev projects and the
prod projects only call
- Get an overview of microservice architecture on App Engine.
- Learn the best practices for designing APIs to communicate between microservices.
- Learn the best practices for microservice performance.
- Learn how to Migrate an existing monolithic application to one with microservices.