Congratulations, you reached the end of the book! I hope you learned something you didn’t know before and perhaps even had a few “aha” moments. Although this is the end of the book, it’s just the beginning of your journey. One of the best ways to learn how to design large scale systems is by standing on the shoulders of the giants.
Industry papers provide a wealth of knowledge about distributed systems that have stood the test of time. My recommendation is to start with “Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency,” which describes Azure’s cloud storage system1. Azure’s cloud storage is the core building block on top of which Microsoft built many other successful products. You will see many of the concepts introduced in the book there. One of the key design decisions was to guarantee strong consistency, unlike AWS S32, making the application developers’ job much easier.
Once you have digested that, I suggest reading “Azure Data Explorer: a big data analytics cloud platform optimized for interactive, adhoc queries over structured, semi-structured and unstructured data.” The paper discusses the implementation of a cloud-native event store built on top of Azure’s cloud storage — a great example of how these large scale systems compose on top of each other3.
Finally, if you are preparing for the system design interview, check out Alex Xu’s book “System Design Interview.” The book introduces a framework to tackle design interviews and includes more than 10 case studies.
Think of it as Azure’s equivalent of AWS S3, which unfortunately doesn’t have a public paper↩︎
S3 supports strong consistency since December 2020, though↩︎
I worked on a time-series data store that builds on top of Azure Data Explorer and Azure Storage, unfortunately, no public paper is available for it just yet↩︎