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
- Google's cloud, strong in data analytics, Kubernetes, and ML.
- Organized around projects as the unit of billing, IAM, and resources.
- Core services: Compute Engine, Cloud Run, GKE, BigQuery, Cloud SQL, Cloud Storage.
- Competes head-to-head with AWS and Azure.
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
- Compute Engine — VMs (like EC2).
- Cloud Run — serverless containers (scale to zero).
- Cloud Functions — serverless functions.
- GKE — Google Kubernetes Engine (managed Kubernetes).
- Cloud Storage — object storage (like S3).
- BigQuery — serverless data warehouse.
- Cloud SQL — managed relational databases.
- Firestore — NoSQL document database.
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
- Use projects to isolate environments and limit blast radius.
- Least-privilege IAM — grant roles at the narrowest scope; prefer service accounts with workload identity over key files.
- Set budgets and alerts per project; watch BigQuery query and egress costs.
- Prefer managed/serverless (Cloud Run, Cloud SQL, BigQuery) to reduce ops.
- Use Infrastructure as Code (Terraform has strong GCP support).
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
- Cloud Computing — The hub
- Google Cloud Run — Serverless containers
- AWS · Azure — The alternatives
- Kubernetes — Behind GKE
- Google Cloud SQL — Managed databases