The fallacies of distributed computing
NewRelic has an interesting new take on an old classic from Sun on “The fallacies of distributed computing“, which is an old look at 8 axioms that designers often take for granted when designing distributed computing systems. The list if very succinct and to the point including gems like “the network is reliable” and “there is one administrator”.
Many applications that are being designed today for the cloud take advantage of a lot of aspects of things that are directly out of control of the engineer. The guys who design the network know that it’s not reliable – there are many redundancies that can be put into place, but sooner or later something is going to fail. However, if you’re a designer or developer working in a cloud environment, and just assume the network will always be up and reliable, you’re going to be in for a big surprise.
The best part of the article is the quote from Leslie Lamport:
You know you have a distributed system when the crash of a computer you’ve never
heard of stops you from getting any work done.
– Leslie Lamport : Security Engineering: A Guide to Building Dependable Distributed Systems
Building or designing distributed systems in your own private data center (like Data Cave’s midwest Indiana data center!) or in the cloud is definitely a difficult task. Don’t take these things for granted, and be sure to plan for failures.