Terraforming with AWS (
TBA)

What is terraform

Terraform is IaC (infrastructure as code)

 

How does Terraform work with AWS?

  • AWS has a ton of APIs readily accessible
  • Terraform can help abstract those API in declarative coding syntax
  • Terraform can hook into even more services besides AWS (such as Azure)
  • Terraform is code agnostic

Example use case

I want to create the copy-paste standard of HA (high availability) applications in AWS. How can I do this?

Example use case

Copy github repo -> spin up many projects

Example use case

Version control your infrastructure code changes

Downsides to Terraforming

  • Mental Overhead - You need to know how AWS works on top of writing Terraform.
  • Discipling in the process - You need to modify your infrastructure in terraform, not directly on AWS. Else your terraform scripts are not in parity with what is on AWS
  • More moving parts - to see changes in AWS, you have to do it in terraform first

Upsides to Terraforming

  • Observability for how infrastructure has changed over time outside in a intentful fashion (e.g. looking at AWS logs for changes is too noisy)
  • Makes it so your developers can deploy compiled code (like lambda functions) purely on a CLI
  • A top level glance at what your entire AWS infrastructure looks like in a few .tf files

Example use case

How does terraform connect to AWS?

How does terraform connect to AWS?

Terraforming with AWS

By Vincent Tang

Terraforming with AWS

  • 59