Google Cloud Platform
Beginner 12 min read Google Cloud Platform

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.

projectsorganizationfoldersregionszonesCompute EngineIAMgcloud CLIbillingfree tierresource hierarchy
Introduction

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.

Motivation

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.
Think about it

Mental model

Imagine

A chain of self-service storage warehouses

Think of

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.

Mechanics

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.

You authenticate
Pick a project
Pick a region and zone
Control plane
Service runs
Metering and bill
Reference

Key commands

gcloud auth list

Show which accounts are authenticated and which is currently active.

gcloud config list

Display the active project, account, region and zone.

gcloud projects list

List every project the active identity can access.

gcloud compute regions list

List the regions where compute can be provisioned.

gcloud billing projects describe my-project

Show the billing account linked to a project and whether billing is enabled.

curl -s https://status.cloud.google.com

Check live Google Cloud service health before blaming your config.

Hands-on

Examples

Inspect your GCP identity, project and available regions

Inspect your GCP identity, project and available regions
$ gcloud auth list
Credentialed Accounts
ACTIVE ACCOUNT
* dev@example.com
$ gcloud config list
[compute]
region = us-central1
zone = us-central1-a
[core]
account = dev@example.com
project = my-project-123
$ gcloud compute regions list
NAME STATUS
us-central1 UP
europe-west1 UP
asia-south1 UP

gcloud 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.

Real world

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.
Guidelines

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.
Watch out

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.
Root cause analysis

Common issues

Error
PERMISSION_DENIED: The caller does not have permission
Root cause

The active identity lacks an IAM role for the resource or action requested.

Fix

Verify the identity with gcloud auth list, then check bindings with gcloud projects get-iam-policy my-project.

Error
API not enabled on the current project
Root cause

The service's API is not enabled for the active project.

Fix

Run gcloud services enable <service>.googleapis.com, then retry the command.

Error
Project [my-project] not found
Root cause

The project ID is wrong, or the active identity has no access to it.

Fix

Run gcloud projects list to find the exact project ID, then gcloud config set project <id>.

When things break

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.
Interviews

Interview checkpoint

Practice

Hands-on lab

Tour Your First GCP-Ready Sandbox
20 min · beginner
In progress
Objectives
  • 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

0/6 steps
0%
sandbox · Linux sandbox
$
Try these commands
Test yourself

Quick quiz

0/3
1

Which GCP construct is the fundamental scoping container for resources, IAM and billing?

2

A single GCP project can be linked to multiple billing accounts at the same time.

3

A teammate created a test VM in a different project than your team uses. What is the most likely problem you will hit?

Quick reference

Cheat sheet

Core structure
OrganizationRoot of the hierarchy; org-level policies
FolderGroups projects for policy and budget
ProjectFundamental unit of resources, IAM, billing
Region / zoneGeographic location / isolated data center
Billing accountPays for project usage
Everyday CLI
gcloud auth listShow active credentials
gcloud config listShow project, region, zone
gcloud projects listList accessible projects
gcloud compute regions listList available regions
gcloud services listList enabled APIs
Go deeper

Official documentation