Managing Infrastructure With Terraform
Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can help with multi-cloud by having one workflow for all clouds. The infrastructure Terraform manages can be hosted on public clouds like Amazon Web Services, Microsoft Azure, and Google Cloud Platform, or on-prem in private clouds such as VMWare vSphere, OpenStack, or CloudStack. Terraform treats infrastructure as code (IaC) so you never have to worry about you infrastructure drifting away from its desired configuration. If you like what you are hearing about Terraform then this lesson is for you!
In this lesson, we’ll learn Terraform from the ground up. While building a strong foundation for you to solve real-world challenges with Terraform, you'll learn about its core concepts including HashiCorp Configuration Language, providers, resources, and state. The lesson concludes with a demo to illustrate how Terraform can be used to manage a practical infrastructure for deploying development and production versions of a two-tier application in Google's Cloud using Cloud SQL, Google Kubernetes Engine (GKE), and Kubernetes. The Terraform configuration files used in the lesson are all available in the lesson's GitHub repository.
Intended Audience
This lesson is for anyone that is interested in managing infrastructure in public, private, or hybrid clouds. Some roles that fit into that category are:
- DevOps Engineers
- IT Professionals
- Cloud Engineers
- Developers
Learning Objectives
After completing this lesson, you will be able to:
- Describe what Terraform is
- Write Terraform configuration files
- Understand how Terraform integrates infrastructure sources
- Manage multiple infrastructure environments with Terraform
Prerequisites
This is an intermediate-level lesson that assumes you have prior experience with a scripting or programming language.
Lesson Agenda
Lesson | What you'll learn |
---|---|
Introduction | What will be covered in this lesson |
What is Terraform? | Take a high-level look at what Terraform is and when to use it |
Terraform Configuration | Understand the ins and outs of HashiCorp Configuration Language (HCL) |
Providers | Discover how Terraform integrates various infrastructure sources |
Resources | See how to configure parameters that are common to all resources |
State | Learn how Terraform state connects your configuration with the real world |
Two-Tier App Demo | See how to deploy a two-tier app in multiple environments with Terraform |
Summary | Review the lesson and see what's next |
Feedback
If you have thoughts or suggestions for this lesson, please contact Cloud Academy at support@cloudacademy.com.