Best (Handpicked) Resources To Learn Software Architecture, Distributed Systems and System Design
In this article, I’ve put together a list of resources (online courses + books) that I believe are super helpful in building a solid foundation in software architecture and designing large-scale distributed systems like Facebook, YouTube, Gmail, Uber & so on. I’ll start with…
Platforms & Resources Worth Checking Out That Give You A Push Ahead In Your Software Career
Affiliate Disclaimer: The resources stated in this article contain affiliate links. That means if you find the content on these platforms helpful & worthy of spending your money on & you buy a subscription or a single or a few courses. I get a small…
YouTube Architecture – How Does It Serve High-Quality Videos With Low Latency
Earlier I wrote an article on how YouTube stores petabyte-scale data every single day. How does it store so many videos without running out of storage space? This write-up is an insight into the video processing & delivery architecture of YouTube. How does it serve…
Full List Of Articles In The Decentralized Web Category
1 Why Bitcoin Cannot Be Used as a Real Currency in Our Everyday Lives – Simply Explained Article Link 2 The Ultimate Guide to Understanding Cloud Web Torrent Article Link 3 The Beginners Guide to Beaker Browser & P2P Peer to Peer Web Apps Article…
Full List Of Articles In The Software Engineering Category
1 What is cAdvisor? How Does it Work? Explained Article Link 2 What is Grafana? Why Use It? Everything You Should Know About It Article Link 3 What is Data Ingestion? How to Pick the Right Data Ingestion Tool? Article Link 4 What is Swagger?…
Distributed Systems and Scalability Feed
Facebook photo storage architecture
Facebook built Haystack, an object storage system designed for storing photos on a large scale. The platform stores over 260 billion images which amounts to over 20 petabytes of data. One billion new photos are uploaded each week which is approx—60 terabytes of data. At peak, the platform serves over one million images per second.
In the original NAS-based photo storage architecture, Facebook faced throughput and latency issues as the photos and the associated metadata lookups in NAS caused excessive disk operations almost upto ten just for retrieving a single image.

Tail latency in distributed systems
Tail latency is that tiny percentage of responses from a system that are the slowest in comparison to most of the responses. They are often called as the 98th or 99th percentile response times. This may seem insignificant at first but for large applications like LinkedIn, this has noticeable effects. This could mean that for a page having a million views per day 10,000 of those page views would experience the delay. Read how LinkedIn deals with longtail network latencies.
There can be multiple causes of tail latency: increasing load on the system, complex and distributed systems, application bottlenecks, slow network, slow disk access and more. Read more on it.
RobinHood: Tail latency-aware caching
RobinHood is a research caching system for application servers in large distributed systems having diverse backends. The cache system dynamically partitions the cache space between different backend services and continuously optimizes the partition sizes.
Microsoft research has a talk on getting rid of long-tail latencies.
Zero to Software Architect Learning Track - Starting from Zero to Designing Web-Scale Distributed Applications Like a Pro. Check it out.
Master system design for your interviews. Check out this blog post written by me.
Looking for developer, software architect jobs? Try Jooble. Jooble is a job search engine created for a single purpose: To help you find the job of your dreams!!
Zero to Software Architect Learning Track - Starting from Zero to Designing Web-Scale Distributed Applications Like a Pro. Check it out.
Recent Posts
- How Actor model/Actors run in clusters facilitating asynchronous communication in distributed systems
- Understanding the Actor model to build non-blocking, high-throughput distributed systems
- Technical Consultant: How can I become one? Explained with an example
- IT consultant: How do I become one? Explained with a real-world use case
- Software architecture course – From zero to mastering the fundamentals
Follow On Social Media