Week 4, Day 2 (Wednesday, Jan 29)

In-class exercise

Distributed/Cloud systems structure

From There Is No Getting Around It: You Are Building a Distributed System.

Cloud applications are distributed systems—designing for the cloud is designing a distributed system

Every application is different

Note how much other stuff is necessary to build an application:

The distributed services of an image resize service
Source: p. 66 of There Is No Getting Around It: You Are Building a Distributed System, Copyright ACM, 2013.

The many questions to ask about a distributed service:

Reading guide for next class

Read There Is No Getting Around It: You Are Building a Distributed System, from Messaging (p. 67) up to but not including Platform Components (p. 68).

These two sections are short but dense. For the “Messaging” section, consider how your use of SQS in Assignment 2 fits his description. Also note how he considers each of the factors (geographies, etc.) for this subservice.

For the “Automating Failover” section, focus on the basic need: We need to design how the system recovers when a subcomponent fails.