It is a practice in IT where the engineers manage and provision computing infrastructure using code instead of manual processes. This code is typically stored in machine-readable files, which can be version-controlled, tested, and reused, just like application code.
Provisioning Cloud Resources
- Graphical User Interface (GUI) - Example: AWS Console
- API/CLI - Example: AWS CLI
- IaC - Example: Terraform
Categories of IaC Tools
- Declarative vs Imperative
- Cloud Specific vs Cloud Agnostic
- Ad hoc scripts - Example: bash script
- Configuration management tools - Example: Ansible
- Server templating tools
- Orchestration tools - Example: Kubernetes
- Provisioning tools - Example: Terraform