Most non-cloud software applications are unsuitable for running on the cloud due to a lack of scalability, security and compliance features. However, companies often cannot easily replace them as they are crucial to their performance, continuity and offering. Migrating to a cloud infrastructure can bring cost, performance and strategic advantages. For some software vendors, shifting to a software-as-a-service (SaaS) business model may be desirable or even a necessity.

Manual modernization of non-cloud software applications can be a lengthy, complex and uncertain task. ARTIST is applying cutting-edge model-driven engineering techniques to provide a structured and quantified approach to modernization and an accompanying toolset which could lead to cost savings of up to 50% over existing approaches. Once transformed, such applications take full advantage of cloud infrastructures and can be provided as software-as-a-service.

Project objectives and goals

For owners and developers of non-cloud software applications, ARTIST offers a set of methods and tools which provide an end-to-end and assisted migration service to transform non-cloud software applications not merely to run on cloud but to take full advantage of cloud features. In addition ARTIST provides pre-analysis of migration feasibility, analyzing the software to gauge complexity, and to indicate cost and predict complications based on historical data. This data helps the customer make the investment decision. Following migration, ARTIST carries out validation and certification of migrated software and its functionality.

Consequently, ARTIST forms a business investment and leads to lower costs and uncertainty, improved performance, greater customer satisfaction, more innovation and greater competitiveness.

Overall Methodology – Technical approach

“Migration Feasibility Assessment”. Prior to facing such a challenging quest that involves not only changing the way companies are delivering their software but also, their business model and how the company is organized in terms of processes, software vendors need to analyze if what they want to achieve, is actually feasible. If the answer is positive, the non-cloud software application needs to be understood. During the technical feasibility assessment, high level models and understanding of the system has been acquired. Model Driven Reverse Engineering has as one of the main goals to obtain the logic of the system in order to be able to understand it and to abstract it to different levels depending who the stakeholder is (Application Discovery & Understanding). Taking as input these models, the architectural constraints corresponding to the maturity level the application is aimed to reach and the model of the target platform (“Target Environment Specification”) where the application is to be deployed, several Forward Engineering transformations from M2M (model to model) and M2T (model to text) are executed (“Migration”). The Migration activities as well as the application discovery & understanding follow an iterative approach in order to apply several optimization patterns. Finally, the quality of the migrated system needs to be verified (“Testing, Verification & certification”), considering both behavioral (functional) and non-behavioral concerns such as performance or security. The migrated system has to function similarly to the non-cloud software system and needs to perform at least equally to the old system. The non-compliance of any of these requirements may cause the non-acceptance of the migrated service by the customers. The migrated software will be then certified against a set of best practices, considering technical, business and financial aspects.

Each of the phases described above generate a set of artifacts, stored in a repository, in order to foster reusability and prepare the software for a future evolution.

ARTIST phases

The ARTIST project will set out the following phases that will act as baseline to ensure a smooth operation of all the developed tools that are associated with the migration of a non-cloud software application to new IT paradigms like SOA-based technologies and Cloud platforms:

Pre-migration phase
Evaluate the feasibility of the migration through a technical and business analysis, providing potential costs and effort required to carry out migration

Migration Phase
Create a plan for migration steps
Analyse and model the non-cloud software
Transform the non-cloud software models to modernized models

Post migration phase
Validate functionality of the migrated app and test that it has same behaviour as in original
Certify reliability and quality of the service provider

Maintenance activities of the application after migration to the target environment, such as software updates or cloud provider changes if necessary