Accedian is now part of Cisco  |

Avatar photo
By Michael Bacon

Six steps for migrating applications to the cloud

Cloud migrations are failing at an alarmingly high rate despite the fact that close to half ( 46%) of CIOs consider migration to the cloud over the next two years as a top priority, according to Vanson Bourne and Accedian research.

The numbers are concerning. Three out of every four cloud projects are over budget, roughly 74% of businesses are forced to black out applications, and 38% have missed cloud migration project deadlines.

Businesses continue to move applications to the cloud for efficiency, cost-savings and flexibility, but the story that often goes untold is how many of those enterprise application migrations don’t go well.

Steps for successful cloud migration

Here are six basic steps for migrating an application to the cloud. Let’s look at each, and how a business can leverage a network and performance monitoring solution to reduce the chances of a failed or problematic cloud application migration.

Step 1: Define business goals

The first step is defining why there is the need to move an application to the cloud, and whether it makes sense. Beyond the general trend of cloud migration, businesses need to examine the actual use case for moving an application to the cloud.

There are six common goals for application migration to the cloud. These include:

  • Improved application robustness
  • Increased scalability
  • Greater organizational agility
  • Better performance
  • Tighter security
  • Cost reduction

Step 2: Discovery and application selection

Once the goals are defined, identify and qualify each application within the organization for suitability to move it to the cloud. This qualification of cloud readiness should include looking at the criticality and complexity of the application, license and hardware costs, and position in the lifecycle, among other criteria.

A network and application performance monitoring solution (NPM) such as Accedian Skylight can assist with this discovery and selection by automatically listing all the applications in use via their network traffic, the user base, network performance, etc.

Critically, businesses should use a NPM to baseline performance of the application before it is considered for migration so it is understood what will be needed to successfully run the application in the cloud without application performance degradation. This baselining can help ensure that the migration also improves performance instead of hurting it.

Step 3: Design

Based on findings during the discovery phase, the organization should then consider the best option for migrating an application to the cloud, including:

  1. Rehosting. Lifting and shifting the app to a cloud infrastructure.
  1. Replatforming. Making minor changes to the application architecture for migration.
  1. Repurchasing. When the cost of feature decay makes migration problematic.
  1. Refactoring/rearchitecting. Rewriting large parts of the application.
  1. Retiring. Replacing the application with a new one instead of migration.
  1. Retaining. Keeping the application as it is instead of migrating it to the cloud.

The use of an NPM for better understanding the needs and uses of each application can make the design decisions in this phase significantly easier and driven by actual usage data.

Step 4: Testing and Refining

This is one of the most critical steps in successfully migrating an application to the cloud, and where many projects fail. In the testing phase, the network and performance of the potential migration is tested to see if it meets the specified goals of the project, and matches or exceeds the performance of what came before.

This is also where the user experience is evaluated, and where any problems with the migration are fixed.

NPM plays an important role in this testing phase of migration, because organizations can use an NPM to validate that the proposed migration works, and that there are no subtle issues that exist with the migration but are going unnoticed. If there are issues, an NPM can define exactly where the issues exist so adjustments can be made far more efficiently.

Step 5: Migration

Then there’s the actual migration once testing and revision has been performed. During migration, there’s a three-step process. First the infrastructure is migrated, then the application itself is moved to the cloud, then finally there is an additional round of testing just to ensure that the expected behavior actually is achieved during the migration.

NPM solutions help with the migration stage by checking the results of the migration and assisting with ensuring that the migrated architecture meets the needs of the application. If there are network or performance trouble during migration, an NPM will spot them and pinpoint exactly where the problems are arising.

Step 6: Continuous Monitoring

The migration stage isn’t where application migration ends, however. As part of the migration, network and application performance should be set up for continuous performance monitoring.

Even after an application is in the cloud, it is important to monitor performance and ensure that vendor SLAs are being met on a continuous basis because that is not a given. When there are network or application performance issues, continuous monitoring also can spot them early before they become a hindrance for employees or customers, and help reduce resolution time by pinpointing exactly where the issues are emerging.

This naturally comes from having a NPM in place to not only measure performance during migration but on an ongoing, real-time basis. NPM solutions can be used both for active re-testing of application performance, and passive monitoring for spotting when network or application performance is changing.

For a look at how an NPM such as Accedian Skylight actually helps with application migration to the cloud, and for a deeper dive on the topic of migration, watch our webinar, The catastrophically high failure rates of cloud migrations.