EdX

Modern Distributed Systems (edX)

Modern Distributed Systems (edX)

Distributed systems are the backbone of modern society but entail challenges in areas such as complexity and energy-use. Discover distributed systems from first principles, understand the architectures and techniques derived from them and explore examples of current practical use.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Modern IT infrastructure is built as distributed systems, an exciting concept that started with the first computers and evolved rapidly into its present form. From online video meetings to internet services, from social media platforms to online games, we all use and interact with distributed systems on a daily basis and increasingly depend on them. Designing and operating such large-scale distributed systems, however, is complex and typically involves making reasonable compromises. There are fundamental technical barriers as well as economic arguments why we cannot make these systems behave as if they were running on a single, perfectly reliable machine..
In this course, learners will be introduced to the essential functional and non-functional concerns of distributed systems and the common problems encountered while designing them, such as consistency, availability, elasticity, and scalability. A variety of practical solutions that have been established in the leading tech industry in recent years will be reviewed. These provide re-usable building blocks to create new large-scale applications. These recent developments, especially around cloud computing, large-scale data processing, distributed machine learning, and other fields are often not reflected in textbooks and are absent from many traditional curricula but are at the heart of this course.
The course will therefore provide learners with the fundamental understanding (theoretical and practical foundations) of how cloud, edge, and big data processing systems work and how they address common challenges for distributed systems such as performance, resilience, and scalability.
The learning progress is assessed through a variety of different activities including quizzes, design exercises, experiments, and open questions, with peer review of other students’ solutions. In the final project, learners will design a distributed system based on the learners’ own experience and interests and describe the functional and non-functional properties of the system.

What you'll learn

  • Describe the principles of distributed systems.
  • Contrast distributed systems with other forms of computation (e.g., single machine computation, parallel computing).
  • Identify applications of distributed systems in science, engineering, business, and home use, and in particular the use of cloud and serverless applications, big data and graph processing applications, interactive and online gaming, etc.
  • Analyze and design core architectures, components, and techniques in distributed systems.
  • Solve practical problems related to modern uses of distributed systems.

Syllabus

Module 1: Introduction to Distributed Systems

  • Parallel vs. Distributed Systems
  • Challenges in Distributed Systems
  • The CAP Theorem
  • Example 1: Online Gaming
  • Example 2: Scientific Computing

Module 2: Functional Requirements

  • Functional vs. Non–Functional Properties
  • Naming
  • Replication
  • Consistency
  • Consensus

Module 3: Non-Functional Requirements

  • Importance of Performance
  • Measuring NFRs: Metrics
  • Scalability and Elasticity
  • Amdahl’s Law
  • Gustafson’s Law
  • Benchmarking

Module 4: Resource Management and Scheduling

  • Scheduling in the Small: Processor Scheduling
  • Scheduling in the Large: Scheduling for Distributed Systems
  • Workloads in DS
  • Centralized Schedulers: Kubernetes, etc.
  • Decentralized Schedulers: (HTCondor) etc.
  • Portfolio Scheduling

Module 5: System Architectures and Programming Models

  • Trade-offs between SAs and PMs
  • Programming Models
  • System Architectures: communication, big data, machine learning
  • Layering

Module 6: Distributed Ecosystems

  • Introduction to massive processing
  • Theory of ecosystems
  • Super-distribution principle
  • Distributed ecosystems in science and engineering: cloud, edge, big data
  • Distributed ecosystems in online gaming
  • The future of distributed ecosystems
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

BIM for Construction (edX) EdX
Purdue University,PurdueX

BIM for Construction (edX)

Learn how to couple BIM and traditional scheduling and cost-estimating tools to develop 4D, 5D, and nD models for effective construction applications. This course is the second of a sequence of interrelated courses on current computer applications in the construction industry. The emphasis of this course is the application of building information modeling (BIM) in construction.

Feb 13th 2022
5-12 Weeks
Introduction to Optimization (edX) EdX
Seoul National University,SNUx

Introduction to Optimization (edX)

A self-contained course on the fundamentals of modern optimization with equal emphasis on theory, implementation, and application. We consider linear and nonlinear optimization problems, including network flow problems and game-theoretic models in which selfish agents compete for shared resources. We apply these models to a variety of real-world scenarios.

Oct 31st 2023
5-12 Weeks
Systems Engineering (Coursera) Coursera
MathWorks

Systems Engineering (Coursera)

Systems Engineering provides a broad overview of how systems engineering helps you develop complex projects that meet program objectives in an efficient way. You will learn how system architectures are developed and described, how to communicate the needs, requirements, and constraints throughout the project, how to optimize the design through trade studies, and how to know the system does what it’s supposed to in the end.

Jun 19th 2026
1 Week
Gestión de proyectos: las bases del éxito (Coursera) Coursera
University of California, Irvine

Gestión de proyectos: las bases del éxito (Coursera)

En este curso se combinan los elementos esenciales de la gestión de proyectos y el liderazgo de equipo en un único contenido. A través de la participación y reflexión en clase, adquirirás una mayor comprensión de las responsabilidades que conlleva el liderazgo y una mejor preparación para aplicar este conocimiento en el entorno de un proyecto.

Jun 22nd 2026
4 Weeks
Introduction to Operating Systems (Udacity) Udacity
Georgia Institute of Technology,Udacity

Introduction to Operating Systems (Udacity)

Introduction to Operating Systems is a graduate-level introductory course in operating systems. This course teaches the basic operating system abstractions, mechanisms, and their implementations. The core of the course contains concurrent programming (threads and synchronization), inter process communication, and an introduction to distributed operating systems. The course is split into four sections: (1) Introduction, (2) Process and Thread Management, (3) Resource Management and Communication, and (4) Distributed Systems.

Self Paced
Self-Paced
Quantum Technologies for Decision Makers (edX) EdX
University of Queensland,UQx

Quantum Technologies for Decision Makers (edX)

Quantum technology is all around yet many of us can readily be confused by the science, let alone the trajectories to identifying commercial opportunities. In such a context, making strategic decisions when the science and engineering are shifting presents many innovation dilemmas. Our interest lies in exploring enough of the science to boost our understanding so that we can make informed decisions to allocate resources that create and harness emerging opportunities.

Mar 28th 2023
4 Weeks
Field Operations and Administrative Tools in Construction Management (edX) EdX
University of Maryland, College Park,University System of Maryland - USM,USMx,UMD

Field Operations and Administrative Tools in Construction Management (edX)

Learn the Construction Management tools needed to manage the people and the project, including estimating and scheduling. These tools combined with methods of control will ensure effective feedback and create a powerful system for delivery on-schedule and under budget.

Self Paced
Self-Paced
Understanding the World Through Data (edX) EdX
MIT,MITx

Understanding the World Through Data (edX)

Become a data explorer – learn how to leverage data and basic machine learning algorithms to understand the world. Speech recognition, drones, and self-driving cars – things that once seemed like pure science fiction – are now widely available technologies, and just a few examples of how humans have taught machines to analyze data and make decisions. In this hands-on, introductory course, you will examine all the forms in which data exists, learn tools that uncover relationships between data, and leverage basic algorithms to understand the world from a new perspective.

Mar 13th 2024
5-12 Weeks
Big Data Analytics Using Spark (edX) EdX
University of California, San Diego,UC San DiegoX

Big Data Analytics Using Spark (edX)

Learn how to analyze large datasets using Jupyter notebooks, MapReduce and Spark as a platform. In data science, data is called “big” if it cannot fit into the memory of a single standard laptop or workstation. The analysis of big datasets requires using a cluster of tens, hundreds or thousands of computers. Effectively using such clusters requires the use of distributed files systems, such as the Hadoop Distributed File System (HDFS) and corresponding computational models, such as Hadoop, MapReduce and Spark.

Dec 5th 2023
5-12 Weeks