Challenges with distributed systems
Introducing properties of distributed systems that make them so challenging, including non-determinism and testing.