We are currently revamping our website to improve user experience. During this time, some pages or links may not function as expected. We regret any inconvenience and appreciate your patience and continued support.

Cloud Migration Risks: Why Legacy Apps Get Harder to Run

Moving an older application is riskier than moving a new one, because old software carries assumptions about the servers it was built on. This guide covers the main cloud migration risks for legacy applications, grouped into five, with what to find out first for each. It is written for IT heads, application owners and architects at mid-size companies in India and the GCC who have older, custom or tightly coupled software to move to AWS or Azure.

Moving an older app is riskier than moving a new one, because old software carries assumptions about the servers it was built on. This guide is for IT heads, app owners and architects at mid-size companies in India and the GCC. They have legacy apps to move to AWS or Azure. Legacy here means older, custom or tightly coupled software. It covers the main cloud migration risks, grouped into five, with what to find out first for each. The aim is to name each risk before the plan is fixed.


Last reviewed 2026-11-01 by Manish Sharma.

Cloud Migration Risks: The Short Answer

Five groups of risk catch legacy estates. The first is dependencies nobody wrote down. The second is software that does not fit the target. Then come the data move, the period when you run in two places at once, and the cost, security and skills around it. You can find each one before the move starts. A migration moves an app and its data from one environment to another. Here that means from your own servers to a cloud provider.

Five groups of risk in a legacy cloud migration, from hidden dependencies to skills
Each group can be found and named before the first wave starts.

Why Cloud Migration Risks Differ for Legacy Applications

Software built around its original servers assumes things the cloud does not share. Examples are fixed addresses, a specific operating system and a database a few meters away. Those assumptions may not be written down, so they can surface during the move.

Key Takeaway The risk in a legacy cloud migration sits in what the app assumes, so finding those assumptions early is the work.

Cloud Migration Risks, Group 1: Dependencies Nobody Wrote Down

An app depends on more than its own code. Databases, DNS entries, certificates, batch jobs and on-premises systems all sit behind it. Moving one part without the others can break the whole.

Soft and Hard Dependencies

AWS Prescriptive Guidance separates two kinds. A soft dependency does not depend on where the parts run, so the parts can sit in different places. A hard dependency does. An app server and its database that need low latency are one example. Moving only one of them causes functionality or performance problems that cannot be resolved, in AWS’s words. Microsoft Learn describes a different split, into direct, indirect and business dependencies. Its business dependencies are organizational or management relationships, such as related workloads and reporting systems that should move together. AWS adds non-technical constraints that can also fix a move date, such as release schedules, maintenance windows and month-end or quarter-end processing.

No single source holds every dependency. AWS says so directly: no source of data contains them all, so confirm what you find with the app owners. Filter shared services such as directory, backup and monitoring traffic out of the data you collect. Otherwise they make everything look connected to everything.

Dependency Groups and Components That Stay Put

A dependency group is a set of parts that must move together. Microsoft Learn suggests grouping by shared databases, APIs, authentication and network links, and keeping parts together when you are unsure. Check that each group also holds the load balancers, DNS and caching it relies on. A group missing those looks complete on paper and can fail on cutover day.

Some parts will not move in the first wave, or at all. Write down why, how each one connects to the rest and what data it shares. Then keep the time you run split between two environments short, as Microsoft Learn advises.

When two teams disagree

Two teams may give different answers about what an app talks to. Compare the network traffic with the diagram and ask the owner to explain the difference. AWS notes that batch jobs which run only now and then can be missing from the traffic data.

Cloud Migration Risks, Group 2: Software That Does Not Fit the Target

Some legacy software will not run, or will not have support, in the environment you chose. Find this out before you pick a migration path.

Unsupported Runtimes, Operating Systems and Hardware Ties

Software may rely on a runtime, a library or hardware that the target platform does not support. The check is simple. List the operating system, runtime and version of every component, and confirm each has support on the target, on AWS or Azure.

Licensing and End-of-Support Software

Confirm the license terms for the new environment and the support status of every component before choosing a path. Software out of vendor support can carry a security and compliance risk wherever it runs. License terms differ by vendor and product. Some are counted in cores and depend on a support agreement, as Microsoft’s SQL Server license benefit on Azure does (Microsoft Learn). A license bought for an on-premises server may therefore not carry over unchanged. This article states the check and no vendor’s rule.

Do not assume the license follows the application

Read the terms for each component, and get the answer in writing from the vendor before you start the move.

Monoliths and Hard-Coded Settings

A monolith is an app built as one tightly coupled block. It resists a move because changing one part affects the rest. Hard-coded settings, such as fixed IP addresses and file paths, can break after a move because the new environment may assign different ones. Search the code and configuration for these before the move.

Cloud Migration Risks, Group 3: Moving the Data

Data is the part of a cloud migration that needs a way back planned first. Plan the path, the cutover method and the way back before you start copying.

Volume, Transfer Path and Cutover Method

Choose the transfer path by data volume and sensitivity: a private link, a VPN, an offline device or the internet. Microsoft Learn lists ExpressRoute, VPN, Data Box and the internet as Azure options, and AWS has equivalents. Then choose the cutover method for each workload. Cutover is the moment the live service switches to the new environment. A downtime cutover stops the service for a window. A near-zero-downtime cutover keeps the old and new copies in step through continuous replication, which needs enough bandwidth and a test first. Pick by how critical the workload is. Phased waves, which AWS recommends as a way to create manageable groups and reduce risk, limit how much changes at once.

Integrity and Rollback

Validate data after the copy. Microsoft Learn treats row counts as a quick check and prefers checksums or hash functions for deeper validation. Take a backup before any step you cannot undo, and test schema and character-encoding differences on a copy first. A rollback is the plan for returning to the old environment if the move fails. Microsoft Learn’s guidance covers four parts.

1
Define a failed migration

Set the measurable point at which you stop and go back.

2
Write the steps

List them in order, with owners.

3
Automate and test them

A rollback that has never been run is untested.

4
Get stakeholder approval

Do it before cutover.

Microsoft Learn also advises keeping the source environment available as a fallback during the stabilization period.

Cloud Migration Risks, Group 4: Running in Two Places at Once

A phased cloud migration leaves part of the estate in the cloud and part behind, and that period brings its own risks.

Latency can rise between migrated and non-migrated parts, because calls that were local may now cross a network link. Google Cloud’s guidance says connectivity between migrated and non-migrated workloads can affect service levels, and suggests sizing the interconnect and adjusting the waves. Size the connectivity for the real traffic, including the traffic you filtered out of the dependency data.

Security needs can change as workloads move. Google Cloud’s guidance says to keep refining the foundation architecture for security and to adjust the waves if that is needed. List the controls that apply in each state, and in the final one too. Examples are a firewall rule added for the move, a temporary route or a service reachable from both sides. The longer the split lasts, the longer these exposures last, which is why wave order matters.

Cloud Migration Risks, Group 5: Cost, Security and Skills

Three more risks surround the technical ones in any cloud migration. They are running costs, who is responsible for what, and whether your team has the skills.

A lift-and-shift keeps the app’s original size and habits, so it can carry on-premises sizing into a pay-for-use setting. Whether cost goes up or down for your estate is something to measure after cutover. Running two environments in parallel adds cost, and so does moving data out of a provider’s network (egress). Our post on cloud optimization covers cost after cutover.

Shared responsibility

The provider secures the infrastructure under its services, and how much you secure yourself depends on the services you choose (AWS shared responsibility model). List temporary migration credentials and open ports set up for the move, and remove each one when the wave is done.

Skills gaps are a risk in themselves. Assess what your team knows about the target platform, and bring in outside help where it is thin. Choosing one strategy for every workload is also a risk, so assess each workload. Our post on legacy modernization covers the choice between rehost, replatform and refactor.

Key Takeaway Name an owner for each risk group before the first wave, so every risk has someone to answer for it.

A Table of Cloud Migration Risks for Legacy Applications

The table summarizes the five groups of cloud migration risk. Use it as a review sheet for your own estate, and add the problems you find that are specific to your apps.

Risk How it shows First check Mitigation Owner
Hidden dependencies The application fails after the move; a batch job or certificate is missing Network traffic and application owner interviews Build dependency groups; keep them together Application owner
Software that does not fit Unsupported runtime or operating system on the target; license refused Version and support status of each component Replace, upgrade or leave it where it is Architect
Data move Corrupt or missing records; long downtime Volume, transfer path and cutover method Validate with checksums; define and test rollback Data owner
Running in two places Slow calls between sites; security gaps Traffic between migrated and remaining parts Size the link; shorten the split; review controls per state Network and security teams
Cost, security and skills Higher running cost; leftover credentials; stalled work Cost after cutover; list of temporary access; skills review Review cost; remove access; add skills or outside help Project lead

Cloud migration advice
Talk to a migration specialist about your legacy apps

How to Order the Work to Lower the Risk

Start with the simplest workloads and move the critical ones after you have early success. In a cloud migration, the order of work is a risk control in its own right.

Checklist of five things to settle before the first migration wave
These five items come straight from the risk groups and cost little to settle early.

Start Small, Start in Non-Production

Move simpler workloads and non-production environments first. Include one or two representative complex workloads in the early waves, so you learn what the hard ones need while the stakes are low. Critical systems follow once early waves have worked. Keep early waves small.

Use a non-production copy

A non-production copy of a legacy app is a cheap way to find unsupported software and hard-coded settings.

Keep Waves Short and Plan Them Ahead

Wave planning is ongoing, and a wave plan can change as you learn. Discovery of dependencies continues during wave planning. AWS Prescriptive Guidance sets no predefined wave length. It recommends keeping waves within 6 to 10 weeks (as of November 2026, from the AWS wave planning page). Avoid month-end, quarter-end and release dates, since those business dependencies can turn a routine cutover into an incident.

What This Article Does Not Cover, and When to Get Help

This article explains the risks of a cloud migration. It does not give the step-by-step method, a checklist, or the choice between rehost, replatform, refactor and the other migration strategies. Read our post on legacy modernization for the strategy choice. Define a business goal and name an owner for the app after go-live, so the move has an end state.

Regulatory requirements can shape a move. Google Cloud’s migration guidance names data protection and privacy requirements, including data localization, as one category of regulatory requirement. It suggests separate migration waves for workloads with regulatory constraints. Which rules apply to your data in India or the GCC depends on your sector and your regulator. Confirm them from the regulator’s own guidance. This article states no country rule.

An outside partner helps when your team lacks experience with the target platform, when you cannot map the dependencies, or when a critical app has no documentation. For the wider picture, see how Signisys helps you migrate legacy applications to the cloud. Our page on cloud migration and modernization on AWS and Azure adds detail. See also cloud services and platform engineering.

Cloud migration advice
Get a second opinion on your migration plan from Signisys

FAQ: Cloud Migration Risks
What are the main cloud migration risks for legacy applications?

Hidden dependencies, software that does not fit the target, the data move, running in two places at once, and cost, security and skills. Dependencies come first, because every other plan relies on knowing what must move together.

How do I find the dependencies of an old application?

Combine network traffic data with interviews of the app owners, and filter out shared services such as directory and backup traffic. No single source holds every dependency, so confirm what you find with the people who run the app.

Is lift and shift safe for a legacy application?

It can be, for an app that already fits the target. Check cost after cutover, because the app keeps its old size and habits. Check the software’s support status and license terms first.

What should a rollback plan include?

A definition of a failed migration, written steps in order, automation and testing of those steps, and stakeholder approval before cutover. Without testing, treat it as untested.

Which workloads should move first?

Simpler workloads and non-production environments, plus one or two representative complex ones. Critical systems move after early waves have worked.

When should a legacy application stay where it is?

When its software has no support on the target, when its license does not allow the move, or when its dependencies cannot be split safely. Leaving it in place for now is a valid decision, as long as someone owns the date to revisit it.

References

Newsletter

Security Insights, Delivered.

Practical, vendor-neutral analysis of threats, tools, and architecture decisions.

Book a Consultation

A practice principal will contact you within 1 business day.

Thank you! A Signisys principal will be in touch within 1 business day.