DEV Community

JamAl
JamAl

Posted on

Learn AWS CloudFormation

is Amazon’s infrastructure-as-code (IaC) service. It lets you define and provision your AWS resources by writing a text file (a “template”) instead of clicking through the console or running commands one by one.

The core idea 

You describe what you want your infrastructure to look like — EC2 instances, S3 buckets, databases, IAM roles, networking, etc. — in a template written in JSON or YAML. CloudFormation reads that template and creates, updates, or deletes the resources for you, in the right order, handling dependencies automatically.

Key concepts 

  • Template — the file describing your resources and their configuration.

  • Stack — a running instance of a template. When you deploy a template, CloudFormation creates a stack containing all those resources. You manage them as a single unit; delete the stack and it tears down everything it created.

  • Change set — a preview of what will change before you apply an update, so there are no surprises.

  • Parameters / Outputs — inputs you pass in at deploy time (e.g., instance size) and values you export out (e.g., a database endpoint).

Why people use it 

  • Repeatable & consistent — spin up identical environments (dev, staging, prod) from the same template.

  • Version-controlled — your infrastructure lives in Git alongside your code, with history and code review.

  • Automatic dependency handling — CloudFormation figures out the correct creation/deletion order.

  • Safe rollbacks — if a deployment fails partway, it can roll back to the previous working state.

  • No extra charge — you only pay for the underlying resources it provisions.

Top comments (0)