Cloud Migration: How to Estimate the Cost
It’s easy to underestimate the cost of moving an application to the Cloud.
It’s easy to underestimate the cost of moving an application to the Cloud. For example, you might estimate the number of servers of a particular size you will need, how long you will need those servers and the amount of storage you will use. That should give you a rough estimate of your Cloud costs, right? Not exactly but it does give you a rough estimate of your operational costs of running your application in the Cloud. It does not say anything about getting your application up and running on Cloud infrastructure. For that we need to consider the cost of assessing, designing and executing your Cloud migration.
For the purposes of this article we only consider the case of migrating an existing application from on-premise infrastructure to a public Cloud provider offering infrastructure as a service (IaaS). Migrating applications to new platforms, such as Google Engine or the Heroku platform are outside the scope of this article.
The first step to migrating applications to the Cloud is understanding which of your systems are good candidates for the Cloud. Starting with non-mission critical applications with few dependencies on internal services mitigates risks to business operations. An example would be a log analysis system that collects, consolidates, and aggregates data or scans for important patterns of activity in system logs.
Such a system might use a relatively small set of scripts, copy data in ways that do not require coordination with other applications, and generates data that is delivered to users in relatively simple ways, e.g. basic reports or alerts. At the other end of the application spectrum are complex workflows with multiple servers, a substantial network of dependencies and a critical role in business operations. These can be migrated to the Cloud but will require substantially more planning and design than their simpler counterparts. Once you have identified the applications you will migrate, you can start a detailed look at functional requirements and operational dependencies.
One set of costs with Cloud migration comes from the need to provide supporting services to your application. Many applications require authentication and depend on LDAP or Active Directory services in your organization. Will those directories be replicated in the Cloud, in part or in whole? If so, you should consider ongoing maintenance costs. If not, you will need to determine what is required to make the directory accessible from a Cloud-based server. This could be as simple as changing firewall settings or it could require adding the Cloud server to your VPN, which can incur additional operating costs with your Cloud provider.
You should also assess the need for initial data loads. You may have a significant amount of data to copy to Cloud storage. In addition to direct costs, consider the time required to copy data to the Cloud.
Few applications are islands unto themselves. Most depend on data or application services from other systems. You should determine if the migrated applications running in the Cloud have access to these services (e.g. there are no firewall restrictions)? Also, consider if network traffic to the Cloud-based application has a longer -latency; will this adversely impact performance of the application? It is important to identify those dependencies as early as possible to avoid design and implementation decisions that have to be revised or rolled back.
Determine if fail over functionality is available with the application you are migrating. Application servers and databases can be configured in failover clusters which can be used during the execution phase to streamline the final steps of the migration.
With a clear picture of which applications are suitable for migrating to the Cloud, an understanding of dependencies on other services, and a sense of the amount of data involved in the migration you can begin to make design decisions about how you will implement the migration.
Dan Sullivan is an author, systems architect, and consultant with over 20 years of IT experience with engagements in systems architecture, enterprise security, advanced analytics and business intelligence. He has worked in a broad range of industries, including financial services, manufacturing, pharmaceuticals, software development, government, retail, gas and oil production, power generation, life sciences, and education. Dan has written 16 books and numerous articles and white papers about topics ranging from data warehousing, Cloud Computing and advanced analytics to security management, collaboration, and text mining. See here for all of Dan's Tom's IT Pro articles.
(Shutterstock cover image credit: Cloud Computing)