Going directly to a microservices architecture is risky, so consider building a monolithic system first. Split to microservices when, and if, you need it.| martinfowler.com
The value of good software design is economic: you can continue to add new functionality quickly even as the code-base grows in size.| martinfowler.com