What is GCP? Core services and concepts
TL;DR
- GCP (Google Cloud Platform) originated Kubernetes and is generally strongest in data analytics and ML infrastructure among the three major providers.
- Resource organization: the project is GCP's primary billing and resource-container boundary, similar to an AWS account or Azure subscription. Projects can be grouped under folders, under an organization. Resources are deployed to regions, each made up of multiple zones.
- Core compute: Compute Engine for IaaS virtual machines, App Engine for a fully managed app platform, GKE for managed Kubernetes, Cloud Functions for serverless functions, and Cloud Run for serverless containers.
- Core storage: Cloud Storage for object storage, Filestore for managed file shares, and Persistent Disks for VM block storage.
- Core databases: Cloud SQL for managed relational databases, Firestore for a NoSQL document store, Bigtable for large-scale wide-column NoSQL, and BigQuery as GCP's flagship data warehouse for analytics.
- Identity: Cloud IAM controls access via roles bound at the organization, folder, project, or resource level; Google Workspace/Cloud Identity provides the underlying user directory.
- Management: Terraform is the dominant Infrastructure as Code tool in practice, more so on GCP than the native alternatives.
Google Cloud Platform (GCP) is Google's cloud computing platform. It's the youngest of the three major providers, and it leans on Google's own infrastructure history: Kubernetes was originally built at Google (based on their internal Borg system) before being open-sourced, and GCP's data analytics and ML services tend to be its strongest differentiator against AWS and Azure.
How GCP organizes resources
GCP's resource hierarchy is project-centric, unlike AWS's account-centric model or Azure's subscription/resource-group model.
- Organization: the root node for a company's GCP presence, tied to a Google Workspace or Cloud Identity domain.
- Folder: an optional grouping layer between the organization and projects, useful for mirroring team or business-unit structure.
- Project: the primary billing and resource-container boundary, closest to an AWS account or Azure subscription. Every resource belongs to exactly one project.
- Region: a geographic area, such as
europe-west1orus-central1, containing multiple zones. - Zone: an isolated location within a region, GCP's equivalent of an AWS/Azure Availability Zone. Spreading resources across zones protects against a single data-center failure.
Core compute services
- Compute Engine: infrastructure-as-a-service virtual machines. You choose a machine image and a machine type (vCPU, memory, optionally GPU/TPU), and GCP manages the underlying hardware.
- App Engine: a fully managed platform for web apps and APIs, one of the original PaaS offerings on GCP, handling scaling and load balancing automatically.
- Google Kubernetes Engine (GKE): a managed Kubernetes offering, and the platform Kubernetes itself originated from. GCP runs and patches the control plane; you manage the worker nodes and workloads.
- Cloud Functions: a serverless compute service that runs code in response to triggers (an HTTP request, a Pub/Sub message, a storage event) without provisioning any servers, billed by invocation and execution time.
- Cloud Run: a serverless platform for running containers directly, scaling automatically (including to zero), without needing to operate a full Kubernetes cluster.
Core storage services
- Cloud Storage: object storage for unstructured data such as images, backups, and logs. Data is organized into buckets, with storage classes (Standard, Nearline, Coldline, Archive) for balancing access speed against cost.
- Filestore: fully managed file storage accessible over NFS, useful when an application expects a traditional file system rather than an object store.
- Persistent Disks: block storage volumes attached to Compute Engine VMs, available in different performance tiers (from standard HDD to SSD).
Core database services
- Cloud SQL: a managed relational database supporting MySQL, PostgreSQL, and SQL Server, handling patching, backups, and scaling automatically.
- Firestore: a fully managed NoSQL document database built for mobile, web, and server applications, with real-time sync support.
- Bigtable: a NoSQL wide-column database built for very large-scale, low-latency workloads (the same system underlying several of Google's own products).
- BigQuery: GCP's serverless data warehouse, built for running fast SQL analytics over massive datasets without managing any infrastructure; often the reason teams pick GCP specifically for analytics-heavy workloads.
Identity and access
Cloud IAM controls access on GCP. Permissions are granted through roles (predefined or custom) bound to a member (a user, group, service account, or domain) at the organization, folder, project, or individual resource level, with policies inherited down the hierarchy.
Service accounts are how GCP resources and applications authenticate to call other GCP APIs, GCP's equivalent of AWS IAM roles or Azure managed identities.
Managing GCP as code
The GCP Console is useful for exploration, but production environments are typically managed as code:
- Terraform: the dominant IaC tool for GCP in practice, using the Google provider to manage resources through the same HCL workflow used for AWS or Azure.
- Infrastructure Manager: GCP's current native IaC service, built around Terraform configurations rather than a separate templating language.
- gcloud CLI: the primary command-line tool for scripting and one-off resource management outside of a full IaC workflow.
GCP vs. AWS and Azure: rough service equivalents
| Category | GCP | AWS | Azure |
|---|---|---|---|
| Virtual machines | Compute Engine | EC2 | Virtual Machines |
| Managed Kubernetes | GKE | EKS | AKS |
| Serverless functions | Cloud Functions | Lambda | Azure Functions |
| Object storage | Cloud Storage | S3 | Blob Storage |
| Managed relational DB | Cloud SQL | RDS | Azure SQL Database |
| Identity | Cloud IAM | IAM | Microsoft Entra ID |
The underlying concepts are similar across all three; GCP's practical edge shows up most clearly in Kubernetes maturity and analytics/ML tooling, rather than in the core compute/storage/database primitives, which map closely to their AWS and Azure counterparts.