logo

Infrastructure as code

Last Updated: 2024-01-24

A.k.a. DevOps config tools.

Exists even before the container era (i.e. work for bare metal machines and VMs).

2 primary use cases: Provisioning and Config management.

Tools:

  • Ansible (has the largest market share, owned by Redhat)
  • Chef
  • Puppet
  • HashiCorp Terraform
  • Pulumi: On a high level, Pulumi has a very similar flow to Terraform. It uses a state backend, provides dry run functionality, reconciles the actual world with the desired state.
  • OpenTofu: a fork of Terraform
  • Terragrunt is a thin wrapper that provides extra tools for keeping your configurations DRY, working with multiple Terraform modules, and managing remote state.
  • AWS CloudFormation
  • Microsoft Azure ARM (Azure Resource Manager)
  • Google Cloud Resource Manager
  • Google Anthos Config Management - Config Sync: "Config Sync is a GitOps service offered as a part of Anthos."

Terraform, OpenTofu, Pulumi written in go

GitOps

GitOps is considered a universal best practice for organizations managing Kubernetes configuration at scale.

https://opengitops.dev/

Source control tools: Gitlab, Github, BitBucket.