Survey on decision framework for migration of legacy ...

2 downloads 0 Views 656KB Size Report
[3] Hans-Jürgen Schröder, Andreas Winter, Andreas Winter, Andreas Fuhr, 2009, “Model-driven Software Migration into a Service-oriented. Architecture” .
International Conference on Mathematical Computer Engineering - ICMCE - 2013

Survey on decision framework for migration of legacy components to cloud Aparna Va, Neelanarayanan Venkataramanb a

School of Computing Science and Engineering, Vellore Institute of Technology, Chennai 600127, India School of Computing Science and Engineering, Vellore Institute of Technology, Chennai 600127, India

b

Abstract Cloud computing has been gaining popularity day by day. Most of the companies are now adopting cloud computing techniques. Organizations also have a lot of legacy applications which were build years ago. These legacy applications are include some business critical functionalities but they are not designed for cloud use. Hence a lot of attention needs to be given when such kinds of application are migrated to cloud platform. This paper aims to identify and systematically analyze the different existing approaches on cloud migration.

Keywords: Cloud computing; cloud migration; legacy-to cloud.

1. Introduction Cloud computing is an emerging computing terminology which offers benefits for users to access their technology anytime, anywhere. It offers several benefits such as high scalability, reduced infrastructure costs, service on demand, and pay-as-you-go price models which has gained the attention of today’s IT industry. Many organizations have found it difficult to adopt cloud-based solutions, particularly regarding the migration of their existing legacy applications to this new environment. One of the main obstacles faced by those organizations is the lack of a process to help them determine the feasibility of migration, the risks involved and identify the cloud models and services which suits their needs best. The business of most organizations depend on systems that have been developed long time ago also known as legacy systems. These systems are highly complex written mostly in second and third generation programming languages like COBOL and FORTRAN, inflexible, domain unspecific, and very hard to maintain without any proper documentation. Despite all these drawbacks, legacy systems are still important to the organizations as they support most of the complex core business processes and they cannot simply be removed. But proper documentation, skilled manpower and resources to evolve these legacy systems are scarce. Therefore, lots of studies are being done to evolve and reuse those legacy systems within new technological environments. 2. Research Approach We have adopted the procedure of conducting a systematic literature review process. The research methodology used in the present study contains two basic steps. In the first step a systematic literature review based on the existing migration approaches for SOA and Cloud Computing is performed. The second step involves analysing the existing approaches to compare and contrast the various phases, benefits and limitations. 2.1. Systematic Literature Review Systematic review consists of a sequence of steps which includes formulating the research questions (RQ), searching for relevant existing work (data extraction) and analysis of the extracted data and interpretation of the findings. Such a review process is typically appropriate in our research since it summarizes the existing contributions, identifies the gaps in the current research and provides way for further research. 2.1.1 Framing Research questions The research questions addressed by this study are:

ISBN 978-93-82338-91-8 © 2013 Bonfring

1134

International Conference on Mathematical Computer Engineering - ICMCE - 2013

RQ1. Why does industry look forward for legacy component migration to cloud? RQ2. Are there any existing approaches present for this? RQ3. What are the different stages involved in migration approaches and identifying their limitations? RQ4. Is there a better way performing this migration? The objective of the research is to provide a thorough analysis on the existing approaches for cloud migration to analyze the gap. 2.3. Data collection and analysis The search process was a manual search of specific conference proceedings and journal papers since 2006 which are relevant to the area of research. The titles of both journals and conference papers were searched using the following search terms: (1) Service-Oriented Architecture - (“Service-Oriented” AND (Challenges OR Legacy Migration) ; (2) Cloud Computing - (“Cloud Computing” AND (Challenges OR Migration of Legacy components). Applying the search strategy in IEEEXplore resulted in an initial pool of 77 articles over the period of 2006 to 2013. Some additional articles which were not listed by the search strategy were also included as being recommended by the research advisor. Their full texts were thoroughly examined in order to understand and extract the SOA and Cloud Computing migration approaches presented in the survey. 2.5. Interpreting the findings We have used Delphi technique for analyzing and interpreting the findings. 3. Different ways for modernization of legacy application to cloud Many organizations write their software from scratch specifically for hosting in cloud, while others may wish to keep using their existing application software and have it run on a cloud platform. We consider the latter, as “migrating” from a traditional computing platform to a cloud-based one. Migration process is not automatic and the amount of effort required could be significantly high. This effort is due to the difference between the environment provided by a cloud platform, and that in a traditional platform. There are often differences in the version of various infrastructures, the programming models and the libraries available. Like any software development project, migration projects require a lot of planning and proper process to follow. Normally migration approaches were one need to completely rewrite the application or development of a completely new piece of software is less likely to be chosen due to the cost and time involved. While a cloud migration can present numerous challenges and raise security concerns, cloud computing can also enable a company to potentially reduce capital expenditures and operating costs while also facilitating dynamic scaling, high availability, multitenancy and effective resource allocation. Some of the approaches for modernization of legacy systems are: Wrapping is building a new interface, so-called wrapper, to act an interpreter between legacy system and target system. Minimum changes are applied to legacy component. It implies the less cost and lower risk. But wrapping cannot be applied straight forwardly when the functionality of legacy components is not always suitable for the requirements of target system. Further, the lower level structure, such as platform, language, and software architecture, is unchanged in wrapping. It would not gain long-term benefits, such as the improvement of maintainability. Maintenance is continuously maintaining the legacy components to meet incoming requirements. The degree of change is less than migration. But the maintainability of system is gradually decreasing. Hence, the cost of maintenance is getting more and more expensive.

ISBN 978-93-82338-91-8 © 2013 Bonfring

1135

International Conference on Mathematical Computer Engineering - ICMCE - 2013

Migration switches legacy components to a more flexible environment and retains the original data and functionality. It offers benefits such as higher flexibility, ease of maintenance, cost reduction, etc. Redevelopment completely throws the legacy components away and develops new components to meet the requirement of target system. It tends to a high level risky of failure and a higher cost of development. Replace component(s) with Cloud supported components(s). Here one or more (architectural) components are replaced by Cloud services. As a result, data and/or business logic have to be migrated to the Cloud service. Using Google App Engine Datastore instead of a local MySQL database is an example of this migration type. Cloudify is the complete migration of the application. The application functionality is implemented as a composition of services running on the Cloud. As in the case of component replacement, cloudification requires the migration of data and business logic to the Cloud. 4. Why migration is important Cloud systems will soon be integrated with traditional systems for storage and handling of masses of data. The general motivation for the adaptation of existing applications is to keep and improve the past investments in software while reacting to changes in the environment. Cloud computing can take several forms: customers can rent an infrastructure, a platform, or predefined services. A large number of small and medium businesses (SMBs) are now moving to cloud to reduce their infrastructure and operational cost and also to increase the scalability. It takes a longer time for them to implement their application from scratch in cloud whereas migration seems to be an easier option. 5. Feasibility of cloud migration and Methods in use In general, not all legacy applications could be migrated to the cloud. It is because some applications have specific constrains or requirements that can only be met in traditional computing platforms and cannot be satisfied in the cloud environment. A typical example of such requirements is a requirement of special hardware devices like devices that support trusted computing. Which migration option to choose will depend on your business requirements and constraints (e.g., time, cost, and feasibility). Only components that provide reusable business services need to be identified and migrated to cloud. For example services that have the same amount of volume each hour, day of the week, and each month could be benefited if migrated to cloud. Migration options such as database platform migrations and replatforming applications developed on legacy platforms are very popular because they are easier to execute. It may be necessary to make some changes to the existing design and architecture if we need to leverage new features in cloud in favor of older mechanisms. Many factors affect the success of a migration project such as availability of a skilled resources, tools, and technologies for migration, an understanding of the source and target architectures, and realistic project planning. Identifying these factors before starting on a new migration project can speed up execution and help you to identify and fix issues encountered along the way. Different approaches (reverse engineering, Architecture Driven Modernization, or service-oriented-architecture modernization) have to be analyzed depending on the source language and architecture, target environment and available resources. As a result, the complete software life cycle, from requirements to delivery, has to be adapted to the new technological needs and challenges for the cloud based software modernization. Since cloud computing is new, there is not much information publicly available for migration to cloud. The following section discusses the various approaches available. 5.1 Existing Approaches 1) SMART - Service-Oriented Migration and Reuse Technique (SMART), proposed by SEI at CMU, is an initial approach to the identification and analysis of issues in migration to services. It helps organizations analyze legacy systems to determine whether their functionality can be reasonably exposed as services in an SOA. SMART gathers a wide range of information about legacy components, the target SOA, and potential services to produce a service migration strategy for the organization. Transformation is only performed at conceptual level rather than on

ISBN 978-93-82338-91-8 © 2013 Bonfring

1136

International Conference on Mathematical Computer Engineering - ICMCE - 2013

software. It is apparently platform/vendor/tool independent and it targets the process/service integration only at middle tier. But, it does not address the cross cutting concerns like QoS. 2) Using Mash Ups - Legacy software are monolithic, big sized applications. Service-Oriented Computing (SOC) may help tackle with this problem by decomposing monolithic legacy systems into loosely coupled parts wrapped by service adapters. This is also quite challenging since these legacy codes mainly have single tier architectural designs, which complicates service partitioning as well as assurance of the Quality of Service (QoS) attributes like durability, maintainability and efficiency. The mashup migration strategy has six steps. The strategy addresses both behavioral and architectural aspects of the migration. The first two activities are the modeling of the target enterprise business (MODEL) and the analysis of legacy systems and infrastructure (ANALYZE). These activities lead to two main steps: (MAP & IDENTIFY) maps model requirements to legacy components and services identifications; and (DESIGN) models mashup server architecture with Domain Specific Kits (DSKs), which abstracts legacy components. Both the mapping and architecture design activities might cause a loopback to MODEL and ANALYZE activities to re-reconsider some of the decisions. As a result of these major activities, target system service dependency graph has been constructed and mashup architecture will been designed. Defining the Service Level Agreements (SLAs), including non-functional and contextual properties, is the next step (DEFINE) that will be followed by implementation and deployment activities (IMPLEMENT & DEPLOY). 3) Service Oriented Modeling and Architecture (SOMA) – Service oriented Modeling and Architecture (SOMA) is an iterative and incremental method on how to plan and implement a SOA developed by IBM. SOMA is structured into seven main phases. 1. Business Modeling 2. Solution Management 3. Service Identification 4. Service Specification 5. Service Realization 6. Service Implementation 7. Service Deployment The goal of Business Modeling is to describe the as-is state of the customer’s business. Solution Management adapts the SOMA method to the project needs. The Service Identification phase has aims at finding appropriate services. Three different activities are accomplished to identify service candidates. One of these methods, called Existing Asset Analysis, analyzes existing legacy systems in order to identify services. During Service Specification, services, components and communications are formally defined. Service Realization describes the components in greater detail. In addition, many realization decisions are made. Parts of the legacy systems are analyzed deeply to determine if they can be used as service implementation. According to SOMA, appropriate legacy functions can be migrated into service implementations in two ways:  

Transformation - converts the legacy function into a new technology which is able to implement as service component directly. Wrapping - encapsulates a legacy function without changing it.

During Service Implementation the whole system is implemented. New components are coded, existing legacy functions are transformed, wrappers are written and the services are composed. In the Service Deployment phase the system is deployed to the customer.

ISBN 978-93-82338-91-8 © 2013 Bonfring

1137

International Conference on Mathematical Computer Engineering - ICMCE - 2013

4) Six Phased Approach - Legacy system understanding (LSU) is a process of acquiring knowledge about the legacy applications. The goal of this activity is to find the answers to questions such as “What does the legacy application do?”, “How does the legacy application do it?” LSU aims at acquiring information including source code characteristics, identifying dependencies and legacy system architecture. Target system understanding (TSU) phase facilitates the representation of the desired architecture of the “to-be” SOA. This phase enables the design of target architecture with major components of the SOA environment, standards to be used, quality of service expectations, and interaction patterns between services. TSU represents two aspects of the target architecture: (i) the functional aspect, and (ii) the technical aspect. Migration Feasibility Determination checks the feasibility of the migration from technical, economical and organizational perspectives. Candidate Service Identification is categorized into top-down and bottom-up approaches. In the top-down approach, initially a business process is modeled based on the requirements and then the process is subdivided into subprocesses until these can be mapped to legacy functions. The bottom-up approach utilizes the legacy code to identify services using various techniques such as information retrieval [42], concept analysis [43], business rule recovery [41] and source code visualization [29]. The implementation phase is related to the execution of the migration of the legacy applications to SOA. Deployment and provisioning phase tests to determine if the expected functionality is exposed correctly as a service when legacy application is migrated as a service. 5) Oracles Approach – The various phases involved in migration are: Assessment includes collecting information pertaining to project management, the potential cost of the migration, migration approaches, and tools to use. The analysis and design phase usually consists of determining the implementation details on the target environment. Migration tasks involve data and application migration as well as schema and administration script migration in the case of database. Testing in a migration project usually comprises tasks such as data verification, testing of migrated business logic testing of application interaction with the new platforms and scripts. Some of these tasks can be performed easily with the help of automated tools whereas few others like a lot of effort. Migrating applications from one environment to another sometimes results in poor performance. It is very common for organizations to set aside at least two to three months for performance testing after migration of mission-critical applications. Some performance issues can also be caught during the functional/integration testing phase. But some issues may come up only under certain amounts of load on the system. Therefore, it is essential to test the performance of the new platform thoroughly to identify potential bottlenecks in the system and address them before the new platform is rolled out into production. All these are done during optimization phase. Hardware configuration, Software installation and configuration, Initial data loading and facilitating backup and recovery options are some of the tasks involved in this stage. Post-Production Supports troubleshooting any issues that may come up immediately after the new environment goes live 6) Cloud Step - It is a step by step process aimed at supporting organizations and application developers in making cloud selection and migration decisions. The process relies on the creation of template-based profiles describing key characteristics of the organization, its target legacy application and one or more candidate cloud providers. These profiles are then cross-analyzed to identify and possibly resolve critical constraints (either technical or nontechnical) that may hinder application migration to the cloud. In this way, the process can help to reduce the subjectivity of the cloud migration decisions made.

ISBN 978-93-82338-91-8 © 2013 Bonfring

1138

International Conference on Mathematical Computer Engineering - ICMCE - 2013

6. Analysis and Conclusion Based on the comparative study performed, the major factors that support cloud migration are (RQ1 is answered):  Lesser Infrastructure and Maintenance cost  Comparatively lesser down time  Elasticity  Pay as you use option. Almost all of the migration approaches discussed has the common phases as follows:  Planning – This includes performing the feasibility study and estimating the efforts.  Analysis – Identifying the migration strategies and list of available services  Execution – Updating the design/ architecture for supporting cloud and implementing the changes  Testing and Deployment Most of the existing approaches are bottom up without considering the business requirements of legacy system. Moreover support for ensuring quality attributes during migration is not guaranteed in any of the approach. Support for automated migration to cloud environment is still in its early stages of maturity. Practicability of application migration could be determined by the cost of application migration and the cost of cloud usage. If the cost of application migration is more expensive than the cost of developing a new application that has the same functionality with the legacy application, application migration is not a good choice. Even though cost factor is taken into consideration during analysis phase, there is not as such any cost estimation method/model proposed for this. References [1] Ravi Khadka, Amir Saeidi, Slinger Jansen, Jurriaan Hage, “A Structured Legacy to SOA Migration Process and its Evaluation in Practice”. [2] Patricia V. Beserra, Alessandro Camara, Rafael Ximenes, Adriano B. Albuquerque, Nabor C. Mendonca, 2012,” Cloudstep: A Step-by-Step Decision Process to Support Legacy Application Migration to the Cloud”. [3] Hans-Jürgen Schröder, Andreas Winter, Andreas Winter, Andreas Fuhr, 2009, “Model-driven Software Migration into a Service-oriented Architecture” . [4] Semih Cetin, N. Ilker Altintas, Halit Oguztuzun, Ali H. Dogru, Ozgur Tufekci, Selma Suloglu, 2007,“ Legacy Migration to Service-Oriented Computing with Mashups” . [5] Grace A. Lewis, Edwin J. Morris, Dennis B. Smith, Soumya Simanta, 2008. “SMART: Analyzing the Reuse Potential of Legacy Components in a Service-Oriented Architecture Environment”. [6] Vasilios Andrikopoulos, Tobias Binz, Frank Leymann, Steve Strauch, 2013. “How to Adapt Applications for the Cloud Environment”. [7] Ravi Khadka, Amir Saeidi, Slinger Jansen, Jurriaan Hage, Andrei Idu , 2012, “Legacy to SOA Evolution: A Systematic Literature Review”. [8] Rashmi, Dr.Shabana Mehfuz, Dr.G.Sahoo, 2012, "A five phased approach for cloud migration".

ISBN 978-93-82338-91-8 © 2013 Bonfring

1139

Suggest Documents