Ashwin used this great slide at our TIBCO BusinessEvents QLGroup best-practices session this week, courtesy of James Gosling’s blog and credited to Peter Deutsch.
Essentially everyone, when they first build a distributed application, makes the following eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences.
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn’t change
6. There is one administrator
7. Transport cost is zero
8. The network is homogeneous
Arnon Rotem-Gal-Oz did a follow-up white paper that goes into more details.