Distributed Systems: A Practitioner's Guide

This book came about from my need to explain Distributed Systems at Mist. We build wireless access points that can be managed from the cloud for Medium to Large Enterprises. This meant as an engineering organization, we had to adapt to both the large and the small scale of systems. Engineers have to quickly learn the inherent issues with managing a large scale distributed system in public cloud(s) and I'll be the last person to say it's intuitive in any way.

This document started out as an internal document titled "Distributed Systems @ Mist" to explain some fundamental concepts to my coworkers and to serve as a common point of discussion between Engineers, Managers, and Executives. I also want to help people who might be in situation like me -- trying to hold the weight of everything, explaining concepts to software engineers, devops and also stay true to the underlying theory and complexities.

After the first iteration as the internal document, I decided to write it in the open. It's by no means complete -- and it's likely to never be. But the modern distributed system owes it to great part on adoption of open source movement. My goal is to make it easier to understand these complex systems for everyone. I hope it is useful for getting a deeper understanding, I welcome any feedback and discussions.

Since I started writing this book, a lot has changed in the overall awareness of building and deploying distributed systems and the field seems to have matured significantly in the last few years. Google has taken massive strides in evangelizing their SRE approach as well as renewed interest in security and compliance after some massive breaches. So the overarching question for software engineers is "How can we build robust, secure and maintainable distributed systems?" In that vein, this book is highly influenced by "Distributed Systems Observability" and "Accelerate" in the respective philosophies in how a large distributed system ought to be operationalized. There are many other resources that will be added over time but the hard fact I've learned is knowing the intricacies of CAP theorem is not sufficient if you don't have your ducks in a row for basic operational needs of your organization.

The overarching intent isn't to write a "bible of distributed systems" but a handbook and a living document that can be maintained and adapted to new understandings in the field that are ready to be put into production.


Sincerely,

Prasanna Gautam (@prasincs)

results matching ""

    No results matching ""