← worklog

2022-03-01

Azure infrastructure as code with Terraform and Ansible

AzureTerraformAnsibleJenkins

Project

Connected vehicle data ingestion platform. Hundreds of vehicles streaming telemetry to Azure Event Hubs, processed by workers on AKS and dedicated VMs.

Infrastructure scope

  • AKS cluster for stateless processing services
  • Azure Event Hubs for high-throughput ingestion
  • VM scale sets for GPU-adjacent batch processing workloads
  • Private endpoints and NSGs for network isolation
  • Azure Key Vault for secrets, accessed via Managed Identity

Tooling

Terraform for all Azure resources. Ansible for post-provision configuration on VMs — package installation, systemd services, certificate distribution. Jenkins as the CI/CD backbone with a shared library for Terraform plan/apply steps.

What I'd do differently

Replace Ansible+Jenkins with something GitOps-native. Ansible is powerful but the execution model (push from CI) is hard to reconcile with drift detection. ArgoCD or Flux would handle the Kubernetes side cleanly; the VM footprint could shrink if we moved workloads to AKS.