Advanced Terraform
20 February 2018
Stoyan Stoyanov
welt.de
Who are we?
- https://www.welt.de
- 150M Visits per Month and growing
- Fastest newspaper site in Germany
whoami

Structure
- Cross-functional teams
- Every team has its own AWS Account
- You build it, you own it
Tech Jungle

Motivation?
- increase automation awareness
- reducing complexity
How our infrastructure code evolved
- From bash to Chef
- From private cloud to public cloud
- From AWS CloudFormation to HashiCorp Terraform
Workflow
The State
- Snapshot of the infrastructure
- Can be local or remote with different backends

The State
The State
- Outputs can be shared between "stacks" via remote states
Complexity
Centralized applying
The wrapper
Plan every hour
DRY
Versioning
Responsibility
Conventions
KISS
- Avoid config management
- user data not enough?
- Use container orchestration for the apps
Do not reinvent the wheel
- If for some reason there is no resource for the job
- local-exec + awscli
Roundup
- With great power comes great responsibility
- Updates hurt sometimes :)

Advanced Terraform 20 February 2018 Stoyan Stoyanov welt.de
Advanced Terraform
By Stoyan Stoyanov
Advanced Terraform
- 1,342