Cloud Computing Concepts
Coursera
Course Summary
Learn core distributed computing concepts that underlie today’s and tomorrow’s cloud computing systems.
-
+
Course Description
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 stores
- Classical precursors
- Widely-used algorithms
- Classical algorithms
- Scalability
- Trending areas
- And more!
You will also watch interviews with leading managers and researchers, from both industry and academia. Understand how these techniques work inside today’s most widely-used cloud computing systems. Get your hands dirty using these concepts with provided homework exercises. In the optional programming track, implement some of these concepts in template assignments provided in C++ programming language.
-
+
Course Syllabus
This course will be broken up into 5 weekly modules covering the following topics: Week 1: Orientation, Intro to Clouds, MapReduce Week 2: Gossip, Membership, Grids Week 3: P2P Systems Week 4: Key-Value Stores, Time and Ordering Week 5: Snapshots, Multicast, Paxos Week 6: Leader Election, Mutual Exclusion Week 7: Concurrency Control, Replication Control Week 8: Stream Processing, Graph Processing, Structure of Networks, Scheduling Week 9: Distributed File Systems, Distributed Shared Memory, Sensor Networks Week 10: Security, Datacenter Outage Studies, Wrap-up
-
+
Recommended Background
This course assumes some basic knowledge of working computer systems. This course is generally oriented towards either graduate students (or senior undergraduates) or developers in industry who are working with cloud computing systems. Some familiarity with cloud computing systems helps, but is not a prerequisite. In the optional programming track, familiarity with C++ programming language is required. This course does not teach you how to use cloud computing systems or about networking or Big Data. If we were to draw an analogy, if this course were about cars, then it would teach you the physics relating to the internals of the car (e.g., friction, transmission, gears, etc.) and basics about the internals of the car (e.g., about the carburetor, engine, etc.). The course would not, however, teach you how to drive a car or about automobile accident statistics or about how roads are built. Take this course if you’re curious about cloud computing systems. Do not take this course if you know nothing about computers or computer science.
-
+
Course Format
In addition to watching several video segments, you will participate in the following activities:
- in-video quiz questions
- homework assignments
- optional programming assignments
-
+
Suggested Reading
Course videos, slides, and homeworks serve as the primary class content. Readings and links on the open Web may also be used. No textbook is required.