5 Managing Change
This chapter covers:
- Using Change Sets to streamline deployment of changes and prevent template drift, as well as understanding how they may impact deployed resources
- Building modular templates in a way that they can be shared with other team members, to promote infrastructure code reuse
- Promoting team collaboration and desirable division of responsibility by breaking out resources into individual Stacks by lifecycle and ownership
- Ensuring better security of deployed infrastructure by using IAM and best practices for managing credentials
- Protecting against accidental or unauthorized deletion or replacement of resources
5.1 Introduction
In this chapter, our focus is managing change. We will learn how to participate and contribute as part of a team using CloudFormation. We are going to explore practices and resources (such as Cross-Stack references, Nested Stacks, and Transforms) designed to facilitate infrastructure code reuse to make changes manageable.
We’ll look at ways we can make templates more flexible using Parameters, Mappings and Conditions, which are topics we’ve introduced previously, and are key elements to modularization. We will get into testing topics, exploring ways to validate templates before deployment using cfn-lint and other methods.