Cloud Computing and MapReduce
Stub. What cloud computing is and the properties that define it, and MapReduce/Hadoop as the canonical programming model and system for batch data processing at cloud scale.
Introduces the cloud as a distributed-systems setting in its own right — elastic, multi-tenant, commodity-hardware-at-scale — and MapReduce as the programming model that made that scale usable for data processing: express a computation as an embarrassingly parallel “map” over independent chunks of data followed by a “reduce” that aggregates per-key results, and let the runtime (Hadoop) handle scheduling, data placement, and fault tolerance (re-running failed tasks) transparently. This is the baseline that stream processing and graph-processing frameworks later generalize away from.
Outline (TODO — flesh out each)
- What is cloud computing? Defining properties
- Why cloud computing — economics, elasticity, multi-tenancy
- The MapReduce programming model
- Hadoop — architecture, fault tolerance via re-execution