Identifying microservices using structured system analysis

In this article it will be presented how to identify microservices using structured system analysis. Structured system analysis describes all the system functions, data stores and algorithms of the functions. When all of the functions of the system are described, they can be grouped into microservices. These microservices should be loosely coupled and highly cohesive. Rules for grouping microservices will be presented. It will be shown not only how to declare functions as microservices but also how to decompose data stores, thus these microservices share-as-little-as-possible by having separate databases.