DEV Community

loading...

Microservices vs modular monolithic

Alexsandro Souza
Team lead | Agile coach | Speaker | Active blogger | Opensource contributor | DevOps enthusiast | Computer vision practitioner
・1 min read
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!

Alt Text

Discussion (1)

Collapse
codeasc profile image
code-asc

Thanks for the article. This approach is great for smaller size projects. Moreover some bigger size companies like shopify uses the modular monolithic design.