Guided architecture tour · 6–8 min
Describe cloud resources with familiar code — AWS CDK and CloudFormation
Plan an infrastructure change written in a programming language.
This tour teaches architecture decisions. Its services are not provisioned in the emulator.
Your goal
Plan an infrastructure change written in a programming language.
Why this matters
Your team prefers reusable code to repeated templates. You will define resources with CDK, inspect what the code produces, and review the differences before deployment.
Words you will use
A construct is a reusable CDK building block. Synthesis turns CDK code into a CloudFormation template. A diff compares the proposed setup with an existing one.
How to proceed
Read each situation and choose an answer. The lesson explains the result. Try again if needed, then continue through all three decisions and finish the tour.
1. Choose the job for the code
The team wants a reusable description of a bucket and its settings. This code defines infrastructure rather than running the app’s request handler.
What should CDK constructs describe?
Resources, settings, and relationships.
CDK constructs model infrastructure using supported programming languages. Reuse can reduce repetition, but review the resources and permissions the code creates. A concise construct can still produce a substantial deployment.
The infrastructure is expressed through understandable building blocks.
Constructs + configuration → infrastructure definition2. Inspect the generated plan
The code compiles, and the team wants to see the CloudFormation template it would produce. No deployment should happen just for this inspection.
Which step fits?
Synthesize the app and inspect the generated template.
Synthesis produces a deployment template; it does not by itself apply that template to an account. Review the generated resources and policies, including defaults introduced by higher-level constructs.
The team can inspect the infrastructure the code describes.
cdk synth → generated CloudFormation template3. Review the actual change
A small code edit changes a resource setting that may cause replacement. Passing a language type check is not enough to assess the deployment risk.
What should happen before deployment?
Review the diff, test, and assess permissions and replacement impact.
Use the diff and generated template to understand what will change. Test in a suitable environment and plan for stateful resource impacts. Familiar code syntax does not make infrastructure changes risk-free.
The deployment decision is based on the proposed resource changes.
Code edit → synth and diff → review and test → deployPractice, then check your understanding
In the interactive tour, make each decision before seeing the outcome. Wrong answers receive coaching, and replay gives you a fresh attempt without duplicating earned XP.
Read the official AWS documentation for service behavior and production details.