Configuration

Learn about configuration files, configuration properties, and disposable infrastructure.

Operator error

Every piece of production-class software has scads of configurable properties containing:

  • Hostnames
  • Port numbers
  • Filesystem locations
  • ID numbers
  • Magic keys
  • Usernames
  • Passwords
  • Lottery numbers

Get any of these properties wrong and the system is broken. Even if the system seems to work most of the time, it could break at 1 a.m. when Daylight Saving Time kicks in. “Configuration” suffers from hidden linkages and high complexity, two of the biggest factors leading to operator error. This puts the system at risk because configuration is part of the system’s user interface. It’s the interface used by one of its most overlooked constituencies: the developers and operators who support it. Let’s look at some design guidelines for handling instance-level configuration.

Configuration files

The configuration is essentially a file or set of files the instance reads at startup. Configuration files may be buried deep in the directory structure ...