I am always posting provoking post on my Linkedin, and I have decided to replicate those here. Let's socialize!
You heard about Microservices, and after searching about it, you realised the benefits of modularity principles?
Now, if you search for modularity, you will learn that you don't need to move to a microservices architecture to leverage modularity
Microservices architecture has some benefits, but the main ones are:
- Teams can work and scale independently
- Microservices are small and focused, reducing complexity
- Services can be internally changed or replaced without global impact
If your company is not the size of Google or Netflix, you can achieve everything from above in a modular monolithic system
What's essential is that we can effectively draw and enforce boundaries during development. Of course, that means embracing any help we can get from the programming language to enforce modularity principles
Different teams can work on different parts, where only the well-defined interfaces are touchpoints between the teams
Transform a module into a microservice is always one option. Just add a communication layer on top of it(gRPC or REST)
I have created a project where I designed and implemented a monolithic application that was built using modularity principles. Check it out!