Any mention of monolithic applications would raise an eyebrow or two today - and with a good reason. Our accumulated experience is teaching us that monolithic applications bring many issues, not least important them being hard to maintain. On the other end of the specter we find microservices, the preferred design in the eyes of many. And there are myriads of designs and architectures in between these two extremes. Who's right there? In this presentation, we will analyze common design problems, starting from monolithic designs, paying extra attention to pathological coupling, violating transactional consistency and unclear data ownership. By the end of this presentation, you will learn that, from the perspective of design, there is no substantial difference between multitier design which resembles a monolith and microservices - assuming each of them is done right. And more, you will learn that a proper, maintainable monolith can easily be morphed into microservices, and vice versa.
About the speaker:
Zoran is a principal consultant at Coding Helmet Consultancy, speaker and author of 100+ articles, and independent trainer on .NET technology stack. He can often be found speaking at conferences and user groups, promoting object-oriented development style and clean coding practices and techniques that improve longevity of complex business applications.