What you see is what you get…
for AWS infrastructure
by Anton Babenko
January 2019
Anton Babenko
Terraform AWS fanatic.
HUG, AWS, DevOps, DevOpsDays in Oslo, Norway.
I 💚 open-source:
terraform-community-modules + terraform-aws-modules
github.com/antonbabenko — pre-commit-terraform, terraform-docs-as-pdf
and more
www.terraform-best-practices.com
medium.com/@anton.babenko
twitter.com/antonbabenko
Cloud Architect
Cloud architect plans and designs cloud environments, and
typically provides guidance throughout the life of a
development or deployment project.
Assumption Statement
Cloud architects and DevOps engineers want to have a faster
conversion from idea to product.
https://aws.amazon.com/architecture/icons/
Tools for Cloud Architects
cloudcraft.co features
• Manage components in browser (EC2 instances, autoscaling groups, RDS, etc)
• Connect components
• Import live AWS infrastructure
• Calculate the budget
• Share link to a blueprint
• Export as image
• Embed drawing to wiki, Confluence, etc
Infrastructure as code makes DevOps possible
Key benefits:
• Treat infrastructure like application code
• Always know what changed
• Validate infrastructure before deployment
https://dzone.com/articles/infrastructure-as-code-the-benefits
Plus100+moreproviders
Write, plan, and create infrastructure as code
www.terraform.io
Collection of Terraform AWS modules supported by the community
(VPC, Autoscaling, RDS, Security Groups, ELB, ALB)
github.com/terraform-aws-modules
registry.terraform.io/modules/terraform-aws-modules
✓ cloudcraft.co — design, plan and visualize
✓ terraform-aws-modules — building blocks of AWS infrastructure
✓ Terraform — infrastructure as code
Infrastructure as code generator — from visual diagrams to Terraform
https://github.com/antonbabenko/modules.tf-lambda
1. Go to cloudcraft.co
2. Sign up, sign in (free account)
3. Draw your AWS infrastructure
4. Click "Export"
5. Click "Terraform code export"
Try it yourself!
modules.tf — generated code
✓ Potentially ready-to-use Terraform configurations
✓ Suits best for bootstrapping
✓ Enforces Terraform best-practices
✓ Batteries included (terraform-aws-modules, terragrunt, pre-commit)
✓ 100% free and open-source (https://github.com/antonbabenko/
modules.tf-lambda)
✓ Released under MIT license
modules.tf — generated code
✓ Potentially ready-to-use Terraform configurations
✓ Suits best for bootstrapping
✓ Enforces Terraform best-practices
✓ Batteries included (terraform-aws-modules, terragrunt, pre-commit)
✓ 100% free and open-source (https://github.com/antonbabenko/
modules.tf-lambda)
✓ Released under MIT license
Summary
✓ A picture's worth a thousand words
✓ Do infrastructure is code
✓ Standing on the shoulders of giants — use open-source
Thank you!
github.com/antonbabenko
twitter.com/antonbabenko
PS: Did I tell you that modules.tf is a web-site?