Tech_Interview_Prep

Configuration Management

Keeping infrastructure and application configuration consistent, versioned, and reproducible across environments.

What it is

Configuration management keeps system and application configuration consistent, version-controlled, and reproducible — instead of manually-tweaked, drifted servers that no one can reliably recreate.

Key points

  • Declarative vs. imperative: declarative tools (Ansible, Terraform-adjacent config tools) describe the desired end state and let the tool figure out how to get there; imperative approaches script the exact steps — declarative is generally more robust to partial failures and reruns.
  • Configuration drift: when a live system's actual state diverges from what's declared/versioned, usually from manual out-of-band changes — the core problem configuration management exists to prevent.
  • Idempotency: applying the same configuration twice should produce the same result as applying it once — critical for configuration management tools to be safely rerunnable.
  • Environment parity (dev/staging/prod configured consistently, differing only in explicitly parameterized values) is what configuration management makes practical at scale.