description |
---|
This document is an attempt to systematically describe best practices using Terraform and provide recommendations for the most frequent problems Terraform users experience. |
Terraform is a fairly new project (as most of DevOps tools actually) which was started in 2014.
Terraform is powerful (if not the most powerful out there now) and one of the most used tool which allows to manage infrastructure as code. It allows developers to do a lot of things and does not restrict them from doing things in ways which will be hard to support or integrate with.
Some information described in this book may not seem like the best practices. I know this, and to help reader to separate what are established best practices and what is just another opinionated way of doing things, I sometimes use hints to provide some context and icons to specify the level of maturity on each subsection related to best practices.
The book is available for free here - https://www.terraform-best-practices.com/
This book eventually should contain most of best-practices and recommendations for Terraform users, but nobody knows when exactly it will happen. I aim to make it mostly ready by the end of 2018.
I want to get feedback and update this document as community mature and new ideas are implemented and verified. I write about topics which are the most popular.
If you are interested in certain topics please open an issue, or thumb-up on an issue you want to be covered most. If you feel that you have content which you want to include - write a draft and submit a pull-request (don't worry about writing good text at this point!)
This book is maintained by Anton Babenko with the help of different contributors.