Skip to main content

Sources

Authoritative Sources

The definitions, patterns, and practices in this pack are grounded in the following primary and widely recognised sources on software architecture. Where a concept has a canonical originator (for example Hexagonal Architecture or the C4 model), the original or maintained reference is cited.

Standards and Reference Models

  • ISO/IEC/IEEE 42010:2011 - Systems and software engineering, Architecture description. https://www.iso.org/standard/50508.html
  • Software Architecture in Practice (Bass, Clements, Kazman) - SEI overview. https://www.sei.cmu.edu/
  • The Architecture Tradeoff Analysis Method (ATAM) - Software Engineering Institute. https://www.sei.cmu.edu/library/architecture-tradeoff-analysis-method-collection/
  • The 4+1 View Model of Architecture (Philippe Kruchten, IEEE Software, 1995). https://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf

Architectural Styles and Patterns

  • Patterns of Enterprise Application Architecture and architecture articles - Martin Fowler. https://martinfowler.com/
  • Microservices - Martin Fowler and James Lewis. https://martinfowler.com/articles/microservices.html
  • MonolithFirst - Martin Fowler. https://martinfowler.com/bliki/MonolithFirst.html
  • Hexagonal Architecture (Ports and Adapters) - Alistair Cockburn. https://alistair.cockburn.us/hexagonal-architecture/
  • The Clean Architecture - Robert C. Martin. https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
  • CQRS - Martin Fowler. https://martinfowler.com/bliki/CQRS.html
  • Event Sourcing - Martin Fowler. https://martinfowler.com/eaaDev/EventSourcing.html
  • Strangler Fig Application - Martin Fowler. https://martinfowler.com/bliki/StranglerFigApplication.html

Domain-Driven Design

  • Domain-Driven Design Reference - Eric Evans. https://www.domainlanguage.com/ddd/reference/
  • BoundedContext - Martin Fowler. https://martinfowler.com/bliki/BoundedContext.html
  • DDD Aggregate - Martin Fowler. https://martinfowler.com/bliki/DDD_Aggregate.html

Distributed Systems and Consistency

  • CAP Theorem (Brewer's conjecture) - overview, Martin Fowler. https://martinfowler.com/bliki/CAP.html
  • Saga pattern - microservices.io (Chris Richardson). https://microservices.io/patterns/data/saga.html
  • API Gateway pattern - microservices.io. https://microservices.io/patterns/apigateway.html
  • Pattern: Backends For Frontends - Sam Newman. https://samnewman.io/patterns/architectural/bff/

Cloud-Native and Operations

  • The Twelve-Factor App methodology. https://12factor.net/
  • Cloud Native Computing Foundation (CNCF). https://www.cncf.io/
  • Google Site Reliability Engineering Book (SLI/SLO/SLA, error budgets). https://sre.google/sre-book/table-of-contents/
  • HTTP Semantics - RFC 9110 (methods, idempotency, status codes), IETF. https://www.rfc-editor.org/rfc/rfc9110.html

Documentation and Evaluation

  • The C4 model for visualising software architecture - Simon Brown. https://c4model.com/
  • Architecture Decision Records (ADR) - Michael Nygard. https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions
  • Building Evolutionary Architectures (fitness functions) - Ford, Parsons, Kua. https://www.thoughtworks.com/insights/books/building-evolutionary-architectures
  • Conway's Law - overview, Martin Fowler. https://martinfowler.com/bliki/ConwaysLaw.html