9 minute read

Throughout the years, we’ve helped many organizations and enterprises develop their Cloud Strategy and plan for cloud migrations. The most common question that gets asked is 'How do organizations decide which applications they should prioritize for migration'.

It can be a real challenge when the complexity of the cloud is combined with the hundreds or even thousands of applications an enterprise may deliver and support. Many considerations can contribute to this, application suitability and application complexity are two critical factors that have historically provided some direction, clarity, and eventually a roadmap or sequence for their migration plan.

Understanding application suitability and complexity are critical because they are key factors that can ensure a smooth pilot or POC for cloud migrations.  Building internal IT confidence in their decision to move to the cloud is a typical challenge for organizations that must be overcome.
How do I determine which applications to migrate first?

Application Suitability

Some applications will be more suited to the cloud than others. Due to performance profiles and usage patterns certain applications can achieve increased agility and efficiency, resulting in being more cost-effective.

Start off by determining if there are suitable options in the cloud for your applications. This is done by analyzing the performance profile of the application and comparing it to what is currently available in the cloud. It may not be a good option for moving to the cloud if you cannot find a VM or compute resource that matches or meets your application’s performance requirements at a reasonable cost.

Applications that exhibit variable usage patterns are typically great candidates for migration. If they are 'bursty' then they are likely creating a lot of waste during slow periods. If you keep an application like this on-premises you’ll have to continually provide the resources to meet their peak usage times.

By migrating these applications to the cloud you can take advantage of auto-scaling. This on-demand nature of the cloud is what makes it perfect for applications with dynamic workloads. Supporting seasonal fluctuations in customer demand for retail environments or organizations that perform year-end reporting come to mind as typical examples.

These applications will have a high load during peak periods and lower load demand when the app is not being used. As the application needs additional resources they can be automatically provided and scaled back when no longer needed.  An application that only pays for the compute capacity that is actually used can help organizations reduce costs. 


Application Complexity

Determining application complexity is based on a holistic assessment of the application’s performance characteristics, it's classification, what environments it runs in, and other applications, systems, and infrastructure it may communicate with.

Organizations should migrate the least complex applications first as a best practice or general rule of thumb. Organizations that start with complex applications first can often create major headaches for IT and the business.

Our goal is to avoid making your organization’s first experience with the cloud a negative one.  This can also make IT leadership and the business lose confidence in the broader cloud strategy and be wary of migrating anything else.

Applications that are classified as 'Mission-Critical' are usually not good candidates for migrating first as well.  Any issues with a 'Mission-Critical' application have the potential to reverberate throughout the business. Applications in these classes can include legacy, monolithic, and home grown applications. These applications are best saved for migration at a later time, once you have a few successes under your belt.

Applications that are in non-production environments like development, staging, and disaster recovery, are good candidates for early migration. Such systems are less likely to cause problems that could have an effect on your company and your customers if something goes wrong during migration.

An application's connections are a critical consideration when determining the complexity, either internal or external connections. Organizations should inventory and map application dependencies to better understand all of the other systems, applications, services, providers, and servers it communicates with.  This should also include the frequency of communication and whether it’s bidirectional or unidirectional.

Don't overlook multi-tier dependencies and dependencies between different parts of the business or IT organization. Applications with more dependencies mean they are more complex.  These complex applications can be the hardest to migrate and should be migrated in later phases.

Applications that don't have dependencies, do not communicate with other systems, consume minimal amounts of resources like compute, storage and network, should have the lowest impact on your other applications and will generally take less time to migrate. These applications should be considered for early migration.

You’ll also want to take into account Gartner's '5rs' of migration or AWS's '6Rs' of migration when evaluating an application’s complexity.
Applications that will simply be re-hosted should move in an earlier migration phase.  Conversely, applications that will be re-factored, revised, or re-built require increased work and coordination and should be migrated during a later phase.


How migration approach affects application complexity, effort, and optimization opportunities

I've created the below diagram to help me better generalize how the determined migration approach directly affects complexity.  I've also generalized for effort (Time and Cost) and optimization opportunities.



In addition to understanding Application Suitability and Application Complexity, I am going to provide a generic framework to further assist with sequencing cloud migrations.  It is very basic but is solid and makes sense.  You can always adapt and expand where it makes the most sense for your organization.  You can also contact us and we can discuss your current cloud drivers and where you are in your cloud journey.


A generic cloud migration framework

The following generic framework can help identify the best time for workload migrations. It is comprised of four ascending tiers.  These tiers typically provide a logical migration sequence or order for workloads by group:



Tier 1: Opportunistic Migrations

Applications in the first tier are driven by current opportunities that could help you maximize ROI of that application in one way or another, and are strong candidates to migrate first.  

An example may be that the organization is using an outdated version of software and in order to upgrade we would have to implement a new environment.  Instead of creating infrastructure on-premises the organization would consider leveraging the cloud instead.  For this example the organization could decide between IaaS, PaaS, or a SaaS solution.

Another common example is pending contract expiration for data centers, colo providers, vendors, SaaS providers, etc.  These are the opportunities that don't happen every day, literally.

Opportunistic Migrations can be extremely useful if there is pressure to justify cloud business value or otherwise provide cost assessments for a workload or app. 

Below are some questions to help determine if your application belongs in this tier:
  1. Is this application or workload considerably more expensive to run on-premises as opposed to being run in the public cloud or through a SaaS provider?
  2. Does this application or workload require an upcoming hardware refresh or has a software version end of life scenario, making it more attractive to move to the public cloud or SaaS provider sooner rather than later?
  3. Are there services, platforms, regions, or instances in the cloud that would provide significantly improved performance or capability?
Applications that fall into the 'Tier 1 - Opportunistic Migrations' group create quick wins that deliver tangible and immediate benefits for the organization and users.

Tier 2: Minimal Migration Risk

Applications with a relatively low risk to your greater IT operations are found in Tier-2.   Below are a few questions that IT can ask to better evaluate which applications have the least amount of risk when migrating to the cloud. These applications are in the early phases of a cloud migration project.
  1. What is the business criticality of this application?
  2. Does this application have a large employee and/or customer base?
  3. What is the environment type(s) of this application (Dev, Staging, Prod, etc)
  4. How many dependencies and/or integrations does this application have?
  5. What level of overall understanding does IT have for this application?
  6. Does IT have accurate, up-to-date, and thorough documentation for this application and its architecture?
  7. What are the operational requirements (SLAs and/or SLOs) for this application?
  8. What are the legal or governmental compliance requirements for this application?
  9. What are the downtime and/or latency sensitivities for this application?
  10. Are there line-of-business owners eager and willing to migrate their applications early?
These questions will help you rate risk levels for applications.  Lower-risk applications should be migrated first. Higher-risk applications should be migrated later.


Tier 3: Ease of migration to the public cloud (Suitability)

The third tier in this framework is the same as Application Suitability from above but provides questions to help determine the ease of migration.  Ease of migration (or Suitability) is about how painless the application’s cloud journey should be.

Relevant questions to ask include:
  1. Was application designed to run on-premises, in the public cloud, PaaS/SaaS, or Hybrid cloud?
  2. Can the 'lift-and-shift' migration approach be utilized for this application?
  3. Does this application use only one particular OS type, or is it flexible?
  4. Does this application (or its data) have any government, medical, regulatory, compliance, or SLA-based requirements to run on-premises?
When sequencing cloud migrations you can sometimes have applications from Tier 3 migrating before Tier 2, or even Tier-1.  This is normal and can be expected.


Tier 4: Custom application

Applications in the fourth tier should be migrated last. These are the applications that are considered legacy or monolithic and/or were written in-house or by third parties.  These applications typically pose some unique migration questions, such as:
  1. Was this application built specifically for its current hardware or on-premises?
  2. Is the application code well commented?
  3. How deeply integrated is this application with the overall IT landscape and business processes?
  4. Is there in-house expertise to assist with migrating this application to the cloud?
The questions help to determine how and whether you can migrate these applications to the cloud.  In many cases, it is not practical or wise to migrate before the application is redesigned.


In Conclusion

The generic cloud migration framework can help organizations determine the sequence in which to migrate applications to the cloud. Early wins can be crucial during the migration process.  The framework can help identify which applications represent the highest likelihood of early success. By going through the outlined process you will know which applications will likely yield success and which applications will be more challenging.


How we can help

This blog is part of our ongoing cloud series. To find out how we can help in your cloud migration journey, please reach out to us at cloudservices@recirc.me

Recirc.me is a trusted partner for technology solutions. Contact us with any
questions — or if you need help getting started on your cloud journey today.

Phone: 888.555.1212
Email: cloudservices@recirc.me

Post a Comment

Previous Post Next Post