15. Final Thoughts
Developer Workflow & Automation
Write/update code
Run changes locally (for dev env)
Create pull request
Run Tests via CI
Deploy to staging via CD (on merge to main)
Deploy to prod via CD (on release)
Additional Tools
Terragrunt
Minmizes code repitition
Enables multi-account seperation (improved isolation/security)
Cloud Nuke
Easy cleanup of cloud resources
Makefiles
Prevent human erro
Potential Gotchas
Name changes when refactoring
Sensitive data in Terraform state files
Cloud timeouts
Naming conflicts
Forgetting to destory test-infra
Uni-directional version upgrades
Multiple ways to accomplish same config
Some params are immutable
Out of band changes
Last updated