Majority of software systems in business use, known as legacy systems, have monolithic structure hard to maintain and upgrade with new features. The most common option to overcome this situation is reengineering of existing software systems, which can be perform in different ways and with different outcomes. One of the recent most popular approaches is migration to microservices architectures, which makes distribution of software functionalities in small and independent units possible. Each unit, called microservice is self-contained and independent, which makes system manipulation and modification easier. Several methods for migration to microservice architecture have recently been proposed. This article presents a review of methods for migrating existing systems towards microservices. In addition, this article presents software artifacts affected by migration methods and used algorithms. Implications and benefits of the presented study, as well as validity issues are discussed, followed with concluding remarks and future research directions.