Deployment of application infrastructure (and apps) using code based assets.
Some potential options for IaC:
- Scripts, SDKs, and managed code
- Provider-specific tooling
- Configuration Management / Provisioning tooling
Benefits:
- Agility
- Control
- Documentation
- Idempotency
- Version control
- Validation
- Reuse
- Continuous
Open Sourced, cross-platform, and somewhat mature option for IaC.
- Clean, simple language (Hashicorp Configuration Language, HCL2)
- Extensible through Terraform providers (multi-cloud, cross prem)
- Runtime and providers built-in Go
- Terraform Configuration is the deployable piece
- Multiple tools for testing and continuous integration / delivery
In the next module, you will create a simple resource using Terraform.
Module 2: Terraform Hello World