Jeff Mesnil
Weblog · About

⇨ Monoliths Are Not Dinosaurs

May 9, 2023

Monoliths Are Not Dinosaurs is an interesting article from Werner Vogel about monoliths applications (as opposed to microservices) and a follow-up after Prime Video announced they moved from a distributed microservices architecture to a monolith application .

Some sentences from Werner's article are worth quoting:

My rule of thumb has been that with every order of magnitude of growth you should revisit your architecture, and determine whether it can still support the next order level of growth.

[...], if there are a set of services that always contribute to the response, have the exact same scaling and performance requirements, same security vectors, and most importantly, are managed by a single team, it is a worthwhile effort to see if combining them simplifies your architecture.

In my daily job, I'm working on WildFly & JBoss EAP which has a strong foothold in the monolith camp (although you can use it to deploy leaner distributed applications). My colleagues at Red Hat are developing Quarkus (which just released its 3.0 version) which is on the opposite side focusing on cloud-native microservices.

It is interesting to see the push and pull between the two architectural styles and figure out when they make sense (and more importantly when they don't). An application architecture should be decided based on the requirements and capabilities of the application. As more and more sofware are moving to the Cloud, we see application development shifting towards the microservices side but I suspect we will see more moves like Prime Video to go back to a more monolithic approach when that makes sense.

Moving an application to the cloud often aligns with adopting a microservices architecture but this is not a prerequisite. It can be fine too to move monolith applications to the Cloud.