Features
Application Migration Considerations for Cloud Computing
Cloud Computing is now recognized as a disruptive technology by most of the leading market analysts
Jan. 28, 2011 06:00 AM
Moving an application from an enterprise environment to a cloud platform requires a careful assessment of the application and the target platform with factors such as suitability, maturity and cost benefits as part of the initial cloud migration assessment. Cloud Platform assessment, Application migration, Data migration and Cloud deployment are the key aspects that need to be taken into consideration as part of the migration. This article discusses aspects that are helpful to decision makers as well as development teams in their journey to cloud.
Introduction
Cloud Computing is now recognized as a disruptive technology by most of the leading market analysts. As defined by NIST, Cloud Computing is an enabler for on demand access to a shared pool of resources with self provisioning and monitoring capabilities (1). Of late, there is a visible traction in exploring, evaluating and embracing cloud computing by enterprise customers. CIOs are well aware of the benefits of cloud and are looking for advisory and migration services to move their applications to the cloud. In this context, we have explored and experimented on various customer engagements to identify key considerations that will accelerate the migration of applications to the cloud environment.

Migration considerations
Typically, cloud migration initiatives include business, technology, and risk considerations [2]. The questions that need to be thought through for application migration could be classified into three broad categories: suitability, maturity and cost benefits. These questions should help decision makers from business as well as IT to collect information that is essential for an initial assessment. They will also be helpful to development teams that are involved in the migration of the application from the enterprise (on-premise) to the cloud.
The following are some factors that need to be considered prior to planning an application migration to the cloud:
Suitability
- What types of applications are suitable for cloud adoption?
- What are the different types of cloud platforms available? What types of applications are suitable for each of these platforms?
- What are the criteria to be evaluated as part of application assessment for cloud adoption?
- How do I evaluate the fitness of my application for cloud deployment? What components should stay on-premise and what can be moved to the cloud?
- Does the cloud support the authentication needs of the application such as authentication against the organization active directory? How do I handle the security for on-premise and cloud integration?
- Does the application require any architecture or code changes for it to work on the cloud?
- What steps can I take to exploit the features available on the cloud platform for added benefits?
- How do I architect my application for best performance and lowest operating costs?
- How do I address the performance bottlenecks due to the service oriented architecture of the cloud platform building blocks such as storage services, access services and encryption services?
- What are the architectural changes necessary for deploying the application in a cloud environment for effective usage of cloud resources?
Maturity
- Are the cloud platforms ready for deploying critical applications?
- What are the security mechanisms available on the cloud platform?
- What are the certifications and security features available on the cloud for enhancing application and data security?
- How do I integrate my on-premise applications with the cloud?
- How do I manage applications that are part of my cloud portfolio?
- What are the SLAs the cloud platform vendor is willing to support?
Cost Benefits
- How effective is the cloud to lower costs and increase the ROI for business?
- How do I compare the TCO and savings of on-premise with cloud deployment?
- How do I measure and Improve ROI by leveraging cloud?
- How can I use the metering features of the Cloud platforms to monetize my cloud investments and come up with a department-wise billing for my organization and partners?
Migration Approach
Matured cloud platform vendors such as Amazon EC2 have developed methodologies for migrating existing applications to the AWS cloud [3]. Organization need a step-wise approach to cloud migration with well-defined phases aimed to help in identifying applications that are ideal for cloud migration, planning for data and application migration, and application deployment on the cloud platform.
The following is a cloud migration framework to help organizations in building an enterprise application migration strategy to reap the benefits from cloud adoption. The cloud migration framework comprises of a cloud migration methodology and the tools to aid in application migration, platform monitoring, security and compliance.
The following are the key aspects that need to be planned ahead for a cloud migration exercise:
- Cloud Platform Awareness
- Data Migration
- Application Migration
- Cloud Deployment
The migration approach proposed will aid architects and development teams in cloud solution design which includes the interfaces with on-premise systems.
About Rajagopal SattaluriRajagopal Sattaluri currently heads the Solution Architecture Team at Mahindra Satyam. He is a TOGAF certified enterprise architect. He has over 20 years experience in software development with expertise in Solution Architecture Consulting, Technology Evaluation, New Technology Research and Development, Product Development and Offshore Software Development. He is a staunch promoter of Agile, Cloud Computing and SOA. Rajagopal has a Masters degree in Management from North Carolina State University, USA and an under graduate degree in Computer Engineering from Andhra University, India.