Overall cost and simplicity are the primary strengths of the layered architecture style. Being monolithic in nature, layered architectures don’t have the complexities associated with distributed architecture styles, are simple and easy to understand, and are relatively low cost to build and maintain. However, as a cautionary note, these ratings start to quickly diminish as monolithic layered architectures get bigger and consequently more complex.
- Fundamentals of Software Architecture,\ Mark Richards, Neal Ford, chapter 10. "Layered Architecture Style".
In "Fundamentals of Software Architecture" they imply that layered architecture style is inherently monolithic.
Which to me seems like a questionable statement:
- When you use microservice-based architecture it's still useful to split each microservice's code into layers and have business logic, storage and communication as separate layers. Simply because it encourages separation on responsibilities, modularity.
- Ultimately - even if you write a layered monolithic application - nothing prevents you from deploying it as many different separate microservices.
I'm looking for answers supported by references to authoritative sources.