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