Migrating Legacy Software Applications to Cloud Computing Environments : A Software Architect's Approach - Rowe, Fred (East Carolina University, 2011)
Cloud computing has garnered a great deal of interest in the past few years. The availability of on-demand computational power is presumed to provide substantial IT infrastructure cost-savings, partially through the reduction of maintenance and administration costs. However, in order to take advantage of these savings, it is often required that legacy applications be rewritten at least partially, if not in entirety, to operate in these environments. As a part of re-architecting these legacy assets for cloud computing environments, the software architect may also consider application modifications providing other cost benefits which may have been cost prohibitive to implement in a more traditional computing environment. Although not a new technology, the combination of parallel computing and cloud environments can offer a number of benefits to many application categories if the cost of making the necessary changes to the application and setting up and maintaining the environment can be justified.  This thesis explores the use of cloud computing to provide a flexible deployment environment in which to run a migrated legacy application using one of the popular parallel computing frameworks. The ability to easily and rapidly configure and deploy hardware and software to create a cloud capable of executing applications with parallelism combines the benefits of these technologies in a powerful manner. In order to make an informed decision about the potential benefits of such an environment, the owner of those assets needs to be able to balance any savings against any costs incurred to enable existing corporate business applications to run in such an environment.  An approach to performing such an analysis is presented in this thesis. To provide some quantitative means of measuring benefits, benchmark results of the computational resources required by the application in the different environments are provided. Additionally, offsetting costs such as software re-architecting and refactoring are considered.
Keywords: Computer science; Cloud; Hadoop; Legacy; Migration; Parallel; Software; Software compatibility; Cloud computing; Application software; Software architecture