By George Florentine, VP of Technology
As we work with customers in our application assessment projects, a frequent question asked is “Should I migrate this application to the cloud or keep it on premise?” With the ubiquity of cloud computing in IT conversations these days, it is easy to conclude “Yes! Everything to the Cloud.”
In this blog, we’ll explore considerations we use when working with our customers to determine cloud migration viability.
Cloud Migration Key Considerations
We have developed an evaluation tool that we use to characterize the value in migrating an application to the cloud. It considers the following characteristics of an application:
Some applications will run with a steady state set of resource requirements. These applications typically support a well-defined set of individuals who use the application every day. Their workload is consistent and predictable. IT deploys the application to an environment that provides suitable performance, and the application runs in a steady state. Other applications have well-known surges in requirements—processing end of month invoicing, issuing financial documents at week, month or quarter close, etc. These applications may be quiescent for 90% of the time. However, when a certain business event transpires, their resource needs may go up by 2-3 orders of magnitude. Other applications have unpredictable surges in resource requirements, driven by external business or real-world events (natural disasters, unexpected business audits, etc.) that will suddenly require large amounts of cloud resources to respond to the business need.
The more volatile the resource requirement, the higher the score we assign the application in favor of a cloud deployment.
Tiered Storage Usage
Some applications create large amounts of data that must be stored for long periods of time but have access patterns that are heavily skewed towards accessing recent data. Older data can be migrated to lower-cost storage, resulting in significant reduced cost of ownership. Many cloud providers have this service and leveraging it can reduce your cost of ownership. If your existing deployment environment does not support migration to/from tiered storage, this could be a powerful reason to migrate your application to the cloud.
Security is probably the biggest single reason we see customers hesitate to migrate applications to the cloud. In some cases, this concern is warranted: requirements to air gap an application from the Internet, requirements around site security, and requirements for elevated security clearances for IT staff may prevent an application from being migrated to the cloud. But in many situations, we notice that the security profiles of cloud providers is actually better than a customer’s existing on-premise deployment environment. For example, over the last several years we have seen many cloud providers achieve HIPAA compliance through achieving a HITRUST certification. To learn more about what AWS is doing in the area of cloud security, please refer to https://aws.amazon.com/security/.
Some applications have hardware dependencies that are not yet widely available in cloud environments. Although the vast majority of your applications probably do not have these types of hardware requirements, applications that perform 3D visualization, AR/VR or highly intensive computation operations may require graphics or compute hardware that is not available in public cloud environments. These applications would not be good candidates for cloud migration.
Coupling with Other Applications and Application Grouping
Many older applications are relatively monolithic and their integrations with other applications or system services are relatively simple and easily discovered using automated tools such as Azure Migrate, Azure Service Maps, and Application Discovery Service along with open source tools such as Pinpoint and Prometheus. These applications are good candidates for cloud migration. Other applications may have been developed concurrently with a number of other applications and will have a large number of integration points with these applications. For example, an application that provides content or data aggregation may access a dozen or more backend databases and web service endpoints to build reports or visualization models. In this case, we recommend grouping these applications into an application group migration project so that these applications can be migrated to the cloud and collocated in a cloud provider’s data center or zone.
Predicted Application Lifetime
Another important consideration is the projected lifetime of an application. If the application has a long-predicted lifetime but is running in a data center or on-premise environment that is difficult to maintain, scale, secure, etc., it is a good candidate for cloud migration. However, if the application has been targeted for retirement or sunsetting in the near term, a cloud migration project would probably not be useful.
Cloud Migration Assessment Viability Methodology
As you can see from this list, there are several areas to consider when evaluating an application for a cloud migration project. To support this type of assessment, we have developed an application assessment methodology that weights a variety of criteria and produces charts and reports that provide guidance to a cloud migration project. Refer to Figure 1 for an example of an output from a cloud assessment project that used this methodology and tooling.
Cloud migrations can be an extremely useful part of your ongoing IT strategy, providing great scaling, flexibility in provisioning, and highly secure and highly available, globally accessible deployment environments for your applications. However, care must be taken to do an assessment considering the factors we describe above to ensure that your business recognizes positive results from a migration project.