Microservices is a trend, and for a reason: it’s an architecture style that enables many desirable qualities on the systems that adopt it. By being distributed, it allows using the right technology stack for each capability, at the same time it eases the evolution of each fine-grained part of the system. But it comes with a price and offers significant risks, in particular related to larger portions of the architecture, and also the management of the entire infrastructure. Those costs and risks are the biggest challenges for a new system, when it adopts microservices from the start. But, on the other hand, starting with a monolith might require a big effort to migrate towards microservices in the future. Is that a check-mate?
Definitely not! Don’t let microservices kill you! In this talk, we’re going to see some ideas about architecting the system focusing on the journey. After all, we spend most of the time maintaining and evolving the system, than actually leaving it running “stably”. Also, by seeing how to start something new, we’re actually going to discuss the best architecture practices for any given time of the project.