Learn how to design large-scale systems Original article is at Learn how to design large-scale systems