In order for a deployable unit of code to be qualified as a microservice, it has to possess the following characteristics:
- The size of the source code of one microservice should be smaller than the size of a traditional application. Another size criteria is that one programmer's team should be able to write and support several of them.
- It has to be deployed independently. Naturally, one microservice typically cooperates and expects cooperation from other systems, but that should not prevent our ability to deploy it.
- If a microservice uses a database to store data, it has to have its own schema, or a set of tables. This statement is still under debate, especially in cases when several services modify the same data set or interdependent datasets. If the same team owns all of the related services, it is easier to accomplish. Otherwise, there are several possible...