About the Book
Distributed systems are everywhere nowadays, from the chat applications we use to communicate with our friends to the online stores we use for our shopping. However, distributed systems are by nature complicated. In order to design and build a distributed system that will work properly, one has to understand a lot of different concepts and nuances and the literature of distributed systems can be quite big and chaotic at times.
This book makes an effort to collate the basic principles, algorithms and protocols in the field of distributed systems. It introduces the basic problems that are inherent in distributed systems, the main approaches to tackle them and any associated complications one needs to keep in mind. You will have the chance to get an overview of the seminal papers in the field, while also understanding how the associated algorithms and protocols can be used in real life. As implied by the title, the goal of this book is to maintain a practical perspective, by explaining algorithms in the simplest terms possible and demonstrating how implementations of them can be used in real systems.
Who is this book for
This book is aimed at software engineers that have some experience in building software systems and have no or some experience in distributed systems. It assumes no knowledge around concepts and algorithms for distributed systems. This book attempts to gradually introduce the terms and explain the basic algorithms in the simplest way possible, providing many diagrams and examples. As a result, this book can also be useful to people that don't develop software, but want to get an introduction to the field of distributed systems.
Want to show some love?
If you have already read the book and you liked it, you can help other people find out about it in one of the following ways:
- Submit a review on Amazon and/or Goodreads.
- Send me an e-mail using the form below with your testimonial and I'll be happy to include it in the testimonials section below.
- Share the book on your social media (Linkedin/Twitter and all the other cool boys in the hood).
About the Author
Dimos is a software engineer who has been designing, building and operating software systems over the last decade. He holds an MEng in Electrical and Computer Engineering from the National Technical University of Athens and an MSc in Software Engineering from Imperial College London. His endless curiosity usually leads him down big rabbit holes and when he's lucky, he re-emerges with a big bucket of knowledge. When he finds some time, he enjoys sharing this knowledge with others either through his blog or by writing books. He's the author of the books Distributed Systems for Practitioners and Computer Science for kids.