Dodging Silver Bullets, Emergence in Distributed Architectures

Dodging Silver Bullets, Emergence in Distributed Architectures

This talk analyzes the conditions that lead us to adopt complex distributed software architectures like microservices. Extending Conway’s law, we observe that software is a reflection of a technical, social and even economic context and can be well understood as an emergent process. Attendees will learn the virtues and vices of domain partitioning architectures and enough context to apply them coherently.


Sean Braithwaite

December 05, 2017


  1. 6.

    @brapse Dodging Silver Bullets Agenda: • Architectures that Partition Domains

    • Politics & Economy of Software Architecture • Emergent Tensions • Domain Entropy • Evolving in Parallel
  2. 17.

    @brapse Dodging Silver Bullets We need to understand not only

    How but more specifically Why and When
  3. 22.

    @brapse Dodging Silver Bullets All Things Centralised: • App Team

    with same reporting line • Monolithic Rails in a single repository • Single Domain & Consistent language
  4. 23.

    @brapse Dodging Silver Bullets Driving Change: • New users &

    new uses • Platform Proliferation • Hyper Growth
  5. 24.

    @brapse Dodging Silver Bullets Emergent Tensions: • App Team developed

    cliques • Pull requests Battle Royal • Domain objects adopted multiple meanings
  6. 27.

    @brapse Dodging Silver Bullets Social Entropy: Social entropy implies the

    tendency of social networks and society in general to break down over time, moving from cooperation and advancement towards conflict and chaos.
  7. 28.

    @brapse Dodging Silver Bullets Domain Entropy: Domain entropy implies the

    tendency for domains to break down over time, moving from coherent towards conflict and chaos.
  8. 29.

    @brapse Dodging Silver Bullets ex: Internet platforms tend to grow

    to the point in which spam becomes a real problem. As the problem grows, spam becomes it’s own Domain.
  9. 33.

    @brapse Dodging Silver Bullets Summary: • Architectures that partition domains

    • Emergent tensions • Domain Entropy • Evolving in parallel