Saturday, May 8, 2010
Release It! - 14.2 Configuration Files
Property files suffer from hidden linkages and high complexity—two of the biggest factors leading to operator error. A common error in designing a configuration scheme is mixing production configuration with basic plumbing. Whenever possible, keep production configuration properties separate from the basic wiring and plumbing of the application. They should be in separate files so the administrators do not accidentally edit internals. The production configuration files should not be anywhere underneath the installation directory of the software itself because the installation directory is likely to be overwritten on the next upgrade. Using a version control system in operations to manage configuration files is a good idea. If you have configuration settings that are shared between machines, then keep those separate from those that are specific to a single machine. You want operators to immediately know what the scope of a setting is. It might be smart to have tools that verify that files that should be synchronized in a horizontally scaled deployment are actually in-- trust but verify. Consider configuration properties to be part of the operator's user interface so select clear and precise names. Try naming the property by function, such as authentication_server.