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.
Cloud Computing Concepts, Part 1
This course is part of Cloud Computing Specialization
Instructor: Indranil Gupta
Sponsored by Coursera Learning Team
144,999 already enrolled
(1,062 reviews)
Skills you'll gain
Details to know
Add to your LinkedIn profile
4 quizzes, 4 assignments
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- 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
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
There are 5 modules in this course
This course is oriented towards learners with similar backgrounds as juniors and seniors in a CS undergraduate curriculum. Since learners come from various backgrounds, it is critical you view this lecture AND pass the prerequisite test. This will ensure you have many of the assumed prerequisite pieces of knowledge required to enjoy this course.
What's included
16 videos8 readings1 quiz2 assignments2 discussion prompts1 plugin
Lesson 1: This module teaches how the multicast problem is solved by using epidemic/gossip protocols. It also teaches analysis of such protocols. Lesson 2: This module covers the design of failure detectors, a key component in any distributed system. Membership protocols, which use failure detectors as components, are also covered. Lesson 3: This module covers Grid computing, an important precursor to cloud computing.
What's included
14 videos2 readings1 quiz1 discussion prompt
P2P systems: This module teaches the detailed design of two classes of peer to peer systems: (a) popular ones including Napster, Gnutella, FastTrack, and BitTorrent; and (b) efficient ones including distributed hash tables (Chord, Pastry, and Kelips). Besides focusing on design, the module also analyzes these systems in detail.
What's included
10 videos2 readings1 quiz1 discussion prompt
Lesson 1: This module motivates and teaches the design of key-value/NoSQL storage/database systems. We cover the design of two major industry systems: Apache Cassandra and HBase. We also cover the famous CAP theorem. Lesson 2: Distributed systems are asynchronous, which makes clocks at different machines hard to synchronize. This module first covers various clock synchronization algorithms, and then covers ways of tagging events with causal timestamps that avoid synchronizing clocks. These classical algorithms were invented decades ago, yet are used widely in today’s cloud systems.
What's included
12 videos3 readings1 assignment1 discussion prompt
Lesson 1: This module covers how to calculate a distributed snapshot, leveraging causality again to circumvent the synchronization problem. Lesson 2: This lecture teaches how to order multicasts in any distributed system. Algorithms for assigning timestamp tags to multicasts using various flavors of ordering – FIFO, Causal, and Total – are covered. The module also covers virtual synchrony, a paradigm that combines reliable multicasts with membership views. Lesson 3: Consensus is one of the most important problems in a distributed system, enabling multiple machines to agree. This module uses Paxos, one of the most popular consensus solutions used in the industry today. Paxos is not perfect because consensus cannot be solved completely – an optional lecture presents the famous FLP proof of impossibility of consensus.
What's included
16 videos4 readings1 quiz1 assignment1 programming assignment3 discussion prompts1 plugin
Instructor
Offered by
Why people choose Coursera for their career
Learner reviews
1,062 reviews
- 5 stars
63.84%
- 4 stars
21.46%
- 3 stars
6.02%
- 2 stars
2.73%
- 1 star
5.93%
Showing 3 of 1062
Reviewed on Dec 5, 2016
Great lectures. However, the starter code for the programming assignment is quite atrocious. Overall, would highly recommend to anyone wanting to learn high level concepts in distributed systems.
Reviewed on Aug 7, 2016
Professor Indranil Gupta is apt in his explanations.
Reviewed on Jun 8, 2018
Liked the course very much. Only suggestion is if the speaker could speak a little slower. This will allow the listener to think alongside.
Recommended if you're interested in Computer Science
Alibaba Cloud Academy
Johns Hopkins University
University of Colorado System
Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy