Lessons in Simplexity
Six takeaways for managing complexity in distributed systems.
Lesson 1
Make evolvability a requirement
Takeaway
Evolvability is a prediction for managing complexity
Lesson 2
Break complexity into pieces
Takeaway
Disaggregate into building blocks with high-cohesion and well-defined APIs
Lesson 3
Align organizations to architectures
Takeaway
Build small teams, challenge the status quo, and encourage ownership
Lesson 4
Organize into cells
Takeaway
In a complex system you must reduce the scope of impact
Lesson 5
Design predictable systems
Takeaway
Reduce the impact of uncertainty
Lesson 6
Automate complexity
Takeaway
Automate everything that doesn’t require high judgement