(as of Nov 04, 2023 01:46:26 UTC – Details)
Terraform has become a key player in the DevOps world for defining, launching, and managing infrastructure as code (IaC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, Azure, and more. This hands-on third edition, expanded and thoroughly updated for version 1.0 and beyond, shows you the fastest way to get up and running with Terraform.
Gruntwork cofounder Yevgeniy (Jim) Brikman takes you through code examples that demonstrate Terraform’s simple, declarative programming language for deploying and managing infrastructure with a few commands. Veteran sysadmins, DevOps engineers, and novice developers will quickly go from Terraform basics to running a full stack that can support a massive amount of traffic and a large team of developers.
Compare Terraform with Chef, Puppet, Ansible, CloudFormation, and Pulumi Deploy servers, load balancers, and databases Create reusable infrastructure with Terraform modules Test your Terraform modules with static analysis, unit tests, and integration tests Configure CI/CD pipelines for both your apps and infrastructure code Use advanced Terraform syntax for loops, conditionals, and zero-downtime deployment Get up to speed on Terraform 0.13 to 1.0 and beyond Work with multiple clouds and providers (including Kubernetes!)
From the Publisher
Who Should Read This Book
This book is for anyone responsible for the code after it has been written. That includes sysadmins, operations engineers, release engineers, site reliability engineers, DevOps engineers, infrastructure developers, full-stack developers, engineering managers, and CTOs. No matter what your title is, if you’re the one managing infrastructure, deploying code, configuring servers, scaling clusters, backing up data, monitoring apps, and responding to alerts at 3 a.m., this book is for you.
Collectively, all of these tasks are usually referred to as operations. In the past, it was common to find developers who knew how to write code but did not understand operations; likewise, it was common to find sysadmins who understood operations but did not know how to write code. You could get away with that divide in the past, but in the modern world, as cloud computing and the DevOps movement become ubiquitous, just about every developer will need to learn operational skills, and every sysadmin will need to learn coding skills.
This book does not assume that you’re already an expert coder or expert sysadmin—a basic familiarity with programming, the command line, and server-based software (e.g., websites) should suffice. Everything else you need you’ll be able to pick up as you go, so that by the end of the book, you will have a solid grasp of one of the most critical aspects of modern development and operations: managing infrastructure as code.
In fact, you’ll learn not only how to manage infrastructure as code using Terraform but also how this fits into the overall DevOps world. Here are some of the questions you’ll be able to answer by the end of the book:
Why use IaC at all?What are the differences between configuration management, orchestration, provisioning, and server templating?When should you use Terraform, Chef, Ansible, Puppet, Pulumi, CloudFormation, Docker, Packer, or Kubernetes?How does Terraform work, and how do you use it to manage your infrastructure?How do you create reusable Terraform modules?How do you securely manage secrets when working with Terraform?How do you use Terraform with multiple regions, accounts, and clouds?How do you write Terraform code that’s reliable enough for production usage?How do you test your Terraform code?How do you make Terraform a part of your automated deployment process?What are the best practices for using Terraform as a team?
The only tools you need are a computer (Terraform runs on most operating systems), an internet connection, and the desire to learn.
What You Won’t Find in This Book
This book is not meant to be an exhaustive reference manual for Terraform. I do not cover all of the cloud providers, or all of the resources supported by each cloud provider, or every available Terraform command. For these nitty-gritty details, I refer you instead to the Terraform documentation.
The documentation contains many useful answers, but if you’re new to Terraform, infrastructure as code, or operations, you won’t even know what questions to ask. Therefore, this book is focused on what the documentation does not cover: namely, how to go beyond introductory examples and use Terraform in a real-world setting. My goal is to get you up and running quickly by discussing why you might want to use Terraform in the first place, how to fit it into your workflow, and what practices and patterns tend to work best.
To demonstrate these patterns, I’ve included a number of code examples. I’ve tried to make it as easy as possible for you to try these examples at home by minimizing dependencies on any third parties. This is why almost all the examples use just a single cloud provider, AWS, so that you need to sign up only for a single third-party service (also, AWS offers a generous free tier, so running the example code shouldn’t cost you much). This is why the book and the example code do not cover or require HashiCorp’s paid services, Terraform Cloud or Terraform Enterprise. And this is why I’ve released all of the code examples as open source.
Publisher : O’Reilly Media; 3rd edition (October 25, 2022)
Language : English
Paperback : 457 pages
ISBN-10 : 1098116747
ISBN-13 : 978-1098116743
Item Weight : 1.41 pounds
Dimensions : 7 x 1 x 9.25 inches