GCP Platform Overview
Google Cloud Platform (GCP) is a public cloud offering compute, storage, databases, networking and machine learning services on demand. Learn projects and the organization hierarchy, regions and zones, the management plane (Console, gcloud CLI, SDKs, Terraform), and how billing and the free tier work so you can navigate any account.
What is this?
Google Cloud Platform (GCP) is a public cloud platform offering more than 200 services — compute, storage, databases, networking, Kubernetes and machine learning — over the internet with pay-as-you-go pricing. Resources are organized in a hierarchy: an organization contains folders, which contain projects — and the project is the fundamental building block for permissions, billing, quotas and API enablement. Compute is delivered in regions (geographic locations) and zones (isolated data centers within a region). You manage everything through a shared control plane: the Google Cloud Console, the gcloud CLI, SDKs, or infrastructure-as-code tools like Terraform.
Why do you need it?
- GCP is one of the three largest public clouds and the platform of choice for many data-heavy and Kubernetes-native companies.
- Every other concept in this module (Compute Engine, Cloud Storage, GKE, Cloud Run) is a specific GCP service — you need the map before the services.
- The project is the unit of everything: permissions, billing, quotas and enabled APIs all hang off the project you are working in.
- Regions and zones drive latency, cost and high-availability decisions on every GCP project.
- Billing awareness — free tier limits, committed use discounts, egress costs — is part of being a good DevOps engineer.
Mental model
A chain of self-service storage warehouses
GCP
Each warehouse is a region, and each wing with independent power and water is a zone. Your storage unit is a project: you rent only your units, each has its own lease and bill (billing account), and the property manager can apply rules to a whole wing of units (folders) so a leak in one unit never crosses into another. The front desk (Console and gcloud CLI) is the only place you ever request units, sizes and access — you never enter the warehouse floor.
How it works
- Google operates data centers worldwide, grouped into regions; most regions have multiple zones with independent power, cooling and networking.
- You create resources inside a project, the fundamental scoping container; the organization, folders and labels sit above it to apply policies, budgets and access at scale.
- You manage resources through the control plane — Console, gcloud CLI, SDKs or IaC tools like Terraform — and services provision them in seconds to minutes.
- Identity is enforced by IAM: every Console user or CLI call is authenticated as a user, service account or group with attached roles.
- Usage is metered — vCPU hours, GB stored, network egress, API calls — and billed to a billing account; the free tier lets you experiment within limits.
How a GCP resource is requested, run and billed.
Key commands
gcloud auth listShow which accounts are authenticated and which is currently active.
gcloud config listDisplay the active project, account, region and zone.
gcloud projects listList every project the active identity can access.
gcloud compute regions listList the regions where compute can be provisioned.
gcloud billing projects describe my-projectShow the billing account linked to a project and whether billing is enabled.
curl -s https://status.cloud.google.comCheck live Google Cloud service health before blaming your config.
Examples
Inspect your GCP identity, project and available regions
$ gcloud auth list Credentialed AccountsACTIVE ACCOUNT* dev@example.com $ gcloud config list[compute]region = us-central1zone = us-central1-a[core]account = dev@example.comproject = my-project-123 $ gcloud compute regions listNAME STATUSus-central1 UPeurope-west1 UPasia-south1 UPgcloud auth list tells you which account is active and which are credentialed. gcloud config list shows the project, region and zone the CLI will target. gcloud compute regions list shows where you can actually create resources. Every gcloud command follows the same pattern: gcloud <service> <action>, authenticated as the active account and targeted at the configured project.
In production
- Organize projects with folders per team and environment (dev, staging, prod) so IAM policies and budgets apply cleanly.
- Enable only the APIs you need per project and track them with gcloud services list.
- Use committed use discounts and spot VMs to cut compute cost for stable and fault-tolerant workloads.
- Set budget alerts and export billing to BigQuery so spend is reviewed weekly, not quarterly.
- Prefer infrastructure as code so every environment is reproducible and reviewable.
Best practices
- Name projects with a consistent scheme like company-env-app, because project IDs become part of resource URLs.
- Always create resources in the region you intend — a VM in us-central1 is invisible to a team on europe-west1.
- Default to least-privilege IAM roles instead of granting blanket owner access.
- Write down your organization ID and billing account ID somewhere safe, and enable MFA on every admin account.
- Keep billing and quota awareness from day one — a free-tier project can still incur egress costs.
Common mistakes
- Working in the wrong project and wondering why resources are missing or the bill is wrong.
- Creating one giant project for everything instead of isolating environments with folders.
- Leaving the default VPC network with broad firewall rules enabled 'temporarily'.
- Forgetting that egress (data leaving the cloud) is billed, which surprises data-heavy workloads.
- Assuming every service is available in every region — some newer services are regional only.
Common issues
PERMISSION_DENIED: The caller does not have permissionThe active identity lacks an IAM role for the resource or action requested.
Verify the identity with gcloud auth list, then check bindings with gcloud projects get-iam-policy my-project.
API not enabled on the current projectThe service's API is not enabled for the active project.
Run gcloud services enable <service>.googleapis.com, then retry the command.
Project [my-project] not foundThe project ID is wrong, or the active identity has no access to it.
Run gcloud projects list to find the exact project ID, then gcloud config set project <id>.
Debugging tips
- Start every debugging session with gcloud config list to confirm project, region, zone and account.
- Check the region you are targeting; many 'permission denied' errors are actually wrong-project requests.
- Use gcloud projects list and gcloud auth list to confirm you are where you think you are.
- Use the Google Cloud Status page to separate provider incidents from your own configuration.
- Read the API error code before guessing: PERMISSION_DENIED, NOT_FOUND and RESOURCE_EXHAUSTED all mean different fixes.
Interview checkpoint
Hands-on lab
- Identify the host, OS and user as a cloud instance would
- Verify outbound internet and DNS from the sandbox
- Inspect environment variables and resource limits
- Practice reading the same signals a provisioning script would
Tour Your First GCP-Ready Sandbox
20 min · beginner
Quick quiz
Which GCP construct is the fundamental scoping container for resources, IAM and billing?
A single GCP project can be linked to multiple billing accounts at the same time.
A teammate created a test VM in a different project than your team uses. What is the most likely problem you will hit?
Cheat sheet
OrganizationRoot of the hierarchy; org-level policiesFolderGroups projects for policy and budgetProjectFundamental unit of resources, IAM, billingRegion / zoneGeographic location / isolated data centerBilling accountPays for project usagegcloud auth listShow active credentialsgcloud config listShow project, region, zonegcloud projects listList accessible projectsgcloud compute regions listList available regionsgcloud services listList enabled APIs