Abstract:
Organizations moving from legacy systems to microservices due to the countless
benefits of microservices. In Monolithic systems there are many dependencies like if
you change one functionality of a system then it affects all the other functionality, each
service is dependent on the other service, and hard to change the monolith system. If
one functionality of the monolith system is failed or down, then all the functionalities
of the monolith system are down. So, changeability is the major issue in monolith
systems. Microservices ensure that if one service is failed or down it will not affect the
other services and recover the services using a load balancer.
In SOA (service-oriented architecture) services are coarse-grained. In SOA, if a
service is failed it will not recover by itself and affects the entire system. In this study,
we present a comparative analysis of various identification techniques, namely purpose
base technique, clustering technique, Facade technique, relational concept analysis,
use cases for SOA, and repositories that can be used to identify microservices. Further,
we proposed different approaches for microservices that can be utilized to rapidly and
adequately identify the microservices. Code-First approach and repository pattern
were used for implementations outcomes are then compared with previous identifying
services that provide improved results. Our implementation highlights that these
techniques are the best, among all other techniques that are used in this study.