Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Hafner/Terraform in Depth

about the author


Robert Hafner has led engineering efforts at numerous startups,
including Malwarebytes, Vicarious AI, and Rad AI. He is currently a Senior
Principal Architect at a Fortune 100 Telecom in their Developer Experience
organization. In his career he has built large scale infrastructure with
reliability typically reserved for large organizations while utilizing small
focused teams. When he’s not working with computers, he’s creating
resin art or trying something new in the kitchen. He lives in Chicago with
his amazing wife and two cats.

about the book


Terraform is an extremely popular tool for writing Infrastructure As Code. During the last couple
of years it has really matured as a project and cemented itself as the most popular tool in the
IaC domain. We’ve reached the point where the core tool and language has stabilized and the
ecosystem has matured which creates an opportunity to write a book that will be relevant for
years.
The book teaches people how to effectively use Terraform in real world settings. It will start
with core concepts needed to use Terraform itself and will expand to on that knowledge in the
core of the book with chapters on module structures for different teams, migration techniques
for existing projects, tools from the general Terraform ecosystem, and other topics that readers
will encounter in their career. In the final section it will focus on advanced topics focused on the
internals of Terraform.
A key point throughout the book will be using real examples that create actual cloud resources
to illustrate the concepts. Most of these examples will involve building a Terraform module to
launch a cloud resource, while some will involve a small amount of bash scripting around the
Terraform CLI. The Terraform modules can be released as supplemental material available on
Github.
After reading the book, the reader will be able to:
• Create reusable modules that can be used to create larger platforms.
• Create a flexible networking module that spreads resources over multiple availability
zones.
• Create modules that integrate with existing infrastructure that isn't managed by
Terraform.
• Automatically deploy infrastructure after merging a pull request.
• Use validators and conditions to add safeguards around infrastructure deployments.
• Automatically document modules to make cross team sharing easier.
2 Author / Title Last saved: 6/16/2023

minimally qualified reader


The reader should be an entry level cloud developer or system admin with the following skills:
• The reader should be able to user a terminal or cli with basic instructions.
• The reader should be able to create an account on a cloud provider such as AWS.
• The reader should have knowledge of version control systems such as git. They will
understand basic concepts like pushing, pulling, and tagging code.
• The reader should be a beginning level programmer in any language. They should
understand concepts like if/else, boolean logic (false != true), functions, and variable
assignment.
• The reader should have some knowledge of Docker Images, although they will be able
to get through without it.
• The reader should have basic networking knowledge- they should be familiar with IP
Addresses and Subnets.

table of contents
Part 1 Getting Started with Terraform
Chapter 1. What is Terraform?
Chapter 2. Terraform HCL Components
Chapter 3. Variables and Modules
Chapter 4. Expressions and Iterations
Chapter 5. Understanding the Plan and Apply
Chapter 6. State Management

Part 2 Terraform Resources and Modules


Chapter 7. Cloud Components with Terraform
Chapter 8. State Only Resources
Chapter 9. Module Patterns and Practices
Chapter 10. Simple Module Design with EC2
Chapter 11. Builder Module Design with VPC
Chapter 12. MultiAccount Module Design with ECS

Part 3 Working in Production


Chapter 13. Project Structure
Chapter 14. Testing and Validation
Chapter 15. Environment Promotion and Versioning
Chapter 16. The Terraform Ecosystem

Chapter author name:


©Manning Publications Co.

You might also like