Infrastructure as Code – use a single code template to create, update, or delete multiple cloud resources. CloudFormation and Terraform are two valuable tools for achieving this on AWS.
CloudFormation – covers all parts of AWS
Terraform – covers main parts of AWS and other (non-AWS) services as well
A good comparison of the two services is here on Cloudonaut.io.