Application Migration Considerations For Cloud Computing

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Application Migration Considerations for

Cloud Computing
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.
Cloud Platform Awareness
The intent of the cloud platform awareness phase is to help the organization, its business owners and IT
teams to get acquainted with the cloud platform. It is important for organizations to evaluate the cloud
platforms as there are certain nuances on what platforms and software are supported in a cloud. Proof of
Concept projects can help understand how to set up accounts, acquire compute and storage resources,
enforce security and data privacy, understand cost models, and use tools for setup, deployment,
monitoring, metering and billing.
The following table describes the tasks that can be performed as part of the awareness phase and the
benefits for the organization from this exercise.

Cloud Platform Awareness Benefits


Interact with Cloud Platform vendors through partnerships, Learn about the cloud platform options and the
learn about the cloud platform using online and other resources capabilities of each of the cloud platforms
provided by platform vendors
Understand the platforms and software that are
Conduct a PoC to understand technology fitment and supported by the cloud platform and the tools
learn how to use the tools provided by the cloud platform provided by the cloud platform
Reduce risk by proactively validating the key
Test software components on the Cloud components of the application
Conduct awareness and training programs for business Increase the awareness of the cloud within the
owners and technical teams organization
Data Migration
The purpose of the data migration phase is to plan how the data used by the application either in a
database or in flat files is migrated to the cloud platform. This requires understanding of the storage
services available on the cloud platform and the databases that are supported. Organizations should also
review their data transfer and data synchronization needs to fulfill the enterprise data needs. There is still
no support from vendors for database clustering on some of the cloud platforms and it is essential to
evaluate them upfront to avoid surprises later. This can be an impediment in providing SLAs comparable
to deployments on-premise using advanced clustering solutions available from product vendors.
Organizations may have to opt for alternate database backup and availability mechanisms at lower SLA
levels.

Data Migration Activities Benefits


Understand the storage options available on the cloud Plan Backup, High Availability, Disaster Recovery
and security for data stored on cloud platform
Learn about the storage options available on the cloud
platform and the storage costs, Migrate file servers and
backups to cloud. Move commercial databases to
relational databases supported on the cloud
Evaluate the trade-offs when compared to on-premise Plan architecture and code changes upfront to
storage options such as availability, latency, performance, ensure that data access and response times are
caching options and data security features comparable to on-premise
Identify tools available with the cloud platform as well as
tools that need to be purchased for use in data migration
Develop the Data Migration Plan
Application Migration
The application migration phase helps in planning how the software components of the application can be
migrated to the cloud. In an ideal case, the whole application can be moved as it is to the cloud. However,
it is not always feasible or risk safe to move the entire application to the cloud. In such a case, the software
components that are not fit for the cloud are left on-premise and are integrated with the components that
are migrated to the cloud. As most of the applications have interfaces with other systems in the enterprise,
it is essential to architect the solution in a manner that allows loose coupling with on-premise, and
eliminates the need for real-time interfaces for better response. A stepwise approach to migrating the on-
premise components to the cloud in a phased manner will ensure that risk to business is minimized.
For legacy applications such as mainframe applications that do not have a compatible platform on the
cloud, it is possible to create web-frontends on the cloud using web services [4]. If the cloud supports
VPN, it can be used to effectively to integrate the on-premise applications with the cloud. Amazon has an
offering called VPC (Virtual Private Cloud) for a similar purpose.

Application Migration Activities Benefits


Decide the migration approach based on feasibility and risk Plan scalability and high availability by effectively
assessment - Full Migration or Partial Migration utilizing the elasticity and availability zones in
Implement cloud web-frontends for applications that are the cloud
based on legacy technologies
Perform capacity planning to identify infrastructure on Align the infrastructure and storage needs on
cloud based on concurrency, usage trends and peak traffic the cloud to actual demand for optimizing
resource usage and lowering monthly usage
Develop the Application Migration Plan costs
Cloud Deployment
Security is a key factor for cloud migration. Organizations need to understand how the cloud platform can
help them in enforcing application and data security [5]. This phase aids in planning for deploying the
application to the cloud platform. Once the application is tested on the Cloud, the platform environment,
resources and tools should be leveraged to exploit additional benefits offered by cloud platforms.
Scalability and high-availability are two key features that can be implemented effectively by leveraging
cloud platform features.

Cloud Deployment Benefits


Harden the security environment on the Cloud with Industry Secure environment with strong authentication,
standards such as SAS 70 Type II and PCIDSS as per the security access control and data security
needs
Leverage the services provided by the Cloud Platform for Self-service tools help reducing operational costs
security, accessing cloud resources and integration
Plan for resources to meet peak demand and scale Minimize ideal resource usage and pay per use
up/down only
Leverage the availability zones for backup and high High availability and environment ready for
availability ensuring Business Continuity
Test the BCP environment upfront
Monitor performance and resource usage using tools Pro-active measures for resource planning and
performance tuning
In spite of all the planning, even after deployment it is essential to further fine-tune the application and its
cloud environment for optimizing resource usage and lowering operational expenses. The monitoring
tools provided by cloud platform vendors are useful in identifying idle resources, usage patterns,
performance bottlenecks and security vulnerabilities of the application. The learning from live
applications deployed on the cloud should be compiled to create checklists and best practices for use in
future application development and cloud migration initiatives.
Conclusion
Migrating to the cloud requires an incremental approach. Solution design for migrating an application to
the cloud requires an awareness of the target cloud platform, understanding of the data migration and
application migration needs, and the security and tuning needs during deployment. Just like any other
migration, cloud migration has a cost component and calls for change management measures due it its
impact on business owners, infrastructure support teams and application teams. Organizations need to
focus on evangelizing cloud computing, conduct training programs and long-term ROI assessments prior
to embarking on cloud migration. The cloud migration framework serves as a blueprint for organizations
to assess applications, conduct proof of concept projects, plan data and application migration, and use
their experience in live cloud environments to optimize the cloud environment for further improvements
in system performance and lowering operational costs.
References

1. NIST definition of cloud computing, http://csrc.nist.gov/groups/SNS/cloud-computing/


2. Assess enterprise applications for cloud migration,
http://www.ibm.com/developerworks/cloud/library/cl-assessport/
3. Migrating Your Existing Applications to the AWS Cloud,
http://media.amazonwebservices.com/CloudMigration-main.pdf
4. Web enabling Mainframe applications,
http://www.redbooks.ibm.com/redbooks/SG247669/wwhelp/wwhimpl/js/html/wwhelp.htm
5. Amazon Web Services: Overview of Security Processes,
http://s3.amazonaws.com/aws_blog/AWS_Security_Whitepaper_2008_09.pdf

You might also like