Best of Distributed SystemsNovember 2023

  1. 1
    Article
    Avatar of pragmaticengineerThe Pragmatic Engineer·3y

    The Roots of Today's Modern Backend Engineering Practices

    The article explores the evolution of modern backend engineering practices by discussing the roots of these practices. It covers topics such as the challenges faced in early backend development, the birth of ARPANET and its influence on distributed systems, and the rise of the internet and web-based computing. The article emphasizes the importance of learning from the past to understand current backend engineering practices.

  2. 2
    Article
    Avatar of mafoMartin Fowler·2y

    Patterns of Distributed Systems

    A senior developer in India observed colleagues struggling with core distributed systems concepts and developed a code-centric approach to teach them. This approach led to the development of a series of patterns in distributed system design, which are included in a book containing thirty patterns with explanatory text, sequence diagrams, and code samples.

  3. 3
    Article
    Avatar of substackSubstack·2y

    What is Microservice Architecture?

    Microservice architecture is about breaking down an application into small, loosely coupled services. It offers benefits such as scalability, flexibility, and resilience. The CAP theorem states that a distributed system can't simultaneously provide consistency, availability, and partition tolerance. Self-contained Systems (SCS) are a software architecture approach that prioritizes the decentralization of applications into independent systems.

  4. 4
    Article
    Avatar of infoqInfoQ·3y

    The False Dichotomy of Monolith vs. Microservices

    Microservices are not the cause of complexity, but the cure to it. They come with costs and benefits, and the fear of microservices may stem from hype and perceived complexity. Microservices can help manage complexity by breaking it into smaller, more manageable parts. The choice between monolith and microservices is not binary, but rather a spectrum of possibilities. It's important to find the right-sized services for your situation and be open to change and experimentation.