• Provides a common language to describe your AWS infrastructure

  • Creates and builds those described resources in an automated manner

  • Launches and configures resources programmatically, treating infrastructure like code with its repeatability and reusability

  • Templates are formatted in JSON or YAML

  • Like source code, should be stored in a repository

  • Supports drift detection (determines whether the stack has drifted from its expected template configuration, returns detailed information about the drift status of each resource in the stack that supports drift detection)

CloudFormation template - like a recipe for your infrastructure. The template includes all necessary details about what resources need to be launched and how they need to be configured.

CloudFormation Stack - is the object that tracks the resources that have been built from your template. When you want to see the progress ( what is completed, what is in processing), you look at the stack for your build. When you’re ready to take down what you’ve built, you roll back that track.