Projects & Billing
Difficulty: easy
Overview
Google Cloud uses a four-level resource hierarchy: Organization → Folders → Projects → Resources.
The Project:
A Project is the fundamental unit of resource organization, API management, billing, and IAM in GCP. Every resource (VM, bucket, database) must belong to a Project.
What a Project Contains:
- APIs: Each Cloud API (Compute Engine, Cloud Storage, BigQuery) must be explicitly enabled per project.
- IAM Policies: Access control for who can do what on resources within the project.
- Billing Account: One billing account linked per project; all resource charges go there.
- Quotas: Per-project limits on resource usage (e.g., 8 vCPUs per region).
- Labels: Key-value metadata for cost attribution and automation.
Billing Accounts:
- A billing account can pay for multiple projects.
- A project can only be linked to one billing account.
- Billing accounts exist at the Organization level (or standalone for individual use).
Cost Management Tools:
- Budgets & Alerts: Set monthly spend thresholds. Receive email or Pub/Sub notifications at configurable percentages (50%, 90%, 100%). Does NOT automatically stop services.
- Committed Use Discounts (CUDs): 1-year or 3-year vCPU/memory commitments for 20–57% savings.
- Sustained Use Discounts: Automatic discounts up to 30% for VMs running more than 25% of a month — no action needed.
- Labels: Tag resources (e.g., team=payments, env=prod) for granular cost attribution in billing exports.
- Billing Export to BigQuery: Export detailed billing data for custom dashboards and cost analysis.
IAM in the Hierarchy:
Policies applied at a higher level (Organization, Folder) are inherited by all child resources — enabling centralized governance with project-level flexibility.
Practice Linked Questions
Q1. In Google Cloud, what is the primary purpose of a Project?
Select one answer before revealing.
Q2. A team wants to receive an email notification when their GCP project spend reaches 90% of their monthly $5,000 budget. What should they configure?
Select one answer before revealing.