I will be speaking at StangeLoop this September. Check out the website for up to the minute details. My talk is titled The Eight Fallacies of Distributed Computing based on Peter Deutsch and James Gosling's earlier discussion of these fallacies.
The wild growth of the web and mobile has driven the need for scalability in server architectures. Scalability is generally achieved by building distributed solutions, yet we developers still make some pretty simple mistakes due to what are often common misconceptions. Many of these misconceptions are summarized by the eight fallacies of distributed computing.
I first heard about these fallacies in an off-hand remark by James Gosling at JavaOne in 2000. Gosling attributed them to Peter Deutsch. Although the eight fallacies are not widely known, as a group they summarize many of the dangers faced by distributed application developers.
The eight fallacies are listed as simple statements that express important concepts in distributed computing:
Fallacy 1: The Network Is Reliable. Fallacy 2: Latency Is Zero. Fallacy 3: Bandwidth Is Infinite. Fallacy 4: The Network Is Secure. Fallacy 5: Topology Doesn't Change. Fallacy 6: There Is One Administrator. Fallacy 7: Transport Cost Is Zero. Fallacy 8: The Network is Homogeneous.
In this talk I will expand on each fallacy by providing context, examples and a sprinkling of some real world experiences from my time at NeXT, PRI, TIBCO and Fog Creek. Hopefully most of the examples will be humorous, but others may likely seem tragic. My ultimate goal is to provide you with new ways to visualize possible problems in your distributed architectures, and motivate you to re-evaluate your designs while maintaining a healthy fear of back-hoes.
If you are going to be in St. Louis in September, please stop by to say hello.