Skip to main content
CourseintermediateFree

Cloud Computing (Distributed Systems focus)

University of Illinois

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies – all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing. Some of these concepts include: clouds, MapReduce, key-value/NoSQL stores, classical distributed algorithms, widely-used distributed algorithms, scalability, trending areas, and much, much more! Know how these systems work from the inside out. Get your hands dirty using these concepts with provided homework exercises. In the programming assignments, implement some of these concepts in template code (programs) provided in the C++ programming language. Prior experience with C++ is required. The course also features interviews with leading researchers and managers, from both industry and academia.

Visit resource

More resources on Distributed Systems

WebsiteFree

highscalability.com

High Scalability is a tech blog offering in-depth articles and real-world case studies on building scalable distributed systems, with content on architecture patterns, performance tuning, scalability challenges, and deployment strategies.

WebsiteFree

Distributed Systems for Fun and Profit

Mikito Takada's short online text covers system models, the CAP and FLP impossibility results, consistency models, time and vector clocks, and replication from two-phase commit through Paxos, Dynamo and CRDTs, with pointers to the underlying papers.

CourseFree

Distributed Systems

Learn distributed databases with Martin Kleppmann's course. Explore key concepts and build scalable systems!

CourseFree

Distributed Systems (MIT 6.5840)

The graduate course formerly numbered 6.824: fault tolerance, replication and consistency, taught through research-paper case studies. Lecture notes, past exams with solutions, and Go labs on MapReduce, Raft consensus and a sharded key-value store teach learners to build reliable distributed systems.

CourseFree

Principles of Computer System Design: An Introduction (MIT RES.6-033)

Part II (chapters 7 to 11) of the textbook that grew from 6.033 Computer System Engineering, covering networks, fault tolerance, atomicity, consistency and security. Provides the open chapters with problem sets, giving learners the principles behind reliable, secure computer systems.

CourseFree

Distributed Database Systems

A Coursera course from Johns Hopkins University covering the principles of distributed database systems, including data distribution, replication, consistency models, and transaction processing across networked database nodes.

See all Distributed Systems resources →