Exercise 8: Designing Internet Scale Apps

Pick your favorite internet or other data-intensive application (eg. Facebook, Snapchat, Twitter, Youtube, Uber/Lyft, Amazon, etc.)

1) What are the key business processes? What are the key data flows?

2) What are the key data items that the application need to manage? Where do those data come from?

3) What are the main performance requirements on the application?

4) What might the application architecture look like? Try designing the application architecture yourself.

5) How will the application scale? What techniques/technology are used to meet the requirements?

6) Find out on the internet how the application was actually architected and how it has evolved.