Should I use Microservices in new projects?

Sam Newman answers this question in his recent post Microservices For Greenfield?:

I’m certainly not saying ‘never do microservices for greenfield’, but I am saying that the factors above lead me to conclude that you should be cautious. Only split around those boundaries that are very clear at the beginning, and keep the rest on the more monolithic side. This will also give you time to assess how how mature you are from an operational point of view – if you struggle to manage two services, managing 10 is going to be difficult.

I think I would agree with him. Microservices have been quite popular for a while now, but “plain old” enterprises – excluding hip new startups or big web companies like Netflix – first of all need a shift in the developers’ and organization’s mindset. And until then they will be better off with their “good old” architecture – the monolith.

Over time, Microservices may become the default way to compose their infrastructure, but at the moment the organizational overhead for managing the different teams may scare the companies away from the concept. However, I would love to be on one of the first teams to try it out 🙂