Matt Welsh suggests that systems researchers should work on an escape from configuration hell. I’ve felt some of the pain he describes while managing a small handful of servers.
Coming from a software engineering background, I would have instinctively classified the problem of misconfiguration as a software engineering problem instead of a systems one. But, really it’s an IT problem more than anything else. And therein lies the tragedy: IT is not considered a respectable area of research in the computer science academic community.
After years of working on the configuration problem, I’m convinced that the problem isn’t fundamentally tractable, not with the current landscape. Existing OS distros don’t have the right primitives or semantics for configuration. I think that this idea isn’t widely held, particularly in the distro/packager community.
One interesting approach is to throw away the distro entirely, and build everything from source; oddly enough, that actually simplifies the semantics of configuration quite a bit; tools that are trying to help simplify things often complicate automated management in a horrific way. This build from source approach is what the BOSH guys did, and I think that it is critical for predictable configuration semantics.
Interesting idea… What are the semantics that you need in order to do configuration management “right”?