I’m sure you’ve read at least five articles titled: the Monolithic Vs Micro services architecture… and if this is your first one, then I’d probably suggest first watching Mastering Chaos – A Netflix Guide to Microservices to get a good grasp of the pro’s to Microservices architecture.

My question, is there a scenario where despite your enthusiasm for Microservices architecture, would you still want to start with a monolithic?, I’ve read a few articles that suggest that in certain situations starting with a monolithic architecture and then when you know your domain and needs in more detail, to then start to plan splitting out micro services as you need them.

Whilst I’m not entirely against this concept… especially when quickly prototyping your ideas, I imagine the optimistic developer believes that the monolithic architecture they’re going to create will be a set of nicely separated bricks inside of a box, with each brick being so that they can pull it out at any time and call a micro service… A few things that happens during the founding years of new projects, is a very quick iteration of concepts and ideas, your first release may be a thing of beauty, but as the extra demands come in, things you had thought about needing to develop, the monolithic can become a Frankenstein with things bolted and stapled together… separating these out as micro services may be more difficult and time consuming than original thought.

For me, I believe that for anything other than a clear prototype, start as you mean to carry on, there’s a reason why you plan to build a micro services architecture later on, if the end goal requires the benefits of a micro services architecture, you may as well start heading in the right direction.