Application modernization is to reconfigure existing legacy applications according to current and future business goals. Application modernization refers to various “side dots” of the application modernization spectrum, ranging from simple modernization (efficient use of hardware resources using VM in cloud) to active modernization (development of the cloud native application (microservice-based application)). For convenience' sake, application modernization generally refers to modernization based upon the premise of cloud migration such as rehost, replatform, and refactor to meet the goal of business agility. However, proper On-Premise modernization of existing applications is also needed. Application modernization should be determined by the purpose of business, and nature and characteristics of the business function that supports the purpose.
Rehosing type migration can be selected if the corporate organization wants to experience the effect from the aspect of resource utilization first while migrating to cloud, and proceed with large-scale cloud migration quickly. Rehosting moves the existing application to cloud while keeping its structure as much as possible (minimizing application changes) and moving, and entails some changes in the operational/development environment.
Migration using the “PaaS(Platform as a Service)” provided by cloud, which enables the user to optimize an application using the development and operating environment provided by the PaaS. Some of the application layout is changed and the database is changed. The important task of replatform is to integrate the service by locking in to PaaS provided by the cloud at an appropriate level.
Refactoring is required when the application function needs to be added or extended, or performance need to improved, because the existing application is difficult to respond to changes in the business purpose and environment. Refactoring can be applied by selecting a necessary part on the wide refactoring spectrum, depending on the strategy that needs the overall change of the architecture, ranging from the partial modification of the application code to full-scale switching to the microservice.