The fallacies of distributed computing

Building distributed systems can be complex undertaking. This makes solid architecture, design, coding, and testing all critical to success. Failure at any of these points can lead to degraded performance, unhandled failures, unplanned expenses required to redesign the system, and ultimately lost customers.

The eight fallacies of distributed computing were asserted by Peter Deutsch, James Gosling and others at Sun Microsystems. These false assumptions serve as a guide and warning to all of us building distributed systems.

The eight fallacies are:

  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.

While this guidance was laid out twenty years ago, we are still making these mistakes today. These mistakes show up as unsecured endpoints, timeouts due to serialization of large objects, lost transactions, slow performance, and more. Averting these mistakes means considering these fallacies during every design and code review. It is critical that we challenge our teams to make this part of their DNA.

To learn more, please referrer to this white paper:
http://www.rgoarchitects.com/Files/fallacies.pdf

No Comments