Skip to main content
CourseFlix

Distributed Systems

19h 12m 22s
English
Paid

Discover the world of distributed systems - a dynamic field where the evolution of multiple computers has transformed both quantity and distribution. While businesses once sought powerful mainframes, today even modest applications harness the power of multiple machines operating in tandem.

Understanding Distributed Systems

Distributed systems encompass the intricate science of making decisions around trade-offs inherent in this unique architecture. The appeal of mastering the construction of any distributed system is undeniable, but the journey is more nuanced and profound than it first seems.

Course Goals and Expectations

The course realistically aims to instill a sense of calm in facing unavoidable constraints, the courage to change what is possible, and the wisdom to distinguish between the two. Achieving this balance is crucial for success in distributed systems.

Basic Knowledge Required

The foundations of distributed systems often intersect with operating systems, networks, and databases. While a grounding in these areas is presumed, the course is designed for enthusiastic learners, allowing exploration of foundational courses as necessary.

Course Structure and Content

The course architecture draws inspiration from the renowned textbook Designing Data-Intensive Applications, referred to as DDIA throughout. Although not a conventional academic text, DDIA skillfully merges principles with practical applications in distributed systems. Author Kleppmann's pragmatic approach retains theoretical rigor, making it a favored resource in the field.

Instructor Insights from Oz

The course, which is currently underway, includes live seminars focused on key concepts, with recordings available for those unable to attend live sessions. Active CS Primer subscribers are encouraged to join synchronously, maximizing the benefits of real-time learning.

Learning Methodology

Given the conceptual nature of distributed systems, the course heavily relies on seminars, a substantial project component (such as developing a distributed key-value store), and intensive system design problem-solving. This comprehensive approach ensures a thorough understanding of distributed systems both theoretically and practically.

Key Components of the Course

  • Live Seminars: Engage with live discussions to deepen your understanding of distributed systems.
  • Project Work: Gain hands-on experience by developing a distributed key-value store.
  • System Design Challenges: Tackle complex problems to enhance your practical skills.

Why Choose This Course?

This course combines theoretical foundations with practical applications, guided by expert instructors and valuable resources. It caters to both beginners and advanced learners, ensuring that everyone attains a profound understanding of distributed systems.

Community and Support

Join a vibrant learning community and access continuous support from both peers and experienced mentors throughout your educational journey.

About the Author: Oz Nova (csprimer.com)

Oz Nova (csprimer.com) thumbnail
Hello, my name is Oz. I am a computer science instructor and a father who is homeschooling his children, living in rural Australia. Since 2015, I have been running Bradfield, a small professional school that was originally located in San Francisco and is now fully online. Starting in 2024, I am focusing my energy on csprimer.com - a flexible schedule computer science curriculum. Previously, I worked as a software engineer and CTO, including co-founding Vida Health.

Watch Online 20 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 20 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 001 - KV store introduction
All Course Lessons (20)
#Lesson TitleDurationAccess
1
001 - KV store introduction Demo
01:03:14
2
002 - Introduction to distributed systems
01:25:25
3
003 - How to study distributed systems
11:16
4
004 - Klepmanns three objectives of distributed systems
06:53
5
005 - How Complex Systems Fail
06:00
6
006 - Do you really need a distributed system
05:59
7
007 - Service oriented architecture at Amazon
05:04
8
008 - Wire formats
01:26:49
9
009 - API patterns REST SOAP RPC GraphQL
56:30
10
010 - Replication
01:32:23
11
011 - Partitioning
01:15:08
12
012 - Models of consistency
01:17:34
13
013 - Consensus
01:24:09
14
014 - Dynamo
01:24:49
15
015 - Batch processing GFS and MapReduce
01:15:24
16
016 - Stream processing
56:59
17
017 - Dictionary search
52:51
18
018 - Thesaurus scraper
01:19:40
19
019 - Log aggregator
01:22:30
20
020 - Image rescaler
01:03:45
Unlock unlimited learning

Get instant access to all 19 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription