GCP for DevOps — What is GCP?
What is Google Cloud Platform?
Google Cloud Platform (GCP) is a suite of cloud computing services provided by Google. It runs on the same infrastructure that Google uses internally for products like Search, Gmail, YouTube, and Google Maps.
GCP provides over 200 services, but as a DevOps engineer, you’ll use about 20-30 of them regularly.
Simple Analogy: If Google’s internal infrastructure is a private highway system, GCP is Google opening those highways to the public — same roads, same speed, same reliability.
GCP vs Other Clouds
| Feature | GCP | AWS | Azure |
|---|---|---|---|
| Market share | ~11% | ~32% | ~23% |
| Kubernetes | GKE (born here) | EKS | AKS |
| Serverless containers | Cloud Run | Fargate | Container Apps |
| CI/CD | Cloud Build | CodePipeline | Azure Pipelines |
| IaC | Terraform (recommended) | CloudFormation | ARM/Bicep |
| Global network | Google’s private fiber | AWS backbone | Microsoft backbone |
| Billing model | Per-second | Per-second (most) | Per-minute |
| Free tier | $300 credit + always-free | 12-month free tier | $200 credit + free tier |
Core GCP Services for DevOps
┌─────────────────────────────────────────────────────────────┐
│ GCP Services for DevOps │
├──────────────────┬──────────────────────────────────────────┤
│ Compute │ Compute Engine, GKE, Cloud Run │
│ Networking │ VPC, Cloud Load Balancing, Cloud NAT │
│ Storage │ Cloud Storage, Persistent Disks │
│ CI/CD │ Cloud Build, Artifact Registry │
│ Containers │ GKE, Cloud Run, Artifact Registry │
│ Serverless │ Cloud Functions, Cloud Run, API Gateway │
│ IaC │ Terraform, Deployment Manager │
│ Monitoring │ Cloud Monitoring, Cloud Logging │
│ Security │ IAM, Secret Manager, Security Command Ctr│
│ Cost │ Billing, Recommender, Labels │
└──────────────────┴──────────────────────────────────────────┘
GCP Account Structure
Every interaction with GCP starts with a project. A project is the basic organizational unit:
Organization (optional)
├── Folder: "Production"
│ ├── Project: my-app-prod
│ └── Project: my-data-prod
├── Folder: "Development"
│ ├── Project: my-app-dev
│ └── Project: my-data-dev
└── Folder: "Shared Services"
├── Project: shared-networking
└── Project: shared-monitoring
Key concept: In GCP, a project is roughly equivalent to an AWS account. All resources live inside a project, and billing is tracked per project.
Setting Up Your First GCP Account
Step 1 — Create a Google Account
If you don’t have one, create a Google Account at accounts.google.com.
Step 2 — Enable Google Cloud
Go to console.cloud.google.com and activate your account. New accounts get $300 in free credits valid for 90 days.
Step 3 — Create Your First Project
# After installing gcloud CLI (covered later in this chapter)
$ gcloud projects create my-first-project --name="My First Project"
Create in progress for [https://cloudresourcemanager.googleapis.com/v1/projects/my-first-project].
Waiting for [operations/cp.123456789] to finish...done.
$ gcloud config set project my-first-project
Updated property [core/project].
Step 4 — Enable Billing
Link a billing account to your project. Without billing enabled, you cannot create most resources — even with free tier credits.
$ gcloud billing accounts list
ACCOUNT_ID NAME OPEN MASTER_ACCOUNT_ID
0X0X0X-0X0X0X-0X0X0X My Billing Account True
$ gcloud billing projects link my-first-project \
--billing-account=0X0X0X-0X0X0X-0X0X0X
billingAccountName: billingAccounts/0X0X0X-0X0X0X-0X0X0X
billingEnabled: true
name: projects/my-first-project/billingInfo
projectId: my-first-project
Cloud Console vs gcloud CLI
| Approach | Best For |
|---|---|
| Cloud Console (web UI) | Learning, exploring, visualizing resources |
| gcloud CLI | Automation, scripting, daily DevOps work |
| Cloud Shell | Quick commands without local setup |
| Terraform | Production infrastructure management |
As a DevOps engineer, you’ll primarily use the gcloud CLI and Terraform. But always use the Console to verify what your commands create — it builds mental models.
Common Mistakes
| Mistake | Fix |
|---|---|
| Forgetting to enable APIs | Run gcloud services enable <api> before using a service |
| Not setting a default project | Run gcloud config set project <project-id> |
| Leaving resources running | Always clean up after practice — use gcloud or Terraform destroy |
| Using Owner role for everything | Follow least privilege — use predefined roles |
Quick Reference
| Item | Value |
|---|---|
| Console URL | console.cloud.google.com |
| CLI tool | gcloud |
| Project creation | gcloud projects create <id> |
| Set default project | gcloud config set project <id> |
| List projects | gcloud projects list |
| Enable an API | gcloud services enable <api> |
Next → GCP Global Infrastructure