Skip to main content
FAQ

Unlocking the Cloud Operating Model: Provisioning - Collaborative Infrastructure as Code

Learn about the three core principles of HashiCorp Terraform.

Speakers

  • Meghan Liese
    Meghan LieseDirector of Product Marketing, HashiCorp

Transcript

My name is Meghan Liese, and I work for HashiCorp in the Terraform product marketing team.

Today I'm going to be talking about infrastructure as code, which is the guiding principle for HashiCorp Terraform.

Terraform, IaC, and version control

HashiCorp Terraform uses infrastructure as code to provision and manage infrastructure for any cloud provider. This is based on the use of version control to do automation for infrastructure provisioning and helps reduce human error and failed builds.

This also allows operators to use the same principles as application developers. They can create the code, they can get it reviewed, they can have it tested, and then they can publish it out to the repos, and then it goes through the same cycle over and over again.

The provider ecosystem

The other part about Terraform is that it uses what we call open-source providers. This is an extensible provider ecosystem that allows any infrastructure to implement a provider and therefore support any infrastructure today and into the future.

This has yielded rapid creation of support for many different infrastructure providers, and today supports over 200 different types.

HashiCorp infrastructure as code uses what we call HashiCorp Configuration Language, or HCL. HashiCorp Configuration Language is human-readable, machine-executable, and very concise, meaning that if you compare it to some of its competing solutions, it will be about 50% less code and very modular.

Terraform's approach is declarative, meaning that the code you write in your Terraform template represents the exact state of the infrastructure.

Finally, it's simple to reuse. Terraform's infrastructure as code is decomposed into modules, making it very easy to both reuse and customize.

Automated infrastructure provisioning

The final part with Terraform is around automation.

There are 2 steps to how Terraform automates infrastructure provisioning. The first is the plan step. This allows you to see what resources will be provisioned prior to the execution.

The second part is the apply. This is the actual execution, where it uses the API call to the infrastructure provider to go out and provision the infrastructure.

And then the final part of that is where a recorded state happens and shows you what exact infrastructure has been created.

Terraform is based on the idea that you can go out and provision any infrastructure. This allows for a consistent provisioning plane, a single control plane for cloud provisioning. It is based on the idea of extensible providers, so any new providers can be added at any time to support new infrastructure.

The other part that's super important to remember is around workflow integrations. Everyone uses different types of VCS or CI/CD pipelines or different types of GUI interfaces to provision their infrastructure. Terraform integrates with many different types of workflow integrations to support many different types of end users.

To learn more about Terraform infrastructure's code, visit terraform.io.

More resources like this one

  • 3/15/2023
  • Presentation
Advanced Terraform techniques
  • 2/3/2023
  • Case Study
Automating Multi-Cloud, Multi-Region Vault for Teams and Landing Zones
  • 2/1/2023
  • Case Study
Should My Team Really Need to Know Terraform?
  • 1/20/2023
  • Case Study
Packaging security in Terraform modules