Last updated 5 months ago

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.

Need help?

If you're looking for help or commercial support for Terraform and AWS, send an email to anton@antonbabenko.com.


This work is licensed under Apache 2 License. See LICENSE for full details.

The authors and contributors to this content cannot guarantee the validity of the information found here. Please make sure that you understand that the information provided here is being provided freely, and that no kind of agreement or contract is created between you and any persons associated with this content or project. The authors and contributors do not assume and hereby disclaim any liability to any party for any loss, damage, or disruption caused by errors or omissions in the information contained in, associated with, or linked from this content, whether such errors or omissions result from negligence, accident, or any other cause.

Copyright © 2018 Anton Babenko.