Cloud Computing Concepts: Part 2
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Cloud Computing Concepts: Part 2
This course is part of Cloud Computing Specialization
Instructor: Indranil Gupta
37,628 already enrolled
Included with
Learn more
Ask Coursera
323 reviews
323 reviews
Skills you'll gain
Tools you'll learn
Details to know
7 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
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.
What's included
11 videos7 readings2 assignments2 discussion prompts1 plugin
11 videosβ’Total 122 minutes
- 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
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
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
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
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
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
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
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.
What's included
11 videos3 readings2 assignments1 programming assignment3 discussion prompts1 plugin
11 videosβ’Total 102 minutes
- Week 5 Introductionβ’1 minute
- 1.1. Basic Security Conceptsβ’10 minutes
- 1.2. Basic Cryptography Conceptsβ’9 minutes
- 1.3. Implementing Mechanism using Cryptographyβ’15 minutes
- 2.1. What Causes Disasters?β’6 minutes
- 2.2. AWS Outageβ’14 minutes
- 2.3. Facebook Outageβ’6 minutes
- 2.4. The Planet Outageβ’6 minutes
- 2.5. Wrap-Upβ’8 minutes
- Interview with Paul Kwiatβ’24 minutes
- Conclusion to Cloud Computing Concepts, Part 2β’3 minutes
3 readingsβ’Total 30 minutes
- Week 5 Overviewβ’10 minutes
- Homework 5 Instructionsβ’10 minutes
- Final Exam Instructionsβ’10 minutes
2 assignmentsβ’Total 60 minutes
- Homework 5β’30 minutes
- Final Examβ’30 minutes
1 programming assignmentβ’Total 180 minutes
- Fault-Tolerant Key-Value Storeβ’180 minutes
3 discussion promptsβ’Total 30 minutes
- Homework 5 Discussionβ’10 minutes
- Final Exam Discussionβ’10 minutes
- Final Reflectionβ’10 minutes
1 pluginβ’Total 15 minutes
- How was the course?β’15 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Explore more from Algorithms
- U
University of Illinois Urbana-Champaign
Course
- U
University of Illinois Urbana-Champaign
Course
- U
University of Illinois Urbana-Champaign
Course
- U
University of Illinois Urbana-Champaign
Course
Why people choose Coursera for their career
Learner reviews
- 5 stars
68.11%
- 4 stars
24.45%
- 3 stars
4.02%
- 2 stars
0.92%
- 1 star
2.47%
Showing 3 of 323
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.
Reviewed on Oct 16, 2016
Excellent Course! I found both the Cloud Computing Concepts highly informative and relevant for the course objective.
Reviewed on Mar 31, 2018
Awesome class for software engineers. If you haven't take it in college, or need a refresher, this is a great way to do so.
Frequently asked questions
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.
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.
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.
More questions
Financial aid available,
