A distributed system is the one that prevents you from working because of the failure of a machine that you had never heard of

This quote is part of my tech quote explained series from Java One / Open World 2016. Actually it is the special edition for the OTN appreciation day ūüôā

Leslie’s Quote that I heard at Java One¬†2016:

“A distributed system is one that prevents you from working
because of the failure of a machine that you had never heard of.”

Leslie Lamport

Explanation:

The following explanation is mine, not Leslie Lamport’s.¬†Besides, yes, Leslie is the guy who is known for LaTex and his work on the Paxos algorithm.

There are many rather theoretical publications about distributed systems, but Leslie’s definition nails it. Distributed systems produce all kind of surprises! They are never boring. Latency issues or network failures may trigger¬†timeouts or split brain conditions.¬†System failures, availability zone outages or the complete failure of a data center region challenge your availability concept. If everything goes terribly, terribly wrong, you better have a good contingency plan within close reach.

Nowadays we offload some of these challenges to modern cloud architectures. On a PaaS or SaaS level you simply stop worrying about it, because somebody else solves the problem for you. On a IaaS level things are obviously more interesting. The popular circuit breaker pattern Рthe one that is now mentioned in seemingly every blog or presentation (I also wrote about it in my cloud book ) Рgoes back to the Netflix Cloud OSS and the research done in over 50 open source projects.

Antifragility means that you grow by doing the things that stress you. Like you when you grow your biceps when going to the gym. Modern cloud architectures run an armada of chaos monkeys, chaos gorillas and latency monkey that simulate system or data center failures in production environments and inject random latencies in networks. Due to this developers are challenged to write resilient code and architects architect for constant failure. The kind of failures Leslie mentioned in his quote.

Don’t miss the other quotes of this series, e.g. regarding app servers vs. monoliths, and about SaaS and Cloud APIs.

Speak Your Mind

*