Pete Whiting, in a guest post on Joel Dehlin’s blog, has some insights into the perils of complexity. This is good food for thought as we plan our server virtualization project at Resurrection, which we have scheduled for implementation in May. I particularly agree with Pete’s point about isolating/avoiding tight coupling between services. For example, it’s much better if an application is dependent only on one server, than if it requires two (or more) servers to be able to operate. With virtualization, we are making it a priority to gather everything a particular application needs onto a single virtual server, which will be able to run on either of two redundant physical servers. This architecture provides the benefits of redundancy without introducing unnecessary interdependence.
My friend DD says “When you say ‘no single points of failure’ I hear ‘multiple points of failure'”He cracks me up. But I think he is right most of the time. (But I still have redundant everything) The only single point of failures are my wife, my son, and my dog. Everything else has a backup. 😉