The purpose of Jim Brikman by writing Terraform Up & Running is to ‘help developers become fluent in terraform’ (p.8).
The themes covered in the book are 1) where does Terraform stand in the new trend of Infrastructure as Code, and how does it compare to other tools like Ansible and Kubernetes; 2) Terraform basics and 3) how to work professionally with Terraform.
Concerning the first theme, it is useful to know where does Terraform stands out in the sea of new technologies that relate to the cloud. Terraform is a tool in a group called ‘provisioners’: These tools help you create and manage infrastructure in the cloud. In other words, with this tool, you can create and manage your networks, your virtual machines, containers orchestrators, databases, storage volumes, etc. For several cloud providers like AWS, GCP, Azure, etc.
Concerning the second theme, this book will walk you around all the basics of Terraform. I think this topic is very important because you get a walk-through of all the things you can do with Terraform and it’s Domain Specific Language.
The third theme, is, perhaps, what makes this book stand out from other books: It teaches you the topics you need to work professionally with Terraform. One thing is writing code that works, another thing is how to do it so well that you will feel proud of it and you won’t be embarrassed when you show it to other team members. The major questions concerning professional terraform code are: 1) what is the best practice to store your terraform state-files; 2) How should a terraform repository should look like, especially how to handle staging, ppr and productions environment, and/or how to handle several AWS accounts; 3) how to keep your code DRY. This book addresses these topics, and hence after reading it provides the reader confidence on how to work professionally with Terraform.
The goal for the author, as stated before, was to help developers and sysadmins become fluent in Terraform. I think the author more than accomplished his goal. The book is very complete and provides everything you need to start developing production-grade Terraform code. Hence, I recommend this book to System Administrators, DevOps and Developers. If you need to learn Terraform this is the book that you should get, it has everything you need and more.