Hierarchy Structure
GCP enforces a well-defined and scalable resource hierarchy to manage access control and policies:
Organization > Folders > Projects > Resources
- Organization: Root node representing a company (usually linked to a G Suite or Cloud Identity domain).
- Folders: Optional grouping of projects, used for structuring teams, departments, or environments.
- Projects: Core unit in GCP where resources are created and managed. Every resource belongs to exactly one project.
- Resources: Individual services or components (e.g., Compute Engine VM, Cloud Function, etc.) provisioned inside a project.
Key Properties:
- A Folder can contain multiple Projects or sub-Folders.
- An Organization can contain multiple Folders.
- IAM policies and Organization Policies can be applied at each level and are inherited by lower levels unless overridden.
Enterprise Recommendations for Resource Organization
1. Environment Isolation
- Create separate projects for different environments like DEV, QA, STAGE, and PROD.
- Benefit: Ensures complete separation between environments; changes in DEV do not impact PROD.
2. Department-Level Folders
- Create dedicated folders per department (e.g., Finance, HR, Engineering).
- Helps isolate production resources and manage IAM roles more effectively.
3. Shared Resources
- Use a Shared Folder or Shared VPC model to host common resources like networking, IAM roles, or centralized services (e.g., logging, monitoring).
4. Project per App per Environment
Example:
- Apps: A1 and A2
- Environments: DEV and PROD
- Create:
A1-DEV
,A1-PROD
,A2-DEV
,A2-PROD
Advantages:
- Clean separation of concerns.
- Easy rollback and deployment management.
- Dev team has full access to DEV.
- Ops/Support team gets restricted access to PROD only.

Billing Accounts in GCP
Overview:
- A Billing Account is required to create and maintain resources.
- It contains payment methods and usage records.

Key Facts:
- Every Project must be associated with one Billing Account.
- A Billing Account can be linked to multiple Projects.
- An Organization can have multiple Billing Accounts.
Types of Billing Accounts:
-
Self-Serve Billing:
- Linked to a credit/debit card or bank account.
- Suitable for individuals, startups, and small businesses.
-
Invoiced Billing:
- Google provides monthly invoices.
- Typically used by large enterprises with credit arrangements.
Billing Structure Recommendations:
-
Startups: Use a single billing account for all projects.
-
Enterprises:
- Create separate billing accounts per business unit or department.
- Assign Billing Admins for each department to monitor and control spend.
Managing Billing: Budgets, Alerts, and Exports
Budgets and Alerts
-
Set up Budgets to define expected monthly/quarterly spend per project or billing account.
-
Configure Alert Thresholds:
-
Defaults: 50%, 90%, 100%
-
Notifications can be sent via:
- Email to Billing Admins
- Pub/Sub Topics (for automation, integrations)
-
Export Billing Data
- Enable automated billing exports for cost analysis and compliance.
Export Destinations:
-
BigQuery:
- Enables advanced querying and dashboarding (e.g., via Looker Studio).
- Ideal for daily cost breakdowns, service-level analytics, anomaly detection.
-
Cloud Storage:
- Good for raw data backups and archiving.
- Data is stored in CSV or JSON formats.