The Five Strategies for Migrating Applications to the Cloud

Zeeshan BaigBlog

Applications can be migrated to the cloud in many ways, but there are some common guidelines that could ease up the process. In this post, I will go over 5 different strategies that an organization could leverage to migrate their on-premise applications to the cloud.

Discovery Phase

Before deciding on which migration approach to take, we typically begin with a discovery phase. This is when we determine what’s in the environment, integration points, data flow, interdependencies, licenses, inventory and so on.

Using that knowledge we can outline a plan on which area of the application to target first. It’s true as we move on we might experience surprises or find more missing pieces of the puzzle but this would be a good starting point.

The key to a successful migration strategy is to go for quick wins first or some people say “grab low hanging fruits”. Means, start with something on the low-complexity end, something that would give immediate positive results.

The 5 Rs of Application Migration Strategies

Gartner published a paper back in 2011 on Application migration strategies, In this post, I am expanding on it and discussing more pros and cons of each strategy.

Following are the most common strategies we find

  1. Rehost
  2. Refactor
  3. Revise
  4. Rebuild
  5. Replace

Let’s discuss some details, scenarios and the pros and cons of each approach.

In this post we will take the following reference 3-tier application, we assume this app is running on-premise

1. Rehost or Lift and Shift

Re-host also known as “lift and shift” is a common approach when migrating apps to the cloud. If organizations are looking to speed up their migration projects, re-hosting would give immediate benefits, with re-hosting organizations could save up to 30% operational cost without optimizing the apps for the cloud.

Following slide demonstrates how rehosting would look like from our reference application

PROS

  1. Affordable option, CAPEX to OPEX.
  2. Cost savings from physical infrastructure.
  3. Possible Immediate benefits of Cloud computing.

CONS

  1. Some apps might be complex to Lift and Shift, requires special tools.
  2. Stateful applications might not be scalable.

2.Refactor or ReArchitect

Also known as re-architecting, refactoring allows you to think about existing application and leverage cloud-native services and features either from a code or architecture perspective.

Refactoring could be the most expensive option but it would provide the best possible benefits of the cloud platform. You probably need a strong business case to refactor existing application to the cloud.

Following is an example of how refactoring would look like of our sample application

PROS

  1. Highly scalable and resilient solution.
  2. Agile and quick time to market in future.
  3. Leverage cloud-native or multi-cloud solution.

CONS

  1. Most expensive option.
  2. Required good business case + funding to convince top management.
  3. Could be time-consuming, might need to move out of familiar technologies (e.g Oracle to Amazon Aurora or PostgreSQL).

3.Revise or RePlatform

Also known as re-platforming, Stephen Orban of AWS also call it “lift-thinker-and-shift”. Here you might need to move some components of your application to the Cloud to get some benefits. For example, you can move your on-premise Oracle database to Amazon RDS or migrate to Postgresql or Amazon Aurora, another example would be to move from vendor locked-in products such Oracle WebLogic to more open source solutions such as Apache Tomcat.

Following is an example of how re-platforming would look like of our sample application

PROS

  1. Cost savings with infrastructure and software licenses.
  2. Less operational overhead, fully managed solutions.
  3. Choice of open platform, move out of vendor lock-in.

CONS

  1. Could cost more than lift and shift.
  2. Complex application and infrastructure testing.
  3. Might require application code changes to leverage the cloud.

4.Rebuild

As the name suggests rebuild means is to discard legacy application and develop again using cloud services and features. Rebuild is a PaaS based solution, it requires good familiarity with existing application and business processes as well as cloud services. The major challenge could be to work with application consumers who are forced to use a new application which could make or break things.

I have seen in many organizations where probably only one or two people are familiar with the application code or deployment and no one else wants to put hands in a danger zone, use cases like these would be a great opportunity to rebuild the application.

Following is an example of how rebuild would look like

 

PROS

  1. Cloud computing benefits, such as cost savings and pay as you go model.
  2. Modernization of an application (e.g Monolithic to Microservices design).
  3. Developer productivity, opportunity to update skillset in an organization.

CONS

  1. Requires familiarity with existing application and business processes.
  2. Consumers would be forced to switch to the new application.
  3. Redefine SLAs.

5.Replace or RePurchase

And the final strategy is to replace your existing application using some commercial software. This is normally based on a case when some SaaS company provides a better solution that something you can do yourself. For example SalesForce.com or Office 365.

Following is an example of how replace strategy would look like

PROS

  1. Less administrative overhead.
  2. Mobile, better features, flexibility, and support.
  3. Good value, cost-effective, best of the breed.

CONS

  1. Limitation of customization.
  2. Might need to change the business process according to an application.
  3. Limited data access, vendor lock-in.

Hope you like this post, please leave a comment and share your suggestions on any topics you like us to post.

@IamZeeshanBaig

About DataNext

DataNext Solutions is a US based system integrator, specialized in Cloud, Big Data, DevOps technologies. As a registered AWS partner, our services comprise of any Cloud MigrationCost optimizationIntegration, Security and Managed ServicesClick here and Book Free assessment call with our experts today or visit our website www.datanextsolutions.com for more info.