AWS CloudFormation

AWS CloudFormation is a service provided by Amazon Web Services (AWS) that allows us to define and provision infrastructure resources in a programmatic and automated way. It enables us to create, update, and delete a collection of AWS resources as a single unit, known as a stack, using templates written in either JSON or YAML format.
 

This competency area includes an understanding of the concepts of templates, stacks, resources, parameters, mappings and conditions, outputs, change sets, stack policies, nested stacks, drift detection, custom resources, rollback and recovery and stacksets.

Key Competencies:

  1. Templates - Ability to create AWS CloudFormation templates using either JSON or YAML syntax.

  2. Stacks - Ability to create, update, and delete stacks, and understand the concept of stack drift.

  3. Resources - Knowledge of the variety of AWS resources that can be provisioned using CloudFormation, such as EC2 instances, S3 buckets, and RDS databases.

  4. Parameters - Use this feature to make the CloudFormation templates customizable and dynamic.

  5. Mappings and Conditions - Explore the use of mappings to define conditional values based on predefined keys, and learn how to set conditions for resource provisioning.

  6. Outputs - Ability to define outputs in the templates to expose important information for other resources or users.

  7. Change Sets - Knowledge of change sets to preview changes before applying them to a stack.

  8. Stack Policies - Understand how stack policies can control the permissions that are required to update certain stack resources.

  9. Nested Stacks - Explore the concept of creating stacks within stacks for more modular and organized deployments.

  10. Drift Detection -  Understand how drift detection helps identify differences between the stack's intended template and its current resources.

  11. Custom Resources - Ability to use custom resources to include external logic during stack creation and updates.

  12. StackSets - Understand how to deploy CloudFormation stacks across multiple accounts and regions using StackSets.

  13. Rollback and Recovery - Ability to handle stack failures, manage rollback, and recover from failed updates.