Skip to main content

Learning Resources

Cloud Deployment and CI/CD are the combined product of Semester 9. This page points at the prior modules you should revisit first, followed by a short list of validated external URLs to consult when a specific decision needs a reference.

Canonical Book Backbone

Use these canonical book routes when you need book-backed reinforcement for deployment, runtime, and release discipline:

Source Stack

SourceRoleHow to use it in this module
S9 M01: Cloud Platform FundamentalsPrimary (cloud picking)Revisit shared-responsibility framing before you commit to a platform
S9 M02: Infrastructure as CodePrimary (Terraform scope)Revisit state, backend, and module composition before scaffolding your root
S9 M03: Container OrchestrationSelective (if you go container-based)Revisit only if your topology choice is Kubernetes-shaped; otherwise skip
S9 M04: CI/CD Pipelines and Release EngineeringPrimary (pipeline, release)Revisit workflow anatomy, release-notes discipline, and rollback patterns
S9 M05: Cloud Security and ObservabilityPrimary (OIDC, secrets, smoke)Revisit secrets management and least-privilege for the deploy role
S8 M04: Scale, Reliability, PerformanceSupportRevisit MTTR, zero-downtime patterns, and the cost of extra moving parts

Resource Map by Cluster

Cluster 1: A Minimal Deployable Capstone

NeedBest cross-semester referenceExternal reference
Cloud platform pickingS9 M01: Cloud Platform FundamentalsGitHub Actions documentation -- confirm deploy paths exist for any candidate platform
Topology sizingS8 M04: Scale, Reliability, PerformanceDORA software delivery performance metrics -- understand that smaller, frequent deploys outperform large ones
Environment budgetS9 M04: CI/CD Pipelines and Release EngineeringDORA metrics guide -- deployment frequency depends on cheap, reliable envs

Cluster 2: Capstone IaC

NeedBest cross-semester referenceExternal reference
Terraform state and backendS9 M02: Infrastructure as CodeTerraform: State -- authoritative definition of what state is
Module compositionS9 M02: Infrastructure as CodeTerraform: State -- the state file is the boundary that modules share
Secrets without sprawlS9 M05: Cloud Security and ObservabilityConfiguring OIDC in AWS (GitHub Docs) -- deploy role reads secrets over OIDC, not via stored keys

Cluster 3: Capstone Pipeline

NeedBest cross-semester referenceExternal reference
Workflow anatomyS9 M04: CI/CD Pipelines and Release EngineeringGitHub Actions documentation -- triggers, permissions:, environment:
OIDC to cloudS9 M05: Cloud Security and ObservabilityConfiguring OIDC in AWS (GitHub Docs)
Preview environmentsS9 M03: Container OrchestrationPreview Environments action (GitHub Marketplace)

Cluster 4: Safe Release

NeedBest cross-semester referenceExternal reference
Rollback criteria and timerS8 M04: Scale, Reliability, PerformanceDORA metrics guide -- time-to-restore-service is a first-class capability
Expand-contract migrationS9 M02: Infrastructure as CodeExpand and Contract -- Tim Wellhausen -- canonical pattern write-up
Feature flagsS9 M04: CI/CD Pipelines and Release EngineeringMartin Fowler: Feature Flag

Cluster 5: Evidence of a Deployed System

NeedBest cross-semester referenceExternal reference
Smoke tests in prodS9 M05: Cloud Security and ObservabilityGoogle SRE: Testing for Reliability
Release notesS9 M04: CI/CD Pipelines and Release EngineeringDORA metrics guide -- deploys are logged, not remembered
Runbook disciplineS9 M04: CI/CD Pipelines and Release EngineeringGoogle SRE: Testing for Reliability -- runbook "verify" section is the production-probe surface

Use Rules

  • If you are stuck on a concept, go to the S9 or S8 module listed above first. Those are the texts you already read this degree.
  • If you are stuck on an operational question (what does this field do, what is the exact setting), open the external URL from the concept page.
  • Do not binge documentation. Open one URL for one question.
  • If rereading does not fix the problem, stop and write the smallest version of the question you cannot answer. Paste it into your mistake log. Only then open another page.