Configuration management best practices March 30, 2007
Posted by Saravanan in Programming, Software.trackback
In my earlier post, I discussed about how the configurations can be managed in an enterprise application easily. This is an exclusive post to discuss about the configuration management best practices based on my experience.
1. Put comments for every configuration parameters. This applies for configurations as it applies for code. The operations team who will manage it cannot understand it without comments. Also if new instance is setup, you may not be involved and comments will help operations to decide the new value.
2. Where ever possible, put the example values in comments and how the application will be behave if the value is changed
3. If the configuration file is shared with other components, maintain a copy of parameters used by your application. This will help you if you want to maintain the configurations separately.
4. Though java properties files are good, to maintain large configuration information, I prefer Windows INI format for its grouping. Let the configuration readers return the values in java properties format.
5. Have a singleton configuration loader to manage the configurations. Application will always get the value from configuration loader and NOT cache it locally
6. Implement JMX console to refresh configuration values in singleton loaders so that application need not be restarted.
7. You can also put a monitor to load configurations if the file is modified. This will avoid the server restart to apply the new configuration values.
8. The last but the most important one – NEVER modify your configuration file without taking a backup. If the file gets messed up and without backup, your service will be severely impacted and you cannot meet your SLA.


Comments»
No comments yet — be the first.