Welcome!

SOA & WOA Authors: Elizabeth White, Kira Makagon, Mike Hicks, Dana Gardner, Brian Vandegrift

Related Topics: SOA & WOA, Cloud Expo

SOA & WOA: Article

Cloud Application Migration

What are the real challenges that make organizations take a cautious, wait-and-watch approach to cloud adoption?

The business value of a cloud model does not require any special emphasis to enterprises. The Infrastructure elasticity promises to offer the desired flexibility that allows businesses to penetrate new and emerging markets without the risk of a significant capital expenditure. The free cash flow made available will allow businesses to increase spending on R&D or other strategic initiatives. For small and medium businesses, Cloud Computing offers an ecosystem that allows them to co-exist, if not compete, with large businesses. For large businesses, it's a natural progression of how IT could better optimize its data centers and deliver more value for the business.

What are the real challenges that make organizations take a cautious, wait-and-watch approach to cloud adoption? The reasons are many. For one, concerns with regard to security and regulatory compliance overshadow other potential means through which one could benefit from cloud. It's necessary to uncover such possibilities for businesses to evaluate the potential of cloud computing. Put another way, we will explore the questions most business leaders ponder over - Is ‘cloud computing' the logical next step for me to successfully execute business strategy? If so, what should be my cloud strategy? Which applications are best suited to run on cloud? These are the questions we will discuss, attempt to answer, and where required, make suitable recommendations.

Is Cloud Computing Right for My Organization?
The challenges with migrating applications to a cloud infrastructure are plenty and range from security, to SLA management, to regulations, to fear of vendor lock-in, to lack of any standards. However, just as it doesn't make sense to move everything to the cloud, it would be unwise not to leverage cloud when an opportunity to benefit from it exists. Adoption models differ across businesses and industry verticals and are largely influenced by their business models, infrastructureand information system assets.

For businesses that rely on maintaining an active social community, where the community drives the growth of its storage and computing infrastructure needs, and where the exposure risk of having the content in public infrastructure is relatively low, a public cloud would be a natural choice. For such businesses that tend to have high volatility in workload, a public cloud frees the business from worrying about IT operational issues and allows them to explore opportunities for increasing their business footprint in newer geographies without risking a huge investment.

Organizations that are risk averse and have concerns with security and compliance regulations would be inclined to explore a private cloud option in the near term. A private cloud infrastructure will enable their workforce to adapt and evaluate the real potential of cloud computing in a closed environment. For large enterprises that have invested heavily in data centers, it's a logical next step.

For ISVs offering their products through traditional license sales, leveraging a cloud platform and offering products through a SaaS model will mean substantial cost optimization and economies of scale that will benefit both ISVs and consumers of their products. It provides ISVs with opportunities to support new customers, to create point solutions for SMBs that were unable to deploy, and manage and maintain their own IT infrastructure for a critical application.

Nevertheless, an assessment of potential applications, their affinity toward different cloud options and business value projections will help you make informed decisions.

Assessment
Application Portfolio Assessment is a critical exercise, but can easily spiral out of control and fail if its objectives are not well understood or defined. An assessment to determine an application's readiness for the cloud should evaluate the cloud readiness of key applications in the portfolio by rationalizing the portfolio using a multi-dimensional analysis of cloud application characteristics and provide clear recommendations on a suitable migration option - private or public - and migration paths - IaaS, SaaS or PaaS. Further, cost analysis should help assess impact on TCO/ROI and aid in building a business case.

A business's interest in the cloud weighs heavily on the core values it promises to offer - elasticitydeliveredon-demand, and at a cost far less than what a dedicated infrastructure would require. Any cloud assessment would fall short if it fails to factor it. Figure 1 highlights few critical dimensions we recommend upon which the assessment should be done.

Figure 1: Assessment Criteria

Following are indicative guidelines that should be applied to the assessment outcome to determine an application's cloud readiness:

  1. A positive business outlook for the application will mean better growth prospects for the application, leading to increased workload, criticality and dynamism in the future, thus increasing its cloud affinity.
  2. A measure of elasticity along three key parameters - workload, storage, and utilization - will yield a more definitive result on an application's cloud affinity. Elasticity of storage and utilization can be derived from existing monitoring infrastructures. An historical log analysis will help characterize application workloads and thus help in arriving at a more meaningful insight on an application's workload pattern.
  3. Any negative impact on governance, risk and compliance will have a ‘veto' effect on an application's eligibility for hosting on the cloud.
  4. Finally, technical feasibility of moving an application to a cloud infrastructure, the impact of any architectural change on the application, and the impact on quality of services will require careful consideration. A positive impact on architectural change, such as SaaS enablement of a product, may result in portfolio rationalization, thus boosting the application's case for moving to the cloud.

Applying a weighted scoring model along the above dimensions should yield a fair and just insight on your organization's cloud readiness, and determine if there is value in moving to the cloud.

Much of an enterprise's infrastructure could be serviced by a single internal private cloud comprised of multiple physical data centers. While a public cloud will play a significant role in delivering conventional enterprise compute needs, the private cloud is expected to remain a critical part of the IT infrastructure for the foreseeable future. Key differentiating applications may never move completely out of the enterprise because of their mission-critical or business-sensitive nature.

Some of the above-mentioned criterias like robust security requirements, mission critical applications, and stringent SLA requirements, compliance requirements, dependencies of the workload on large data set will help in any decision pertaining to migrating an application to a private or public cloud.

Cost Analysis
The business case for cloud application migration is never complete without taking the target cloud platform into consideration. The migration and overhead costs vary widely based on the target cloud platform and thus will skew the estimated cost savings. Cost analysis helps decide whether to go ahead with moving a particular application to the cloud or not from a TCO/ROI perspective.

Cost should include capital expenditure, operational expenditure, and overhead costs involved with migration. Table 1 provides an indicative summary of cost elements that needs to be factored.

Table 1: Cost Considerations

Applications hosted on a dedicated infrastructure should be considered potential candidates for migration to the cloud. Computing differential cost savings for such applications against current workloads should be relatively straightforward. For applications on a shared infrastructure, individual application workload characteristics may have to be determined before arriving at differential cost savings.

Migration Strategy
Defining a migration strategy involves understanding the various migration options available, establishing business priorities, and evolving a strategy that offers a fine balance between costs and meeting business priorities. Fundamentally, enterprises have the two following options with a cloud infrastructure - private or public. Against these, they have the following migration paths to consider - IaaS, SaaS or PaaS. The choice is driven by priorities such as elasticity, business model, go-to-market strategy and constrained by factors such as technical feasibility, security, migration costs, etc. It's not uncommon for a large enterprise to leverage a hybrid approach in any of the above migration options and paths.

While working with a portfolio of applications, a single all-encompassing migration strategy would not help. Ideally, the migration strategy should be evolved on a per application basis after a thorough evaluation of the applications under consideration. Issues arising out of the migration of hardware infrastructure and architecture should be uncovered and dealt with as part of the implementation strategy.

Migration Paths
Migrating applications to the cloud to benefit from its elastic infrastructure services is a quick, cost-effective, and tactical approach to reap the benefits of the cloud. It offers a natural entry point to exploit the value of the cloud platform without any significant overhead costs. The migration will be straightforward, usually a simple re-hosting exercise, with minimal or no impact on application code. This minimizes any risks with migration while still keeping the costs low. However, it must be said that while this offers a cost-effective approach, it does not offer the cost advantage (while delivering services) against competitors who have true multi-tenant capabilities. Migrating applications to cloud vendors like Amazon EC2 or Rackspace fall under this category.

Migrating applications to SaaS architecture and hosting it on a shared services model gives true multi-tenant cost advantage to an enterprise. It helps rationalize a portfolio by removing redundant applications offerings similar services across geographies or lines of business in favor of a single multi-tenant application shared across all its users. However, enabling SaaS architecture on an existing application could be a daunting task as most of the existing applications are designed to be single tenant. The main principle that lay the foundation for this model is in maintaining a single code base of applications for all its tenants and allowing pluggable mechanisms to address tenant-specific extensions. Thus, a convincing ROI is essential to move directly toward a SaaS approach.

Vendors like Google App Engine, Microsoft Azure offer a cloud platform stack that allows businesses to leverage end-to-end cloud services. Although these vendors provide an overall platform to build and deploy cloud-based applications, they put a lot of constraint on the technology to be used on each of the application layers. Due to these technical constraints, existing applications may need significant changes to support the technology stack of the vendor. These factors practically limit the volume of application workload that can be moved to a PaaS model. In general, a PaaS model is considered most suitable when there is scope for ‘greenfield' development. With existing application assets, PaaS may still be a suitable option when considering a ‘rip-and-replace' strategy.

Table 2 provides high-level guidelines can be considered while selecting a suitable cloud migration path.

Planning and Implementation
When considering migrating an application to the cloud, a common pitfall is to focus on only technical or implementation concerns while overlooking other stakeholder and operations concerns. In reality, they are as important as the technical concerns and must be dealt with and rightly addressed. Thus, during migration planning, understand challenges that must be dealt with, categorize them as enterprise, operational and implementation related, and finally, prioritize and deal with them individually (see Figure 2).

Figure 2: Migration Planning

At the enterprise level, managing the interests of the various stakeholders involved would be the top priority. Other departments that depend on the information system being migrated will have to make appropriate measures to ensure their day-to-day operations are not hindered. Stakeholders could even be external to the organization such as vendors to whom the operations are outsourced. A suitable migration strategy needs to be put in place to handle such scenarios. The enterprise architecture group or entities with a similar function would play a pivotal role in uncovering such scenarios and highlight potential cost implications to senior management in the interest of the enterprise at large.

At the operational level, IT will need to extend its view to include cloud as an extension of their on-premise infrastructure to deliver better services to business. When setting up a private cloud infrastructure within the enterprise, this would mean providing an alternative service delivery model - offering virtualized infrastructure, and associated management infrastructure to support metering, billing and SLA management for its enterprise applications. Similarly, when migrating to a public cloud, assessing impact on existing service level contracts and renegotiating AMC and service levels should be of priority. In either case, mitigate risks by involving all relevant stakeholders during the migration planning phase. If your applications are outsourced and maintained by an external service provider, involving them early in the process would help make the transition smoother.

At the implementation level, challenges will primarily be around the handling of the movement of voluminous data, establishing failover mechanisms and secure communication channels, validation and verification of migration, to name a few. If you depend on external service providers for implementation, the evaluation criteria for selecting a suitable partner must be put in place. When selecting a partner solution provider, consider the size and resource focus of the organization you are considering. Choose a partner that has already achieved success for an organization similar to yours.

The next step is to do a pilot exercise with a handful of key applications to uncover the adoption risks. It is important to do the first migration right and therefore form a baseline approach to evolve for further application migration to the cloud. Create milestones and proof points that let you evaluate early on whether you are on the right track. Ensure that the individuals assigned to the implementation work have the appropriate skill set and experience.

Tools, accelerators and solution enablers greatly help in any implementation to de-risk and optimize delivery. Table 3 summarize few tools and accelerators that may aid in cloud migration.

Conclusion
In this update, we covered the key activities involved with migrating an application to the cloud. We provided broad analysis dimensions that will help organizations identify a suitable application workload, and transform the existing application workload to the cloud platform. Organizations intending to adopt the cloud computing model would benefit from the suggestions and guidelines covered. The recommendations shared here should be treated as only prescriptive, and may vary based on the industry segment and nature of the assets.

We recognize that every organization has its own unique challenges to face and circumstances to deal with. While cloud offers a compelling value proposition, it is also a highly disruptive change and, thus, businesses must be aware of the workforce dynamics within the organization, and take all its key stakeholders into confidence before making the decision.

More Stories By Chetan Kothari

Chetan Kothari works as a Principal Architect at the Java Enterprise Center of Excellence at Infosys Technologies, a Global leader in IT & Business Consulting Services. He has over 12 years experience with expertise in J2EE application framework development, defining, architecting and implementing large-scale, mission-critical, IT Solutions across a range of industries.

More Stories By Ashok Kumar Arumugam

Ashok Kumar Arumugam is a Senior Technology Architect with Software Engineering and Technology Labs at Infosys. He has over 9 years of IT experience in product development, enterprise application design and migration. His areas of interest include application migration management, performance engineering and management, and cloud migration.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.