Google Cloud Platform (GCP)

Google Cloud Platform provides on-demand compute, storage, databases, networking, big data, and AI/ML — running on the same infrastructure and global network that powers Google Search, Gmail, and YouTube. Google opened that infrastructure to external customers in 2008, competing with AWS and Azure.

GCP is fully general-purpose, but it has clear standout strengths: data analytics (BigQuery), Kubernetes (GKE — Google originated Kubernetes), and machine learning (Vertex AI, TPUs). Teams centered on data and ML often pick it first.

TL;DR

Quick Example

The gcloud CLI plus Cloud Run gets a container live in one command:

Core Concepts

Resource hierarchy

GCP organizes everything under Organization → Folders → Projects → Resources. A project is the fundamental unit — it scopes billing, IAM, APIs, and resources. Most teams use separate projects per environment (dev/stage/prod).

Key services

Mental model

Think of GCP as Google's own infrastructure rented out — the same tech behind Search and YouTube, with a particularly strong global network and data/ML tooling.

Practical Use Cases

Entry-level — static sites (Cloud Storage + Load Balancer), serverless APIs (Cloud Run, Cloud Functions), dev/test environments.

Production — data analytics pipelines (BigQuery, Dataflow), global applications (GKE, Cloud CDN), machine learning (Vertex AI, TPUs).

Choosing Compute on GCP

💡 Like other clouds: start with the most managed option (Cloud Run) and move toward GKE/Compute Engine only when a requirement forces it.

Best Practices

Common Mistakes

Downloading service-account key files

Unbounded BigQuery costs

FAQ

When should I choose GCP over AWS or Azure?

GCP shines for data analytics (BigQuery is a genuinely differentiated serverless warehouse), Kubernetes (Google created it; GKE is widely regarded as the most polished managed K8s), and ML/AI (Vertex AI, TPUs). Its pricing model is often simpler with automatic sustained-use discounts. Choose AWS for breadth/ecosystem, Azure for Microsoft integration — and GCP when data, ML, or Kubernetes is central.

What is a GCP "project" and how should I use them?

A project is the core organizational unit that scopes billing, IAM permissions, enabled APIs, and resources. Use separate projects to isolate environments (dev/stage/prod) and teams — this limits blast radius, simplifies access control, and makes cost attribution clean. Projects sit under optional folders and an organization for larger setups.

Cloud Run or GKE?

Start with Cloud Run for containerized HTTP services — it's serverless, scales to zero, and needs no cluster management. Move to GKE when you need full Kubernetes features (custom controllers, service mesh, complex networking, a multi-team platform) and have the operational capacity. Many production workloads never need more than Cloud Run.

How do I avoid surprise BigQuery bills?

BigQuery bills by bytes scanned (on-demand). Select only the columns you need (never SELECT * on large tables), partition and cluster tables so queries scan less, use the query validator's byte estimate, and set custom quotas plus budget alerts. For steady heavy use, flat-rate/capacity pricing can be more predictable.

Related Topics

References