Distributed Systems: Getting Started Resources

The very first software project I was ever involved with required us to write a financial portfolio management system for a London based company. After the system had been running for a few months, we were asked to make it available to their other branches across the globe too. As a web application this was easy enough, or so we thought. First challenge: system should be fast wherever you are accessing it from. Our journey with distributed computers was about to begin.

The landscape has changed dramatically since then. Cloud services like AWS and Azure have now made it possible for any small company to build systems that are distributed across many machines and even across the world. Furthermore, users are now expecting that their software should always be available, reliable and fast.

That’s the journey I find myself on to this day. Here are some resources that have helped along the way

Distributed Systems for Fun and Profit

What is a distributed system in the first place? This guide lays the ground work I find myself going back to over and over again to understand some of the core principles and problems that one is faced with when dealing with distributed systems. Read More…

A Note on Distributed Systems

A paper written over 20 years ago, but is still valuable for today. Trying to make the developers job easy, by abstracting away the underlying issues is not a good solution. Don’t drink the latest Koolaid. Dig a bit deeper and find out what we are actually trying to solve. Read more…

Designing Data-Intensive Applications

Data Intensive ApplicationsMartin Kleppmann has written a few great articles /talks (Turning Database inside out, Streams). And his book is no exception, even though it’s still in pre-release.

The book explores “what we’re actually trying to achieve: reliability, scalability and maintainability — how we need to think about them, and how we can achieve them.” Read more…

Dist-Systems: Slack Channel

Distributed System Slack ChannelA slack channel (created by Henry Robinson) for people who work on this stuff every day. I have found people on this channel extremely helpful. I have also learnt a lot, by just eaves dropping on the conversation that happen here.
Get your invite here: https://dist-sys-slack.herokuapp.com/

Academic Papers to read

Academic papersIn my past developer life, I never understood why one should read academic papers. They are outdated, difficult to read, and only work in “theory”. Well, turns out I was wrong. As an industry we tend to ignore things we have learnt a few decades ago. This blog post highlights some papers you should read. These papers lay the groundwork and discuss the challenges distributed systems need to overcome. Read more…

  • stevenmcd

    Thanks for the list dude!