DEV Community 👩‍💻👨‍💻

Alexsandro Souza
Alexsandro Souza

Posted on • Updated on

Microservices is not the best way to draw boundaries and achieve modularity in a system

I am always posting provoking post on my Linkedin, and I have decided to replicate those here. Let's socialize!

I have two relevant opensource projects related to microservices(Java microservices and Service mesh) with thousands of access, and I have been working with this architecture for a few years; however, I don't recommend microservices architecture for most cases.

I think its complexity overtakes its benefits.
I believe there are better ways to draw boundaries and achieve modularity in a system.

More here


Free Advanced Java Course

I am the author of the Advanced Java for adults course. This course contains advanced and not conventional lessons. In this course, you will learn to think differently from those who have a limited view of software development. I will provoke you to reflect on decisions that you take in your day to day job, which might not be the best ones. This course is for middle to senior developers and we will not teach Java language features but how to lead complex Java projects.

This course's lectures are based on a Trading system, an opensource project hosted on my Github.

Top comments (4)

 
apssouza22 profile image
Alexsandro Souza Author

When you need to scale a piece of your system, extract it from the monolith into a separated service. You do it when necessary.
My point is that you don't need to get rid of your monolith because you need to scale a small part of it.

Collapse
 
apssouza22 profile image
Alexsandro Souza Author

When you need to scale part of the monolith then you make your module a microservice. To make your module a microservice, you will just add a gRPC layer on top of it

🌚 Friends don't let friends browse without dark mode.

Sorry, it's true.