diff --git a/_docs/13-anti-patterns.md b/_docs/13-anti-patterns.md index b51f9fc0..3f3a6465 100644 --- a/_docs/13-anti-patterns.md +++ b/_docs/13-anti-patterns.md @@ -73,21 +73,12 @@ If you remember nothing else: 5. Watch for **coupling sneaking back in** — every anti-pattern in this chapter is a face of that one failure. -## The shoulders this stands on - -The slides and these references are enough to build the system, not just -talk about it: - -- Sam Newman, *Building Microservices* (2nd ed.) — service boundaries and - integration. -- Martin Kleppmann & Chris Riccomini, *Designing Data-Intensive Applications* (2nd - ed.) — the data and consistency foundations behind the outbox and saga. -- Adam Bellemare, *Building Event-Driven Microservices* — the event backbone. -- Cornelia Davis, *Cloud Native Patterns*; Unmesh Joshi, *Patterns of Distributed - Systems*. -- The API-design trio for contracts and versioning depth: JJ Geewax, *API Design - Patterns*; Olaf Zimmermann et al., *Patterns for API Design*; Mike Amundsen, - *RESTful Web APIs* — plus the relevant IETF RFCs and drafts. +## Further reading + +The books behind these sections, from service boundaries and distributed data to API design, +coupling and stability patterns, are collected in the +[Bibliography]({{ '/bibliography/' | relative_url }}) with links to each publisher, alongside the +relevant IETF RFCs and drafts. That closes the thirteen core sections. The appendices that follow go deeper on the questions that always come up — protocols, versioning, WebSockets, sagas, errors, diff --git a/_includes/header.html b/_includes/header.html index 5e711da8..7bac72e5 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -11,6 +11,8 @@ {% if page.url contains '/examples/prerequisites' %}aria-current="page"{% endif %}>Prerequisites Examples + Bibliography GitHub ↗ diff --git a/bibliography.md b/bibliography.md new file mode 100644 index 00000000..d467cd4e --- /dev/null +++ b/bibliography.md @@ -0,0 +1,37 @@ +--- +title: "Bibliography" +layout: plan +permalink: /bibliography/ +description: "The books this site's patterns, chapters and appendices build on, with links to each publisher." +--- + +The chapters and appendices draw on a small set of books on microservices, distributed data, +event-driven systems, API design, coupling and production stability. They are reference works, +not sources: no text or code from any of them is reproduced here. Where a topic in this site is +useful to you, these are the places to go deeper. + +| Title | Author(s) | Publisher | Year | Focus | +|---|---|---|---|---| +| [*Building Microservices*, 2nd ed.](https://www.oreilly.com/library/view/building-microservices-2nd/9781492034018/) | Sam Newman | O'Reilly | 2021 | Service boundaries and integration | +| [*Monolith to Microservices*](https://www.oreilly.com/library/view/monolith-to-microservices/9781492047834/) | Sam Newman | O'Reilly | 2019 | Incremental decomposition patterns such as the strangler fig (Appendix K) | +| [*Designing Data-Intensive Applications*, 2nd ed.](https://www.oreilly.com/library/view/designing-data-intensive-applications/9781098119058/) | Martin Kleppmann, Chris Riccomini | O'Reilly | 2026 | Data and consistency foundations behind the outbox and the saga | +| [*Building Event-Driven Microservices*, 2nd ed.](https://www.oreilly.com/library/view/building-event-driven-microservices/9798341622180/) | Adam Bellemare | O'Reilly | 2025 | The event backbone: event streams, schemas and event-driven services | +| [*Cloud Native Patterns*](https://www.manning.com/books/cloud-native-patterns) | Cornelia Davis | Manning | 2019 | Change-tolerant cloud-native design | +| [*Patterns of Distributed Systems*](https://www.informit.com/store/patterns-of-distributed-systems-9780138221980) | Unmesh Joshi | Addison-Wesley | 2023 | Replication, consensus and partitioning building blocks | +| [*Architecture Modernization*](https://www.manning.com/books/architecture-modernization) | Nick Tune with Jean-Georges Perrin | Manning | 2024 | Aligning architecture with business strategy and team structure | +| [*Cloud Native Anti-Patterns*](https://www.packtpub.com/en-us/product/cloud-native-anti-patterns-9781836200581) | Gerald Bachlmayr, Aiden Ziegelaar, Alan Blockley, Bojan Zivic | Packt | 2025 | Common cloud-native mistakes and how to refactor them | +| [*Principles of Web API Design*](https://www.informit.com/store/principles-of-web-api-design-delivering-value-with-9780137355631) | James Higginbotham | Addison-Wesley | 2021 | An outcome-driven API design process | +| [*API Design Patterns*](https://www.manning.com/books/api-design-patterns) | JJ Geewax | Manning | 2021 | Resource and operation design, versioning | +| [*Patterns for API Design*](https://www.informit.com/store/patterns-for-api-design-simplifying-integration-with-9780137670109) | Olaf Zimmermann, Mirko Stocker, Daniel Lübke, Uwe Zdun, Cesare Pautasso | Addison-Wesley | 2022 | Message-exchange, quality and evolution patterns for APIs | +| [*RESTful Web APIs*](https://www.oreilly.com/library/view/restful-web-apis/9781449359713/) | Leonard Richardson, Mike Amundsen (foreword by Sam Ruby) | O'Reilly | 2013 | Hypermedia and REST; successor to Richardson and Ruby's *RESTful Web Services* (2007) | +| [*Learning Domain-Driven Design*](https://www.oreilly.com/library/view/learning-domain-driven-design/9781098100124/) | Vlad Khononov | O'Reilly | 2021 | Bounded contexts and context mapping (Appendix F) | +| [*Balancing Coupling in Software Design*](https://www.informit.com/store/balancing-coupling-in-software-design-universal-design-9780137353538) | Vlad Khononov | Addison-Wesley | 2024 | Integration strength, distance and volatility (Appendix G) | +| [*Release It!*, 2nd ed.](https://pragprog.com/titles/mnee2/release-it-second-edition/) | Michael T. Nygard | Pragmatic Bookshelf | 2018 | Stability patterns: timeouts, circuit breakers, bulkheads (Appendix M) | +| [*Site Reliability Engineering*](https://sre.google/sre-book/table-of-contents/) | Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy (eds.) | O'Reilly | 2016 | Cascading failures and handling overload; free to read online (Appendix M) | + +For contracts, versioning and error formats, the relevant IETF RFCs and drafts sit alongside +these books; each chapter names the ones it relies on. + +Every title here is also on the PatternCatalyst +[Recommended Reading](https://patterncatalyst.github.io/patterncatalyst-workshops-tutorials-list/books/) +list, which collects the books referenced across all of our workshops and tutorials.