Thursday, 27 November 2008

Configuration

Just read Yang's new blog about configuration .  He has enumerated a list of requirements for a configuration framework. I have some thoughts on this as well because I have just been through a configuration hell in the past year as well. To crystallize the concept here, I will try to categorize configuraiton:
  1. Dependency tree. E.g. A cannot function until B is online, B cannot function until C and D is online etc
  2. Wiring. E.g. A can connect to B at address 10.1.1.0:8000
  3. Membership. A and B are in Group 1. This often ties to permission and capability
  4. Variables. From physical knots to parameters set for a program
  5. Access control.
It is very high level and broad. I don't think a "framework" can enables effective configuration management across these categories. It's an important problem to solve. But I believe it is easier to tackle with a divide and conquer approach. i.e. come up with a process and tool to solve a clearly defined category. Two things are quite important: 1. engineers typically attack problems by building powerful tools. However the process of using it is often much more important. 2. try not to be ambitious when defining the target category, because ambition there means complexity hell later on when more and more clever people try to use the tool to configure things more cleverly.

No comments: