Terraform: Getting Started
Published by O'Reilly Media, Inc.
Automating infrastructure
Are there parts of your infrastructure that you still have to stand up manually or via a collection of scripts? Do you struggle to keep documentation about that setup process current? Do you dread the day when you need to spin up a new region for the business?
If so, you need Terraform. HashiCorp’s open source and free tool makes it possible to document and automate the creation, modification, and destruction of almost anything that can be managed by an API. This means that it’s finally conceivable to automate the management of everything that your software stack needs to actually run in any environment, including cloud resources, DNS entries, CDN configuration, and much more.
Join expert Sean Kane for an introduction to Terraform. You’ll learn everything you need to know to get started using it to standardize and simplify the way that you define and manage all of your infrastructure resources.
What you’ll learn and how you can apply it
By the end of this live online course, you’ll understand:
- How to use Terraform to simplify your ability to repeatedly set up, manage, and tear down complex infrastructure environments
And you’ll be able to:
- Write typical Terraform configuration files
- Use Terraform to stand up, modify, and delete infrastructure components
- Utilize remote state and additional data sources
This live event is for you because...
This course is for you because…
- You need to understand how to simplify infrastructure management for engineers.
Prerequisites
Students who want to participate in the hands-on portions of the class will require open access to github.com from their computer's network (this is optional if you want to follow along with the hands-on portion of the course).
- Familiarity with the Unix command line
- Basic comfort using REST APIs
- A modern computer (recent Linux, macOS, or Windows 10) with HashiCorp Terraform, a graphical web browser, a text editor, and a Git client installed
- The following command-line tools installed: tar, wget, curl, jq, and an SSH client (useful but not required)
Recommended follow-up:
- Read Terraform: Up & Running, second edition (book)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Introduction to Terraform
- Lecture: Terraform overview; terminology
- Demo: Example of the potential
- Hands-on exercise: Install the tools
Defining your infrastructure)
- Lecture: Overview of the code
- Hands-on exercise: Add additional resources
- Break (5 minutes)
Extending Terraform
- Lecture: Overview of providers; plug-ins that add support for resources from AWS, GitHub, etc.
- Hands-on exercises: Build the infrastructure; install a new provider; use a new provider
- Break (5 minutes)
Advanced considerations
- Lecture: Overview of modules—custom code that can set up multiple resources in a repeatable fashion; overview of data sources
- Hands-on exercises: Build a Terraform module; pull and utilize data from a remote source
Wrap-up and Q&A
Your Instructor
Sean P. Kane
Sean Kane is the founder of techlabs.sh and a Principal Production Operations engineer at SuperOrbital. Sean specializes in engineering, teaching, and writing about modern DevOps processes, including Kubernetes, Docker, Terraform, and more. He has had a long career in production operations, with many diverse roles across a broad range of industries. Sean is the lead inventor on a container-related patent and spends a lot of his spare time writing, teaching, and speaking about technology. He is an avid traveler, hiker, and camper and lives in the US Pacific Northwest with his wife, children, and dogs.