Organizations interested in a microservices architecture should start with a monolithic approach first, then move to a microservice approach later, according to Martin Fowler, software engineer, author and a thought leader on Continuous Integration and microservices.
He said he noticed two common patterns from teams using a microservices approach: The successful teams started with a monolithic application that was too big, then broke it up into microservices. The unsuccessful teams built a microservice architecture from scratch.
(Related: An in-depth look at microservices)
“This pattern has led many of my colleagues to argue that you shouldn’t start a new project with microservices, even if you’re sure your application will be big enough to make it worthwhile,” he wrote in a blog post.
Fowler explained that when you start a new application, you’ll need to priotize speed, and trying to figure out microservices will slow that down. Microservices only work when there are stable boundaries already created between services.