
Clean Coder Blog

In order to attain even better insulation, we need to invert the dependency between the application and the layer
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
When the team has decided on modules first, and when deployment options start out as simple as possible, that approach puts them on solid ground to make decisions based on empirical information at the most responsible time.
Vaughn Vernon • Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture (Addison-Wesley Signature Series (Vernon))
Early on, it is best to choose a deployment option that supports fast experimentation, implementation, and delivery. This specifically points to using a Monolithic architecture in the early stages, because trying to solve distributed computing problems before the business problems are understood is an act of futility.