When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 5 modules in this course
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.
This course builds on the material covered in the Cloud Computing Concepts, Part 1 course.
Lesson 1: To coordinate machines in a distributed system, this module first looks at classical algorithms for electing a leader, including the Ring algorithm and Bully algorithm. We also cover how Google’s Chubby and Apache Zookeeper solve leader election. Lesson 2: This module covers solutions to the problem of mutual exclusion, which is important for correctness in distributed systems with shared resources. We cover classical algorithms, including Ricart-Agrawala’s algorithm and Maekawa’s algorithm. We also cover Google’s Chubby support for mutual exclusion.
Introduction to Cloud Computing Concepts, Part 2•3 minutes
Orientation Towards Cloud Computing Concepts: Some Basic Computer Science Fundamentals•24 minutes
Week 1 Introduction•1 minute
1.1. The Election Problem•9 minutes
1.2. Ring Leader Election•14 minutes
1.3. Election in Chubby and ZooKeeper•9 minutes
1.4. Bully Algorithm•10 minutes
2.1. Introduction and Basics•13 minutes
2.2. Distributed Mutual Exclusion•11 minutes
2.3. Ricart-Agrawala's Algorithm•12 minutes
2.4. Maekawa's Algorithm and Wrap-Up•16 minutes
7 readings•Total 70 minutes
Orientation Overview•10 minutes
Syllabus•10 minutes
About the Discussion Forums•10 minutes
Course Learning Community and Social Media•10 minutes
Week 1 Overview•10 minutes
Homework 1 Instructions•10 minutes
Programming Assignment Instructions•10 minutes
2 assignments•Total 60 minutes
Homework 1•30 minutes
Orientation Quiz•30 minutes
2 discussion prompts•Total 20 minutes
Getting to Know Your Classmates•10 minutes
Homework 1 Discussion•10 minutes
1 plugin•Total 15 minutes
Welcome! Please tell us about yourself.•15 minutes
Week 2: Concurrency and Replication Control
3 hours to complete
Module details
Lesson 1: Transactions are an important component of many cloud systems today. This module presents building blocks to ensure transactions work as intended, from Remote Procedure Calls (RPCs), to serial equivalence for transactions, to optimistic and pessimistic approaches to concurrency control, to deadlock avoidance/prevention. Lesson 2: This module covers how replication – maintaining copies of the same data at different locations – is used to provide many nines of availability in distributed systems, as well as different techniques for replication and for ensuring transactions commit correctly in spite of replication.
What's included
8 videos2 readings1 assignment1 discussion prompt
Show info about module content
8 videos•Total 95 minutes
Week 2 Introduction•2 minutes
1.1. RPCs•17 minutes
1.2. Transactions•14 minutes
1.3. Serial Equivalence•12 minutes
1.4. Pessimistic Concurrency•14 minutes
1.5. Optimistic Concurrency Control•9 minutes
2.1. Replication•14 minutes
2.2. Two-Phase Commit•12 minutes
2 readings•Total 20 minutes
Week 2 Overview•10 minutes
Homework 2 Instructions•10 minutes
1 assignment•Total 30 minutes
Homework 2•30 minutes
1 discussion prompt•Total 10 minutes
Homework 2 Discussion•10 minutes
Week 3: Emerging Paradigms
3 hours to complete
Module details
Lesson 1: We study the emerging area of stream processing, touching on key design aspects of Apache Storm. Lesson 2: We study how enormous graphs can be processed in clouds. Lesson 3: We study various types of networks/graphs that are both natural and artificial, and their surprising commonalities. Lesson 4: This module presents classical scheduling algorithms that have been used in operating systems since the inception of computers. We then cover two popular scheduling algorithms for Hadoop.
What's included
9 videos2 readings1 assignment1 discussion prompt
Show info about module content
9 videos•Total 110 minutes
Week 3 Introduction•2 minutes
Stream Processing in Storm•16 minutes
Distributed Graph Processing•17 minutes
Structure of Networks•21 minutes
4.1. Single-processor Scheduling•11 minutes
4.2. Hadoop Scheduling•12 minutes
4.3. Dominant-Resource Fair Scheduling•8 minutes
Storm Demo •9 minutes
Apache Spark by Faria Kalim•13 minutes
2 readings•Total 20 minutes
Week 3 Overview•10 minutes
Homework 3 Instructions•10 minutes
1 assignment•Total 30 minutes
Homework 3•30 minutes
1 discussion prompt•Total 10 minutes
Homework 3 Discussion•10 minutes
Week 4: Classical Systems
3 hours to complete
Module details
Lesson 1: When files and directories are stored/accessed over the network, it is called a distributed file system. This module covers the working of distributed file systems like NFS and AFS. Lesson 2: This module covers Distributed Shared Memory systems, their techniques, and pros/cons. Lesson 3: This module looks at the area of sensor networks, starting from what’s inside a sensor mote and how networks of them work.
What's included
6 videos2 readings1 assignment1 discussion prompt
Show info about module content
6 videos•Total 109 minutes
Week 4 Introduction•1 minute
1.1. File System Abstraction•23 minutes
1.2. NFS and AFS•14 minutes
Distributed Shared Memory•17 minutes
Sensor and Their Networks•30 minutes
Interview with Brighten Godfrey•23 minutes
2 readings•Total 20 minutes
Week 4 Overview•10 minutes
Homework 4 Instructions•10 minutes
1 assignment•Total 30 minutes
Homework 4•30 minutes
1 discussion prompt•Total 10 minutes
Homework 4 Discussion•10 minutes
Week 5: Real-Life Behaviors
7 hours to complete
Module details
Lesson 1: This module is a primer on basic security concepts, not just applied to distributed systems, but also more generally. We study various policies and mechanisms, including encryption, authentication, and authorization. Lesson 2: This module presents case studies of real datacenter outages, and attempts to draw lessons on how to prevent them and how to better prepare for them.
The University of Illinois at Urbana-Champaign is a world leader in research, teaching and public engagement, distinguished by the breadth of its programs, broad academic excellence, and internationally renowned faculty and alumni. Illinois serves the world by creating knowledge, preparing students for lives of impact, and finding solutions to critical societal needs.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.5
322 reviews
5 stars
68.01%
4 stars
24.53%
3 stars
4.03%
2 stars
0.93%
1 star
2.48%
Showing 3 of 322
A
AQ
5·
Reviewed on Jun 30, 2018
It was an awesome experience to learn and explore key areas of distributed systems in clud computing concepts
H
HG
5·
Reviewed on Apr 14, 2017
Just the same as the first course. Medium-hard quizzes and a hard programming assigment that is actually harder to understand than to develop.Overall a five star course.
E
EH
5·
Reviewed on Nov 4, 2019
Very good course to get into cloud computing. The programming assignments are on the challenging side so make sure to start early
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.