Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architecting Distributed Systems at Scale — Fro...

Architecting Distributed Systems at Scale — From Pain to Pattern

Microservices, Reactive & Distributed Systems Vienna Meetup

SQUER Solutions

April 30, 2025
Tweet

More Decks by SQUER Solutions

Other Decks in Technology

Transcript

  1. bento.me/david-leitner Chapter 1: Why Words Fail Us Chapter 2: Autonomy

    as the Driver of Architecture Chapter 3: Economies of Scope Over Scale Chapter 4: Integration Defines Constraints Chapter 5: Time Can’t Be Trusted (Yet) Chapter 6: Resilience Depends on Who You Are Agenda:
  2. bento.me/david-leitner Ludwig Wittgenstein Austrian Philosopher “All philosophy is a critique

    of language.” most traditional philosophical problems are not real problems they're just the result of confused language.
  3. bento.me/david-leitner Just as we define a Ubiquitous Language for the

    Problem Space, we should also build a shared Pattern Language for the Solution Space.
  4. bento.me/david-leitner Architecting highly scaled systems isn’t about being the smartest

    person in the room. It’s about creating a shared understanding of what we are optimizing for. Chapter 1:
  5. bento.me/david-leitner if you do more of it, it slows down

    & breaks all the time. economies of software engineering
  6. bento.me/david-leitner if you do more of it, it slows down

    & breaks all the time. economies of software engineering
  7. bento.me/david-leitner We at conducted a study * * Still not

    representative due to a sample size that is still too small. … We asked teams what slows them down, decreases their velocity, and negatively impacts their developer experience. The percentages in red show the issues that are located outside of the team. The larger the organization gets, the higher the (unweighted) number of issues that can only be resolved externally. …
  8. bento.me/david-leitner fun(UCV) = architecture fun(UCV) = organization Maximize | Org

    ∩ Architecture | Organizations change. Technologies change. Business values remain surprisingly stable.
  9. bento.me/david-leitner Let T = number of teams involved in a

    change Let S = number of services that must be redeployed Multiplier to define Accidental Complexity of Change = T × S That’s what good architecture should optimize against.
  10. bento.me/david-leitner Let’s stop wasting time debating which library is the

    right one and start aligning architecture with organizational and business goals. Chapter 2:
  11. bento.me/david-leitner If your users haven’t built anything that surprises you,

    then you probably haven’t done a very good job of providing a platform that truly accelerates them. Chapter 3:
  12. bento.me/david-leitner Patterns of integration have not involved much, as the

    underlying constraints of the network have mainly remained unchanged. Chapter 4:
  13. bento.me/david-leitner Either invest a lot of money, and probably still

    get it wrong or embrace eventual consistency. Chapter 5:
  14. bento.me/david-leitner Resilience is the ability of a system to withstand,

    recover from, and adapt to failures, disruptions, or unexpected conditions, while maintaining acceptable levels of service and without complete breakdown. Resilience is a dial, not a switch — it's a matter of how much you want to safeguard your system from going down by investing money and effort into it.
  15. bento.me/david-leitner You’re not a senior engineer because you’ve implemented lots

    of happy path. You’re a senior because you’re over-experienced in everything that can go wrong. And will go wrong. Chapter 6:
  16. bento.me/david-leitner Chapter 1: Why Words Fail Us Chapter 2: Autonomy

    as the Driver of Architecture Chapter 3: Economies of Scope Over Scale Chapter 4: Integration Defines Constraints Chapter 5: Time Can’t Be Trusted (Yet) Chapter 6: Resilience Depends on Who You Are Agenda: …to be continued