HACKER Q&A
📣 srle

Resources for building a monolith that is easy to break apart?


I’m looking to start working on a few side gig ideas I’ve had for a while now, and while I appreciate the benefits of event driven micro service architecture at work immensely, I’m also just trying to get a few MVPs up and running without investing a ton of time fiddling around with all the stuff that comes along with well done micro services.

That being said, I’ve also worked at enough places where some nightmare 5 year old monolith is at the core of the business and there just never seems to be enough time or buy-in from management to break it apart and clean it up, and I’d like to avoid making the same mistakes myself.

Obviously the usual good code philosophy stuff applies - SOLID and so on, but are there any good non-obvious tips or even resources (books, talks, blog posts, etc) that you guys know of which address the approach of writing a monolithic program you expect to eventually break up into well defined micro services?


  👤 mch82 Accepted Answer ✓
Martin Fowler has a nice collection of essays & videos. He recommends starting with a monolith, then breaking out capabilities over time. He also mentions that micro services are useful as a solution for partitioning work across teams. https://www.martinfowler.com/articles/microservices.html

I’m trying to figure out how to avoid having too many micro services in my team right now.