Eight Fallacies of Distributed Computing

12 Oct 2021

Summary

Programming in a local, monolithic environment is very different from developing distributed applications such as microservices. This aritcle discusses 8 common pitfalls in distributed development.

Background

Monolith vs Microservices

Monolith: a geological feature consisting of a single massive stone This is a monolith:

But this is also a monolith. Ok.

Back to distributed systems. What is a monolith in this context?

Microservices

Details

The main difference between monolith and microservice development is that in a local setting, the memory space reside on the same physical machine. This means that we can modify and access the data immediately and deterministically. This assumption needs to be reconsidered for distributed developments.

Fallacy #1: The network is reliable

#2: Latency is zero

#3: Bandwidth is infinite

#4: The network is secure

#5: The network topology does not change

#6: There is one administrator

#7: Transport cost is zero

#8: The network is homogeneous

Comments

Sources

https://sookocheff.com/post/distributed-systems/unpacking-the-eight-fallacies-of-distributed-computing/

https://www.vox.com/culture/22062796/monoliths-utah-california-romania

https://en.wikipedia.org/wiki/Monolith#/media/File:Uluru,_helicopter_view,_cropped.jpg