Software architecture from Monoliths to Microservices: what’s happening to big software systems in this transformation? Principles, patterns and solutions

Applying Microservices patterns could be useful even in big companies, with big teams and lots of monoliths. How can we cope with the coexistence of several architectural styles in a big organization? Is it possible to let the monoliths coexist with SOA, microservices and DevOps? In our opinion, yes. This presentation will show you how to start evolving towards a better system architecture, without requiring you to perform risky “Big Bang” refactorings. This is the only way to succeed in digital transformation programs. The presentation will not only give you principles of good systems design: we will show you how we solved effectively some issues, such as avoiding distributed transactions in favor of compensation and idempotence; or how we managed to effectively correlate transactions in distributed systems by using ELK stack. We will show you how simple it is to build a monitoring dashboard for a highly distributed and heterogeneous architecture, built on SOA and microservices by leveraging cleverly built application logs, and integrating monitoring information coming from APM systems, in order to ease your transition to a more distributed system implementation. Real use cases from real projects alongside good architectural design principles.