TOPIC: There and Back Again of Software Architecture: Monoliths to Microservices and Back
Any mention of monolithic applications would usually cause a few eyebrows to raise – and with the reason, because accumulated experience is teaching us that monolithic applications are hard to maintain. Layered architecture, ports and adapters, service-oriented architecture (SOA), and all the way to microservices – all those architectures were offering answers to problems usually seen in the monolithic design. Why aren’t we done with the problems already, then?
In this presentation, we shall analyze common design problems. Especially those we are encountering for decades already, mixed into all the architectures ever tried: pathological coupling, whether between classes, components, or services all the same; violating transactional consistency boundaries; unclear data ownership, with related caching issues (planned or incidental caching, mind that); etc.
Closer to the end of this presentation, you will learn to recognize typical design mistakes, and to avoid them no matter which architectural design you are pursuing. Furthermore, you will learn that the dreaded monolithic architecture, given that it is properly layered, suffers no deficiencies by itself. Layered monolithic architecture can be implemented in a clean and clear way, and that is what we will demonstrate in this presentation.