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

Dive deeper with
Dr. Vogels