What is Terraform and Why is it Important

    • 2 posts
    February 21, 2022 11:52 PM EST

    For the remainder of this post, we will set the stage by diving into some of Terraform’s core elements. If you have never used Terraform and are looking for more hands-on experience, the tutorials at Hashicorp’s site are useful.

    Let’s talk a little bit about Terraform providers. Terraform has more than 100 cloud providers it serves. At Fairwinds we use Terraform for three - AWS, GCP, and Azure. The provider is what enables interfacing with the specific API and exposes whatever resource you have defined. HCL or HashiCorp Language is the common language used to define a resource, no matter what provider is being used.

    The first resource that will need to be defined in any project using Terraform Course is the provider, as this is what gives you access to the API you will be interacting with to create resources. Once the provider has been configured and authenticated, a vast amount of resources are now available to be created. Each cloud provider has its own set of resources; a few examples are an aws_vpc, a google_dns_record_set, and an azuread_application. Resources, according to Terraform, are “the most important element in the Terraform language”. This is where you describe the piece of infrastructure to be created, and this can range from a compute instance to defining specific permissions and much more.