rights reserved. Infrastructure as Code Options High level Low level • AWS CDK, Pulumi (third party) • Full power of supported languages, OO, abstractions, imperative logic • In the case of CDK, still generates CloudFormation code Componentized • Troposphere (Python), SparkleFormation (Ruby), GoFormation (Go) • Leverages higher-level language constructs, some abstraction also possible • Generates CloudFormation code (in the specific cases above) DSLs • CloudFormation (with and without macros), Terraform modules • Declare desired state, engine finds path to provision/update resources • Some abstraction and logic flow possible Declarative • Automate with the AWS SDKs & CLIs • Step-by-step, imperative instructions • Left to developer: error handling, manage state, rollbacks, dependency graphs, stabilization, etc. Scripted