{
  "accessed": "2026-07-22",
  "sources": [
    {"name": "Dehghani Break a Monolith into Microservices", "url": "https://martinfowler.com/articles/break-monolith-into-microservices.html", "sha256": null, "required_text": ["size of each service matters least", "Developers can build, test and release each microservice independently", "Start with larger services around a logical domain concept"]},
    {"name": "Fowler Microservice Trade-Offs", "url": "https://martinfowler.com/articles/microservice-trade-offs.html", "sha256": null, "required_text": ["Strong Module Boundaries", "Independent Deployment", "remote calls are slow and are always at risk of failure"]},
    {"name": "OASIS SOA Reference Model", "url": "https://docs.oasis-open.org/soa-rm/v1.0/soa-rm.html", "sha256": null, "required_text": ["paradigm for organizing and utilizing distributed capabilities", "not directly tied to any standards, technologies or other concrete implementation details", "granularity and coarseness are usually relative"]},
    {"name": "Microsoft Identify microservice boundaries", "url": "https://learn.microsoft.com/en-us/azure/architecture/microservices/model/microservice-boundaries", "sha256": null, "required_text": ["There are no interdependencies that require two or more services to be deployed together", "Use factors such as team size", "start with more coarse-grained microservices"]},
    {"name": "Microsoft Data sovereignty per microservice", "url": "https://learn.microsoft.com/en-us/dotnet/architecture/microservices/architect-microservice-container-applications/data-sovereignty-per-microservice", "sha256": null, "required_text": ["each microservice must own its domain data and logic", "autonomous lifecycle", "independent deployment per microservice"]}
  ]
}
