Stay organized with collections Save and categorize content based on your preferences.
Cloud-based software projects should employ multiple environments. These environments typically have names like dev
, qa
, staging
, and prod
. 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 might have full access to the dev
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 Google Cloud 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.
Naming environmentsIf you choose to create your microservices application by using only multiple services, you can create a single Google Cloud project for each of your environments and name them accordingly, such as web-app-dev
, web-app-qa
, and web-app-prod
.
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 web-app-dev
, web-app-prod
, user-service-dev
, and user-service-prod
. You will need to use code patterns to ensure that the dev
projects only call other dev
projects and the prod
projects only call other prod
projects.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-07-18 UTC.
[[["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-07-18 UTC."],[[["Cloud-based projects should utilize multiple, isolated environments such as `dev`, `qa`, `staging`, and `prod`, each with distinct operator-access permissions."],["Maintaining data isolation between environments is crucial for preventing data corruption and maintaining the integrity of each environment."],["Using multiple Google Cloud projects is ideal for ensuring the isolation of code and data between environments, and managing operator permissions independently."],["Naming conventions for environments, whether using single or multiple Google Cloud projects, should clearly indicate the environment type, for example, `web-app-dev`, `web-app-prod`, `user-service-dev`, etc."],["When using multiple projects, specific code patterns are needed to restrict communication so that `dev` projects only interact with other `dev` projects, and `prod` projects only interact with other `prod` projects."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4