Deploying SaaS Apps to GCP
Deploy the Lumen Trail SaaS app to GCP across five deployment shapes — static, serverless function, Cloud Run container, custom domain with managed TLS, and (optional) GKE Autopilot.
About This Course
Learn how to put a working SaaS application on real Google Cloud infrastructure. Walk through the five deployment shapes every SaaS team eventually picks between static site, serverless function, container-as-a-service, platform-as-a-service, and Kubernetes and ship the same Lumen Trail front-end and API five different ways. Each lesson pairs a short teaching moment with a hands-on lab in your claude-cloud-ops VS Code container; Claude Code writes the Terraform, gcloud commands, and YAML, you review it and watch it work. By the end of this course you will know when to pick each deployment shape, how to add a custom domain with managed TLS, and (optionally) how to run your first Kubernetes deployment on GKE Autopilot.
Course Curriculum
6 Lessons
The five deployment shapes
Learn the five deployment shapes every SaaS team eventually picks between — static site, serverless function, container service, platform-as-a-service, and Kubernetes. For each shape, see one real-world example, the cost model, when to pick it, and when to avoid it. By the end of this lesson you will be able to look at a workload (a marketing site, a webhook handler, a REST API, a fleet of microservices) and name the deployment shape that fits it best — the exact mental model you will use across the four hands-on labs that follow.
Deploy a static site to Cloud Storage + Cloud CDN - Lab Exercises
Deploy the Lumen Trail front-end as a static site on Google Cloud. Build the Next.js output, upload it to a Cloud Storage bucket configured for static website hosting, put Cloud CDN in front of it with a global load balancer, and watch the site load globally with sub-second latency. By the end of this lab you will have a working static site at a GCP URL and understand why "just upload the files" is the right answer for a huge share of SaaS marketing pages, docs sites, and admin dashboards.
Deploy a serverless function to Cloud Run functions - Lab Exercises
Deploy a single endpoint of the Lumen Trail API as a serverless function on Google Cloud. Package the handler, run gcloud run functions deploy, invoke the HTTPS trigger, and read the function's logs. By the end of this lab you will understand how serverless functions scale from zero, when a function is the right shape for a workload (webhooks, image resizers, scheduled jobs), and the small catalog of gotchas (cold starts, request timeouts, local filesystem) you need to design around.
Deploy a containerized API to Cloud Run - Lab Exercises
Deploy the full Lumen Trail API as a container on Cloud Run. Build the image with Cloud Build, push to Artifact Registry, deploy a Cloud Run service, then split traffic across two revisions for a canary release. By the end of this lab you will understand why serverless containers (Cloud Run) are the single best default for new SaaS APIs today, how revisions and traffic splitting let you ship safely, and how to roll back when a new revision misbehaves.
Add a custom domain + managed TLS to Cloud Run - Lab Exercises
Give the Cloud Run API you deployed in the previous lab a real custom domain and automatic HTTPS. Create a Cloud DNS zone, point your domain's nameservers, map it to the Cloud Run service, and let Google issue a managed TLS certificate on your behalf. By the end of this lab you will understand how DNS, TLS, and load balancers fit together, how managed certificates remove the single most painful operational chore in web infrastructure, and what the full chain from api.yourdomain.com to your Cloud Run revision actually looks like.
First Kubernetes deployment on GKE Autopilot (optional stretch) - Lab Exercises
Optional stretch lab for students who want their first look at Kubernetes. Create a GKE Autopilot cluster, deploy the Lumen Trail API as a Kubernetes Deployment behind a Service and an HTTPS Ingress, and roll out a new image. By the end of this lab you will have a working Kubernetes app on GKE and a grounded answer to the question "when do I actually need Kubernetes?" — hint: later than most teams reach for it. Marked optional — most SaaS products never need Kubernetes.