Short Summary:

Credits:

Prerequisites:

Large-scale Distributed System Design

Principles and concepts of designing and building distributed systems. Introduction to architectures for distributed computation including map-reduce, client-server, peer to peer, and event-driven. Cloud computing and APIs. Reliability, availability, and scalability of distributed systems.