# Murat Demirbas - Hints for Distributed Systems Design (Highlights)

## Metadata
**Review**:: [readwise.io](https://readwise.io/bookreview/33193031)
**Source**:: #from/readwise #from/reader
**Zettel**:: #zettel/fleeting
**Status**:: #x
**Authors**:: [[Murat Demirbas]]
**Full Title**:: Hints for Distributed Systems Design
**Category**:: #articles #readwise/articles
**Category Icon**:: 📰
**URL**:: [muratbuffalo.blogspot.com](http://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html)
**Host**:: [[muratbuffalo.blogspot.com]]
**Highlighted**:: [[2023-10-15]]
**Created**:: [[2023-10-16]]
## Highlights
- As to methods, there may be a million and then some, but principles are few. The man who grasps principles can successfully select his own methods. The man who tries methods, ignoring principles, is sure to have trouble. -- Harrington Emerson ([View Highlight](https://read.readwise.io/read/01hcrar8fjsy8x1rb0gxxfjaay)) ^610588601
- Monotonicity ensures that as new information becomes available, the decisions and actions taken in the past are not invalidated ([View Highlight](https://read.readwise.io/read/01hcrb0d6dxvgbshjg3aysx7w0)) ^610588946
- Partial order means some events may not have a defined order relative to each other. Instead, events are ordered based on causality. ([View Highlight](https://read.readwise.io/read/01hcrb4rd3rcf3pdz63wvs1qd6)) ^610589144
- Lightweight formal methods helps for designing correct and fault-tolerant protocols. But a correct protocol is useless if it doesn't have good performance as well. ([View Highlight](https://read.readwise.io/read/01hcrbbj51zz0bvs0arr4s6h4c)) ^610589377
- Simulation is a good way to get back-of-the-envelope estimations for performance (latency, throughput) and cost (capacity and monetary cost). ([View Highlight](https://read.readwise.io/read/01hcrbc8zpm7kg95nsynda8fez)) ^610589391
- Simulating your distributed system in a controlled deterministic environment can reveal potential correctness and recovery problems. ([View Highlight](https://read.readwise.io/read/01hcrbm0r4fsrytfxm4636yc8g)) ^610589679
related: FoundationDB
- Observability is a key tool for developing highly scalable and highly available distributed systems. The system should prioritize feeling the pain, not masking it. ([View Highlight](https://read.readwise.io/read/01hcrbrjspbcd6jhxx7vbhs0rh)) ^610590731