Understanding Enterprise-to-Cloud Migration Costs and Risks
By Mamoon Yunus, CEO, Crosscheck
Editor's note: Join ebizQ for BPM in Action on June 23, 2010.
Migrating to Infrastructure as a Service (IaaS) is an attractive option for corporations that want to shift from a capital expense to a pay-as-you go model. Regardless of the business driver for cloud computing, of which there are many including reducing costs and adding nimbleness, large enterprises are now faced with re-evaluating their core IT assets with an eye towards enterprise-to-cloud migration for improving business efficiencies. However, beyond qualitatively appreciating the benefits of cloud computing, IT executives lack the ability to quantitatively assess the risk-reward structure of which application should be migrated from the enterprise to a cloud. Without having a quantifiable impact assessment of migrating enterprise resources to a cloud, enterprises are faced with ad-hoc decisions during their cloud migration process.
Core Migration Questions
For CIOs, CTOs and business application architects, cloud computing has become inescapable aspect of their overall IT strategy. As businesses consider approaches to migrating parts of their infrastructure to the cloud, IT organizations wrestle with fundamental questions such as:
- What applications or its components should be migrated to the cloud?
- What should be the order/priority of migration?
- Which IaaS cloud provider should be selected based on application performance and reliability requirements?
- How do I mitigate enterprise-to-cloud migration risk?
Without addressing such questions, enterprises are faced with ad-hoc decisions during their cloud migration process that can add immeasurable risks to their business operations and undermine the efficiencies that they seek by migrating to the cloud.
Typical Migration Process
In a typical enterprise-to-cloud migration process, a corporation will identify candidate components based on drivers such business continuity, scalability or lower overall cost of ownership. The selection of cloud vendor then requires moving service components such as database, application servers, ESBs, and identity stores to the cloud environment. Once a full reference system is deployed in the cloud, the behavior of the enterprise application interacting with the cloud-based components has to be tested. Testing a reference system deployed in the cloud with an IaaS provider enables an enterprise to evaluate the class of servers, memory, CPU and storage behavior in a multi-tenant environment. IaaS providers also have to be benchmarked at various times to ensure consistent behavior.
To understand the risks of moving application components to a cloud-based deployment requires quantifying the implications of adding additional hops from the corporate data centers to cloud providers. Network latency-based timeouts, message delivery errors, performance and security profiles have to be coded by hand into a new 'test version' of the deployment, starting from the production version image that was ported over to the cloud, to check for "what-if" scenarios while interacting with the cloud. This adds a significant development burden on customizing the cloud-based components for the purpose of simulating failure, performance and scalability scenarios. Once the enterprise is happy with the interaction, the code added for the simulation has to be removed or turned-off to ensure that applications are in production and not in a debug state.
Efficient Migration Evaluation Alternatives
Cloud simulation and migration modeling provides a more efficient and nimble alterative to building a full cloud-based reference infrastructure for evaluating enterprise-to-cloud migration risks. Through enterprise-to-cloud migration simulation, organizations can simulate services in the cloud prior to implementation. Simulation enables enterprises to benefit by not having to touch production code – while eliminating the substantial time, capital and IT staff resource expenses related to creating a distinct cloud test environment. Expenses that can be eliminated through simulation include:
- A full-scale, redundant architecture that involves hardware acquisition and software licensing costs
- Hiring dedicated development teams to perform testing and benchmarking
- Custom hand-coding "what if" scenarios to determine error conditions related to latency, performance, scalability and security
Through simulating application components in the cloud prior to implementation, organizations can view real-world information about cloud providers including:
- Performance metrics
- Geographic latency and service initiation/ "spin-up" times
- Failures, outages and application error states
- Security, capacity and interoperability
Armed with enterprise-to-cloud interaction data under various operational scenarios, companies can make decisions on their cloud migration strategy without moving all or part of their application to the cloud, modifying their production code for "what-if" scenario evaluation and incurring significant development and infrastructure costs during the evaluation process.
Cloud Migration Trade-offs Factors
The information gathered by simulating enterprise-to-cloud interaction enables corporations to make key decisions on the cloud migration strategy. Simulations may reveal a significant trade-off between key cost and risk factors. Such trade-offs can help companies decide whether to maintain status quo or move application to a cloud provider.
Cost factors determined by simulating an application within a cloud may reveal that the server class required within a cloud provider to maintain the required application performance thresholds may be cost prohibitive. IaaS vendors provide a variety of options based on CPU and memory sizes. The cost ratio between a top-end server with the maximum available resources and an entry-point server can be as high as 30. Through detailed simulation-based analysis, the right server class can be identified and its costs can be appropriately modeled.
Corporations may choose to pick multiple cloud providers for redundancy and failover. Inter-cloud cost analysis enables companies to decide asset migration across multiple vendors. In addition to the pay-as-you go costs associated with picking one or multiple cloud providers, a number of other cost factors have to be considered including the costs of securing, managing and monitoring enterprise-to-cloud interaction and the actual cost of migration.
Risk factors associated with migrating application components to IaaS providers need to be clearly understood and quantified. Additional hops from the enterprise to the cloud providers changes the topology and risk by inserting a new point of failure that has to be addressed. The additional cloud "node" has performance implications especially within a multi-tenant cloud environment where performance of the cloud infrastructure can vary dramatically based on the number of parties sharing the same infrastructure. Selecting a larger server class with high memory and large CPU seems like the obvious choice for reducing performance and availability risks, however, the cost implication of such choices have to be closely calibrated before committing to a migration process.
With a clear understanding of cost and risk factors associated with enterprise-to-cloud migration, an enterprise can quantitatively evaluate the tradeoff between such factors. Through such trade-off analysis, corporations may arrive at a number of unanticipated conclusions. For example, the candidate application may not be suited for cloud migration given the costs and risk profile. The application may only be suited for private clouds with only capacity issues offloaded to cloud vendors. The latency added by enterprise-to-cloud interaction may be beyond acceptable tolerances. A different asynchronous or batch processing type application may have a lower migration cost-risk profile than a real-time application with millisecond response time requirements that may require cost prohibitive servers with redundancy across multiple cloud providers.
Simulating enterprise-to-cloud migration offers a simple, cost effective and flexible way of modeling the costs and risks associated with migrating applications to multiple IaaS vendors. Enterprises appreciate qualitative drivers for cloud migration but lack the tools and techniques for gathering quantitative data to assess the impact of enterprise-to-cloud migration on their business operations. By including simulation tools and techniques in their assessment process, corporations can make well-informed decisions regarding their cloud migration strategy without adding unnecessary cost and risk to their operation.