Lectures

All lectures will be from 9:30 to 11:50 am. There will be a 40-minute break at 10:20.

Lecture 1: Overview

This lecture will introduce the requirements and challenges of building planet-scale applications. It will then draw conclusions from those requirements and start presenting solutions to those problems.

Lecture 2: Data replication

Data Replication is essential for providing high availability and for surviving various types of disasters, but is one of the trickiest to get right. This lecture will compare and contrast several data replication techniques.

Lecture 3: Service replication

This session will explore ways in which we can distribute large scale services over many machines and locations to achieve the requirements introduced in Lecture 1.

Lecture 4: Advanced topics

We will explore advanced topics including:

  • How do you assign and maintain ownership of a piece of data or function?

  • How do you route requests to those owners?

  • How does the system architecture change as you scale up?

  • How do you test and verify that your system is correct?

  • How to ensure durability of the data?

Lecture 5: Performance and recap

In the final day we will wrap up our story for building high scale cloud application and explore performance implications of these decisions.