title: Google Cloud projects, how are they supposed to work as organizational units?
body: <p>Google Cloud's structure related to "projects" has me really confused.</p>
  
  <p>On the one hand all GCP services are encapsulated in a "project" right? So I think, OK I'll create something like "test", "stage", and "prod" projects. All my applications can be tested in "test" and eventually move to "prod" when they are ready to go live. Also, I can have SQL,bigquery,bigtable and whatever else in the test project that developers can hack on without having to worry about effecting production.</p>
  
  <p>But I can only have one app engine app per project? How does that work? I can see how in app engine you have different versions so if I have one project per app engine app the test/staging mechanism is in that app's project, but what about the other GCP services?</p>
  
  <p>If I have a bigtable or bigquery or something on storage multiple apps need to access what "project" do I put that stuff in? </p>
  
  <p>Do I still have a "test","stage","prod" project for my services (where my DBs, storage, etc live), but then also create separate projects for each app engine app?</p>
  
  <p>If multiple apps need to access something, it can live in one of the app's projects- that doesn't make sense.</p>
  
  <p>Edit: google does have some good docs about how projects and services can be organized <a href="https://cloud.google.com/appengine/docs/python/creating-separate-dev-environments" rel="nofollow noreferrer">https://cloud.google.com/appengine/docs/python/creating-separate-dev-environments</a></p>