A distributed system can be more available than its minimally available part. A whole can be larger than the sum of its parts.
Distributed systems are hard, but are even more difficult if you are not thinking about them with a distributed set of mind.
When building such systems, we have to be aware of the fallacies of distributed computing. We must think about failure scenarios and account for them.
We will cover real-world scenarios and try to apply a few surprisingly simple techniques that might have helped avoiding distributed systems failures.