Each approach comes with its benefits and challenges. I would never suggest anyone jump right to a microservice architecture if they haven&#x27;t come to appreciate the problems posed by a Rails-type design.<p>One aspect I keep hammering on about with regard to microservices is <i>reusability</i>. If you&#x27;re developing just one user-facing product, nevermind. But if you have a bunch of products, reusability across microservices is a huge boon compared to monoliths. Reuse all your job processing, notifications, data storage, login&#x2F;auth&#x2F;group&#x2F;role&#x2F;permission management, identity verification, image processing, NLP processing, feed processing, etc. etc. etc. across your entire stack.<p>With monoliths, the only other option is to build these as libraries, and unless you want to write bindings or write code more than once, you&#x27;re now chaining yourself to a specific language.