Skip to content

Overview

CloudDeploy is where the series stops building apps and starts building the platform they run on — for real, on three clouds. You write infrastructure as code with Terraform, keep it DRY across clouds with Terragrunt, provision managed Kubernetes on AWS, GCP, and Azure, and deploy the ShopMicro microservices you built in project #3 onto each cluster. Then you make it a real deployment: Datadog watches it, Keycloak guards it, GrowthBook flags it, and GitHub Actions ships it.

The point of the capstone is the gap between “it runs on my laptop” and “it runs in production, on infrastructure a team can reproduce, observe, secure, and change safely.” Every earlier project ended with a local docker compose up or a single deploy; CloudDeploy is the module that turns any of them into a real, code-defined, multi-cloud platform. ShopMicro is the workload because it’s the most demanding — a Kubernetes microservices system with its own Helm chart — so if the platform can run ShopMicro on three clouds, it can run anything the series produced.

The honest part, named up front: going multi-cloud is broad, not deep. You’ll see three IAM models, three load-balancer stories, three managed-Postgres quirks — and Terragrunt is what keeps you from writing the same config three times. A single-cloud course would go deeper on one; this one trades depth for the genuinely valuable skill of portable infrastructure.

  • Infrastructure as code — the whole platform is Terraform modules, reproducible from an empty account.
  • DRY multi-cloud — Terragrunt drives the same modules across a live/{aws,gcp,azure}/ tree, with remote state and locking.
  • Managed Kubernetes on three clouds — EKS, GKE, and AKS, each with node pools and networking.
  • Managed data — RDS, Cloud SQL, and Azure Database for PostgreSQL.
  • ShopMicro, deployed for real — its Helm chart on each cluster, behind ingress and DNS.
  • Observability, identity, flags — Datadog, Keycloak, and GrowthBook as a cloud-neutral platform layer.
  • CI/CD — GitHub Actions runs terragrunt plan on PRs and applies + deploys on merge, across a cloud matrix.

Each build module adapts a Learn Hub course to one slice of CloudDeploy.

ModuleWhat you buildLearn Hub course it adapts
1 · Setup & ToolingTerraform, Terragrunt, cloud CLIs, the repo layoutTerraform
2 · Terraform FoundationsProviders, resources, state, variablesTerraform
3 · Terragrunt & Remote StateDRY config, backends, locking, the live/ treeTerraform
4 · NetworkingReusable VPC/VNet modulesTerraform / Cloud
5 · Managed KubernetesEKS / GKE / AKSKubernetes
6 · Identity & IAMCloud IAM, least privilegeCloud
7 · Managed DataRDS / Cloud SQL / Azure DBTerraform
8 · Deploying ShopMicroThe Helm chart on each clusterKubernetes
9 · Observability (Datadog)Metrics, traces, logs, dashboardsDatadog
10 · Identity (Keycloak)Realm, OIDC, gateway authKeycloak
11 · Feature Flags (GrowthBook)Flags gating a featureGrowthBook
12 · CI/CDGitHub Actions, multi-cloudDocker / CI
13 · Multi-cloud in PracticeDrift, cost, teardownCloud

You’re ready to move on when you can answer these in your own words:

  • What’s the difference CloudDeploy is really about — between an app that runs and infrastructure that’s reproducible, observable, secure, and changeable?
  • Why is ShopMicro the workload the capstone deploys, rather than a trivial sample?
  • What does multi-cloud trade away, and what does Terragrunt give back?

Next, the architecture shows how the pieces fit together.