Configuration management is a process for maintaining the configuration of systems throughout their lifecycle.

Automated control of:

  • Deployed artifacts
  • Configuration files
  • System packages
  • Services
  • Dependencies

Configuration stored in code

Infrastructure management

Bad practice:

  • Manual configuration
  • Writing bash scripts
  • Fixes directly on production servers


  • All servers are different
  • Difficult to reproduce the configuration of even one server
  • No changes control
  • Most often, all information is kept by one person

Good practice:

  • Description in one place
  • Infrastructure as a code
  • Idempotency
    • Automated configuration scripts produce the exact same result every time.
    • Configuration changes occur “in place”.
    • Only if a resource does not match requirements is it changed.
    • There is no fear of breaking existing resources.
Back to home