I'm wondering how service oriented architectures can follow the [12-factor principles][1]. Designing an architecture as microservices means (to me) that you separate the features in services. This means you have multiple code source for the different services. The first principle of a 12 factor application is "One codebase". So if we have multiple services, we have several codebases and the first principle is broken. Are the two architectures mutually exclusive or did I misunderstand something? [1]: https://12factor.net