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

Get Organized: How to be a Together Teacher (Coursera) Coursera
Relay Graduate School of Education

Get Organized: How to be a Together Teacher (Coursera)

This course is designed for classroom teachers who juggle time-sensitive tasks and often-exhausting teaching schedules. With an eye toward long-term sustainability, The Together Teacher examines the purpose for planning ahead, provides tools for tracking time commitments, deadlines and tasks, and helps teachers develop a personal organization system that interacts with their day-by-day practices. All teachers, from the pen & paper list maker to the tech-savvy digital maven, will benefit from the no-nonsense approach to "togetherness" that's presented in this course. We don't care what format you use; we care that you know when you have free time during the day, and that you have a plan for using it.

May 4th 2026
5-12 Weeks
Buscar en Internet (edX) EdX
Universitat Politècnica de València,UPValenciaX

Buscar en Internet (edX)

Aprenderás a planificar una búsqueda desde el comienzo y a utilizar las herramientas que Internet te ofrece para encontrar lo que buscas. En un mundo virtual en el que hay cientos de millones de páginas disponibles con informacion de todo tipo, buscar en Internet de forma eficaz es una habilidad cada día más necesaria. Aprende con nosotros a separar el grano de la paja usando las herramientas disponibles y realizando las preguntas de forma adecuada.

Self Paced
Self-Paced
Big Data Fundamentals (edX) EdX
University of Adelaide,AdelaideX

Big Data Fundamentals (edX)

Learn how big data is driving organisational change and essential analytical tools and techniques, including data mining and PageRank algorithms. Organizations now have access to massive amounts of data and it’s influencing the way they operate. They are realizing in order to be successful they must leverage their data to make effective business decisions.

Self Paced
Self-Paced
Advanced Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Advanced Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Sep 14th 2026
5-12 Weeks
High Performance Computer Architecture (Udacity) Udacity
Georgia Institute of Technology,Udacity

High Performance Computer Architecture (Udacity)

The course begins with a lesson on performance measurement, which leads to a discussion on the necessity of performance improvement. Pipelining, the first level of performance refinement, is reviewed. The weaknesses of pipelining will be exposed and explored, and various solutions to these issues will be studied. The student will learn hardware, software, and compiler based solutions to these issues.

Self Paced
Self-Paced
IT Project Management (Coursera) Coursera
Indian School of Business - ISB

IT Project Management (Coursera)

The concepts and use of project management tools, techniques and methodologies are becoming all pervasive. This course addresses project management in the context of IT projects, including software projects. Using the framework of project life cycle, the course covers various aspects pertaining to (i) project initiation, (ii) project planning and scheduling, (iii) project monitoring and control, and (iv) project termination. For planning and scheduling of projects, the use of project network and estimation of time and cost are covered in detail. Scheduling of projects with resource limitations is covered next.

Feb 14th 2022
4 Weeks
Big Data Capstone Project (edX) EdX
University of Adelaide,AdelaideX

Big Data Capstone Project (edX)

Further develop your knowledge of big data by applying the skills you have learned to a real-world data science project. This project will give you the opportunity to deepen your learning by giving you valuable experience in evaluating, selecting and applying relevant data science techniques, principles and theory to a data science problem. This project will see you plan and execute a reasonably substantial project and demonstrate autonomy, initiative and accountability.

Self Paced
Self-Paced
Planificación y control de proyectos con Microsoft Project (edX) EdX
The Pontificia Universidad Javeriana,JaverianaX

Planificación y control de proyectos con Microsoft Project (edX)

En este MOOC los participantes comprenderán las características que hacen de Microsoft Project una herramienta que facilita la planeación, el manejo, el seguimiento y el control de proyectos de distintas complejidades y la posibilidad de emplear esta herramienta en diferentes contextos, como en la gestión de proyectos laborales, proyectos académicos, entre otros.

Self Paced
Self-Paced
Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Sep 21st 2026
5-12 Weeks
Architecting with Google Kubernetes Engine: Workloads en Français (Coursera) Coursera
Google Cloud

Architecting with Google Kubernetes Engine: Workloads en Français (Coursera)

"Le cours ""Architecting with Google Kubernetes Engine: Workloads"" vous apprend à effectuer des opérations Kubernetes ; à créer et gérer des déploiements ; à utiliser les outils de mise en réseau GKE, et à attribuer un espace de stockage persistant à vos charges de travail Kubernetes. Ce cours fait partie d'une formation spécialisée consacrée à la création d'infrastructures informatiques efficaces à l'aide de Kubernetes et de GKE. Cette formation porte sur le déploiement et la gestion d'applications conteneurisées sur GKE et les autres services proposés par Google Cloud Platform.

Sep 7th 2026
1 Week