Why Are Distributed Systems so Hard?

Distributed software systems and software architectures are known for being notoriously difficult to wrangle. But why? This talk covers a brief history of distributed computing, clear up some common myths about the CAP theorem, dig into why network partitions are inevitable. It closes out by highlighting how a few popular consensus algorithms mitigate the risks of operating in a distributed fashion. This presentation also discusses how to design systems that take into account human factors, which can help reduce the impact of programmatic uncertainty.

Video producer: https://gotochgo.com/