Thursday, May 28, 2020

What is Terraform?

Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions. Configuration files describe to Terraform the components needed to run a single application or your entire datacenter. Terraform generates an execution plan describing what it will do to reach the desired state, and then executes it to build the described infrastructure. As the configuration changes, Terraform is able to determine what changed and create incremental execution plans which can be applied. The infrastructure Terraform can manage includes low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc.

Some Key points of Terraform
  • IaaC - Infrastructure as a Code
  • Automation of Infrastructure
  • Maintain the state of Infrastructure (state mgmt)
  • Maintain Infrastructure change history using version control system like Git
  • Terraform can automate any cloud and on premises infrastructure like VMware, AWS, Azure, GCP & Digital Ocean
Fundamental of Terraform
  • Unify the view of resources using IaaC
  • Support modern data centre (Iaas, PaaS & SaaS)
  • Expose a way satisfy the predictability change Infrastructure
  • Manage anything with API
  • Provides high level description of Infrastructure
  • Support parallel mgmt of resources
  • Separate planning from execution (dry-run) - By running a “plan”command
  • Detailed documentation, lots of example, template provided by HashiCorp
Infrastructure as a Code
  • Provide a coding workflow to create infrastructure
  • Expose workflow for managing updates to existing Infrastructure
  • Integrate with application code workflow like Git & Code Review
  • Provide modular, shareable component for separation of concern
  • Human readable configuration is designed for human consumption, so user can quickly interpret and understand their infrastructure configuration
  • HCL (HashiCorp Coding Language) includes full json parser for machine-generated configuration.


No comments:

Post a Comment