Challenges in building distributed systems -

  1. Communication