Infrastructure as Code
What is Terraform?
Section titled “What is Terraform?”- It’s a tool for building, changing and versioning infrastructure safely and efficiently.
- It’s an Infrastructure as Code (IaC) tool.
- It enables application software best practices to infrastructure.
- It’s compatible with many clouds and services.
What is Infrastructure as Code (IaC)?
Section titled “What is Infrastructure as Code (IaC)?”Categories of IaC Tools:
- Ad Hoc Scripts: Writing a shell script to make calls to a cloud provider to provision resources.
- Configuration Management Tools: Managing software running on hardware (usually on-prem).
- Server Templating Tools: Think of AMI (Amazon Machine Image), a predefined image of an OS built to your application’s needs.
- Orchestration Tools: Think of Kubernetes, Docker Compose, used to define the application deployment.
- Provisioning Tools - Get your resourced provisioned in the cloud via a tool.
Consider Declarative vs. Imperative…
- Declarative: You define the end-state of what you want.
- Imperative: You tell the system what you want to happen and the sequence in which they happen.
Terraform is a declarative, cloud-agnostic provisioning tool.