Infrastructure as Code (IaC) has become a wide adopted practice in the IT industry because it provides systems with a consistent way to describe desired states for different purposes. IaC solves many of the problems encountered with manual operations like low consistency between deployments, stale documentation, and error operations. This practice is done based on two important pillars: automation and APIs. This is why cloud computing makes a total sense for this activity. AWS provides every service as an API and automates operations by providing several services like CloudFormation.
Treating infrastructure as code makes a total sense from the software engineering perspective. Software is reusable and modular. It can be designed to be loosely coupled and with high cohesion. This chapter focuses on the IaC practice from the CloudFormation service...