Monolith, Distributed Monolith and Microservice architectures best practices for building a microservice architecture The Twelve-Factor App Seven Ways to Fail at Microservices