Deployment, IaC & Developer Tools

CloudFormation, CDK, the Code* family, and Systems Manager — how infrastructure and code get deployed on AWS.

8 min read

Infrastructure as Code (IaC)

Instead of clicking through the console, teams define infrastructure in files that can be versioned, reviewed, and replayed identically in every environment — infrastructure as code.

AWS CloudFormation

Define your entire infrastructure in JSON/YAML templates; CloudFormation creates, updates, or deletes it as a single stack, repeatably across accounts and Regions.

AWS CDK (Cloud Development Kit)

Write infrastructure in real programming languages (TypeScript, Python…) which compiles down to CloudFormation.

Ways to interact with AWS

Key points

  • AWS Management Console — point-and-click web interface; great for learning and one-off tasks.
  • AWS CLI — terminal commands; scriptable and repeatable.
  • SDKs — call AWS from your application code (Python boto3, JavaScript, Java…).
  • All three are wrappers around the same APIs.

Developer tool family

AWS CodeCommit / CodeBuild / CodeDeploy / CodePipeline

Managed CI/CD: source control, build/test, automated deployment, and the pipeline that chains them together.

AWS CodeArtifact

Managed artifact/package repository.

AWS Amplify

Fast full-stack web and mobile app development with hosting — front-end friendly.

AWS AppConfig / AWS Systems Manager

Systems Manager gives operational control of your fleet: Session Manager (shell access without SSH keys or open ports), Patch Manager, Parameter Store (config values and secrets).

AWS CloudShell

A browser-based shell with the CLI pre-authenticated.

Exam tip

"Provision infrastructure repeatedly from templates" → CloudFormation. "Automate code build/test/release" → CodePipeline. "Access instances without opening SSH ports" → Systems Manager Session Manager. "Patch a large EC2 fleet" → Systems Manager Patch Manager.

Knowledge check
Question 1 of 3

Which service lets you model and provision AWS resources using JSON or YAML templates?