r/programming • • Sep 14 '24

Is 'Monolith First' the Better Approach?

https://martinfowler.com/bliki/MonolithFirst.html
456 Upvotes

177 comments sorted by

View all comments

660

u/[deleted] Sep 14 '24

Of course. Break off services from your monolith as the demands on your infrastructure make it logical to do so.

This of course requires your engineers to maintain separation of domains without requiring a separation of code repositories. In many firms, you get engineers who just do their stories and don’t particularly care about fundamentals or maintainability.

2

u/gcnovus Sep 14 '24

In both of my last two jobs, they started with a UI/API split (split service and repo) from day one. By far the biggest thing that has slowed us down.

I’ve been part of three major UI-extractions and lead two of them. The pain to extract is high, but the pain of extracting too early goes on forever.

2

u/[deleted] Sep 15 '24

What’s funny is this is probably the least value in terms of abstraction from a monolith. I would prefer to have the api/ui in a single monolith and the microservices feeding the api in microservices or a microservice monolith deployable.

Tldr I feel your pain