An Approach for Reconstructing Applications to Develop ContainerBased Microservices Microservices are smallscale services that can operate independently. An application consisting of microservice units can be developed independently as a service unit, and it can handle individual logic without being affected by other services. In addition, it is possible to rapidly distribute the configured microservices by a container, and a container orchestration technology that manages the distributed multiple containers can be realized; thus, it is possible to update and distribute the microservices separately. Therefore, many companies are moving away from existing monolithic structures and attempting to switch to microservices. In this paper, we present a method for reconstructing a monolithic application into a containerbased microservice unit. The microservices of data units are derived through the collection and analysis of monolithic design data. Furthermore, we propose a method to generate a template script based on deployment design data so that the derived microservice and support distribution can be implemented in a container environment. The results of a case study conducted verified that the containerbased microservices deployed in this study work properly. In addition, for the development of monolithic applications and the development of containerbased microservices presented in this paper, we confirmed that developing on the basis of microservices is efficient by conducting execution time performance evaluation for API calls at various iterations. Finally, we show that microservices constructed using the proposed method have higher reusability than those constructed using existing methods.

Migrating from monolithic architecture to microservices: A Rapid Review Microservices architecture has become enormously popular because traditional monolithic architectures no longer meet the needs of scalability and rapid development cycle, and the success of some large companies in building and deploying services is a strong motivation for others to consider making the change. However, performing the migration process is not trivial. Most systems acquire too many dependencies between their modules, and thus canu0027t be sensibly broken apart. It is for this reason that studies that provide information associated with the migration process to practitioners are necessary. This study gathers, organizes and analyzes 20 migration techniques proposed in the literature. Results show that most proposals use approaches based on design elements as input; 90% of the proposals were applied to objectoriented software (Java being the predominant programming language); And that the main challenge is to perform the database migration.