Cost & pricing · Custom Software

Cloud Migration Cost: What It Really Runs in 2026

The short answer

A cloud migration costs $20,000 to $650,000, with most mid-market projects landing between $65,000 and $190,000 and running 3 to 6 months. A 20 VM lift and shift with no database engine change closes in 5 to 9 weeks for $20,000 to $50,000. A regulated refactor with Oracle coming off the floor takes 7 to 14 months and starts at $200,000. The gap is almost entirely workload count, database engine changes, and how much downtime you can tolerate on cutover weekend.

What a cloud migration actually costs

Across 2,000+ projects at Digital Heroes, cloud migration quotes cluster into three honest bands. The number moves on workload count and database complexity, not on how impressive the deck looks.

Tier 1: Lift and shift, $20,000 to $50,000, 5 to 9 weeks

Ten to 25 virtual machines moved as-is from a data centre or VMware cluster into AWS, Azure or Google Cloud. You get a light discovery pass, a single-account landing zone, networking and identity wired up, replication via the cloud vendor's own tooling, one cutover rehearsal, and a weekend cutover with a rollback plan. One or two engineers plus a part-time architect.

What falls out of scope at this tier, explicitly: no application refactoring, no database engine change, no zero-downtime cutover (plan for 4 to 12 hours of outage), no multi-account guardrails, no compliance evidence pack, no cost optimization pass, no disaster recovery build, no observability rebuild beyond default cloud metrics. If a vendor quotes $35,000 and any of those words appear in the proposal, the proposal is wrong.

Tier 2: Replatform, $65,000 to $190,000, 3 to 6 months

Thirty to 90 workloads, two to five databases, a handful of applications moved onto managed services instead of VMs. Multi-account landing zone written in Terraform, secrets management, a real network design with hybrid connectivity, waves of migration with rehearsals per wave, monitoring rebuilt, runbooks written, two weeks of hypercare after cutover. Team is typically an architect, two to three cloud engineers, a DBA for part of it, a QA engineer, and a project manager. This is where most companies actually land.

Tier 3: Refactor or regulated, $200,000 to $650,000, 7 to 14 months

Oracle or mainframe-adjacent systems, PCI or HIPAA scope, 100+ workloads, applications rearchitected into containers or serverless, near-zero downtime cutover, full DR with tested failover, and an auditor who will ask for evidence. Add a security engineer, a data engineer, and a compliance lead to the team. Anything past $650,000 is a portfolio programme, not a project, and should be broken into funded waves.

What actually drives the number

1. Workload count and shape ($900 to $1,600 per straightforward VM). At volume, a clean Linux or Windows VM with no exotic dependencies costs $900 to $1,600 to discover, replicate, test and cut over. The first ten cost roughly 3x that because you are building the pipeline, not moving servers. The killers are the outliers: an unsupported OS, hardcoded IP addresses, a licence-locked appliance, a service account nobody can find the password for. Budget $4,000 to $12,000 per offender, and assume 10 to 15 percent of your estate qualifies.

2. Database migration and engine change ($3,000 to $70,000 per database). Same engine to a managed equivalent, SQL Server to RDS SQL Server or Postgres to Cloud SQL, is $3,000 to $8,000 per instance. Changing engines is a rewrite, not a move. Oracle to Aurora PostgreSQL or SQL Server to Aurora runs $25,000 to $70,000 per database because stored procedures, triggers and application SQL all get rewritten and then regression tested. One Oracle instance can cost more than 40 clean VMs.

3. Data volume and the cutover window (adds $15,000 to $60,000). Under 5 TB with an 8 hour window is a non-event. Over 20 TB, or a window under 4 hours, forces continuous replication, delta syncs, physical transfer appliances and two or three full rehearsals. AWS publishes DataSync at $0.0125 per GB transferred, which is small money, but the engineering time to prove a 4 hour cutover is not: expect $15,000 to $60,000 on top depending on how many systems must land together.

4. Compliance and regulated data (adds 18 to 30 percent). HIPAA, SOC 2, PCI DSS or GDPR data residency add encryption design, key management, logging retention, access reviews, network segmentation and an evidence pack. On a $150,000 build that is $27,000 to $45,000 of real work. It cannot be bolted on at the end without redoing the landing zone.

5. Landing zone depth ($12,000 to $45,000). A single account with a default VPC costs $12,000 to stand up. Multi-account with organizational guardrails, centralized logging, transit gateway, hybrid connectivity back to your office or remaining data centre, and the whole thing in Terraform costs $35,000 to $45,000. This line item is the one cheap quotes delete, and it is the one you cannot retrofit cheaply.

6. Rehost versus replatform versus refactor ($1,200 to $60,000 per application). Rehosting an app is roughly the VM price. Replatforming it onto a managed container service is $3,500 to $9,000. Refactoring it into microservices or serverless is $18,000 to $60,000 per application. Refactoring during a migration is the single most common way a $120,000 project becomes a $400,000 one. Move first, refactor after, unless the app physically cannot run on the target.

Worked example: 40 VMs and two databases, VMware to AWS

A mid-market logistics company: 40 VMs on supported operating systems with no licence-locked appliances, six internal web applications, two SQL Server 2016 databases, 9 TB of data, SOC 2 required, 8 hour cutover window acceptable. Five months.

  • Discovery, dependency mapping, TCO model: $11,000
  • Landing zone: three accounts, VPC, transit gateway, IAM, guardrails, all in Terraform: $24,000
  • Rehost 40 clean VMs via AWS Application Migration Service, four waves, $1,150 each: $46,000
  • Replatform six web apps onto ECS Fargate, $3,500 each: $21,000
  • Two SQL Server databases to RDS, same engine, $6,000 each: $12,000
  • Data migration engineering, 9 TB via DataSync plus one Snowball: $7,500
  • AWS transfer and appliance charges at list: $2,400
  • Two cutover rehearsals plus the weekend cutover: $9,000
  • Observability rebuild, CloudWatch plus agents on 40 hosts: $8,000
  • SOC 2 evidence pack and security hardening: $14,000
  • Runbooks, handover, two weeks hypercare: $9,000
  • Project management and QA across five months: $18,000

Total: $181,900. That sits near the top of Tier 2, and the reason is one line: SOC 2. Strip compliance ($14,000) and the observability rebuild ($8,000) and the same estate lands at $159,900. Add one Oracle database coming off the floor at $25,000 to $70,000 and it lands between $206,900 and $251,900.

The ongoing costs nobody quotes

The cloud bill itself. The migration quote is not the cost of running in the cloud. For that estate, 40 compute instances, two RDS instances, storage and load balancers, expect $6,800 to $11,000 per month on-demand. AWS publishes compute Savings Plans discounts of up to 72 percent against on-demand for a three year all-upfront commitment, with one year and no-upfront terms discounted progressively less. If nobody buys commitments by month three, you are paying on-demand for a workload that is not going anywhere.

Egress. AWS publishes data transfer out to the internet at $0.09 per GB for the first 10 TB per month. A reporting system that ships 4 TB a month out of the cloud is $360 a month that did not exist in your data centre. Model it before cutover, not after the first invoice.

Third party services. Datadog publishes Pro host monitoring at $15 per host per month, so 40 hosts is $600 a month. Add log management, a secrets or state backend, and an on-call tool, and $900 to $1,800 a month is normal.

Maintenance at 15 to 20 percent of build per year. On a $181,900 build that is $27,300 to $36,400 annually for patching, Terraform upkeep, alert tuning, DR tests and the small fixes that follow anything real. Vendors who skip this line are hoping you will pay it as ad hoc tickets at a worse rate.

The first year of changes. Every migration surfaces work: an app that needs autoscaling, a report that got slow, an integration that broke. Budget 25 to 40 percent of the build cost for year one changes. On this project, $45,500 to $72,800. It will get spent. Deciding that now is cheaper than discovering it in month four with no budget line.

How to not get burned on price

The cheapest quote is usually cheap because it deleted discovery. Without dependency mapping, the vendor is assuming every VM is a clean VM, and 10 to 15 percent are not. In our experience that assumption produces 20 to 35 percent cost overrun plus at least one failed cutover, and a failed cutover costs more than the discovery would have. Ask any low quote one question: which specific servers did you price, by name? If they cannot produce the list, they priced a guess.

A change request should be priced in engineering days, not adjectives. $1,400 to $2,200 per day is a fair rate for senior cloud engineering, and a change request should say "3.5 days, $6,300, here is what it touches." Anything under half a day should be absorbed without a ticket. If every question generates a change request, the original scope was written to be incomplete.

Four contract terms protect the number. First, fixed scope with a named inventory: an appendix listing every VM, database and application by hostname, with anything not listed priced separately. Second, IP assigns to you on payment, not on project completion, so a dispute does not hold your Terraform hostage. Third, source code and Terraform state live in your repository and your cloud accounts from day one, never the vendor's. Fourth, a rollback plan per wave, written and tested, with acceptance defined as "systems running and verified in the target for 72 hours," not "files copied."

How to brief a vendor so the quotes are comparable

Most quotes are not comparable because every vendor priced a different project. Send all of them the same six things and the spread collapses to something you can actually judge.

  1. A workload inventory export. RVTools for VMware, or the assessment export from Azure Migrate or AWS Application Discovery Service. Hostnames, CPU, RAM, disk, OS version.
  2. Data volume per system, and where it grows fastest.
  3. Maximum acceptable downtime per system, in hours, per system, not one number for everything. This one line moves the price more than any other.
  4. Compliance regime and audit date, if any.
  5. Target cloud, and whether it is decided. If it is not, say so and ask them to price the decision as a separate assessment.
  6. Which applications you would refactor and which you would not touch. Be blunt. Refactor appetite is the difference between $120,000 and $400,000.

Then require every vendor to price the same four phases separately: discovery, landing zone, migration waves, and cutover plus hypercare. Once the phases line up, the comparison takes ten minutes, and the vendor who is $60,000 cheaper will be visibly cheaper in exactly one phase. That is where the risk is hiding.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. Criteo's Global Commerce Review found retail apps convert at 18% versus 4% on mobile web (roughly 4.5x), and travel apps convert at 20% versus 6% on mobile web (about 3.3x). Source: Criteo (2017) →
  2. The median annual wage for U.S. software developers was $133,080 in May 2024, and employment is projected to grow 15% from 2024 to 2034 - a core input to any in-house build-vs-buy TCO model. Source: U.S. Bureau of Labor Statistics (2024) →
  3. EMARKETER reports that over 54% of mobile commerce transactions now happen within shopping apps rather than mobile browsers, underscoring the app channel's growing dominance of m-commerce. Source: EMARKETER (2025) →
  4. Gartner estimates RPA can eliminate up to 25,000 hours of avoidable rework caused by human errors in the finance function each year, equating to savings of roughly $878,000 for an organization with 40 full-time accounting staff (based on interviews with more than 150 corporate controllers and chief accounting officers). Source: Gartner (2019) →
Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does a cloud migration cost?
Most cloud migrations cost $20,000 to $650,000. A 10 to 25 VM lift and shift with no database engine change runs $20,000 to $50,000 in 5 to 9 weeks. A typical mid-market project of 30 to 90 workloads with a few databases lands between $65,000 and $190,000 over 3 to 6 months, and regulated refactors start at $200,000.
Why do cloud migration quotes vary so much for the same estate?
Because vendors are pricing different projects, not the same one. The three biggest swings are database engine changes (same engine is $3,000 to $8,000 per instance, Oracle to PostgreSQL is $25,000 to $70,000), compliance scope (adds 18 to 30 percent), and cutover window (a sub-4-hour window can add $15,000 to $60,000). A quote that skipped discovery is cheap because it assumed every server is clean, and 10 to 15 percent never are.
What does $50,000 buy in a cloud migration?
Around 20 to 25 straightforward VMs rehosted as-is, a single-account landing zone with networking and identity, replication via the cloud vendor's own tooling, one cutover rehearsal and a weekend cutover with rollback. It does not buy application refactoring, database engine changes, a multi-account foundation, compliance evidence, disaster recovery, or a rebuilt monitoring stack. Expect 4 to 12 hours of planned downtime.
Can I migrate to the cloud cheaper offshore?
Yes, day rates are lower, and the failure mode is specific: offshore teams price the server count accurately and price the unknowns badly. Cloud migration cost is concentrated in discovery, dependency mapping and cutover judgment, which need people who can get your DBA and your network owner on a call. If you go offshore, keep discovery and the cutover plan with someone accountable in your timezone and hand the waves offshore.
What are the ongoing costs after a cloud migration?
Three buckets. The cloud bill itself, roughly $6,800 to $11,000 per month for a 40 instance estate on-demand, reduced by a Savings Plan or Reservation (AWS publishes compute Savings Plans discounts of up to 72 percent for a three year all-upfront commitment, less for shorter terms). Third party tooling, typically $900 to $1,800 per month, since Datadog publishes Pro host monitoring at $15 per host per month. And maintenance at 15 to 20 percent of the build per year, so $27,300 to $36,400 on a $181,900 build.
How long does a cloud migration take?
Five to nine weeks for a small lift and shift of 10 to 25 VMs. Three to six months for 30 to 90 workloads with databases and a proper landing zone. Seven to 14 months for regulated environments, 100+ workloads, or anything with Oracle or application refactoring in scope. Discovery alone is 2 to 4 weeks and is not the place to save time.
Should I refactor applications during the migration?
Almost never. Refactoring an application into containers or serverless costs $18,000 to $60,000 per app versus roughly $1,200 to $9,000 to rehost or replatform it. Refactoring mid-migration is the most common reason a $120,000 project becomes a $400,000 one, because you are debugging new architecture and a new environment at the same time. Move first, refactor after, unless the app physically cannot run on the target.
What should a change request cost during a cloud migration?
It should be priced in engineering days at $1,400 to $2,200 per day for senior cloud engineering, stated as something like 3.5 days, $6,300, with a list of what it touches. Anything under half a day should be absorbed without paperwork. If every question you ask produces a change request, the original scope was deliberately written to be incomplete.
What contract terms protect the price of a cloud migration?
Four. Fixed scope backed by a named inventory appendix listing every VM, database and application by hostname, with anything unlisted priced separately. IP assigning to you on payment rather than on project completion. Source code, Terraform and state living in your repository and your cloud accounts from day one. And a tested rollback plan per wave, with acceptance defined as systems verified running in the target for 72 hours.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
What questions should I ask a development agency on the first call?
Ask who exactly will build it, what happens when scope changes mid-project, what their maintenance terms are after launch, and what they will need from you every week. Then ask them to describe a project that went wrong and what they changed afterward; teams that have shipped at real volume have war stories, and teams claiming a perfect record are hiding something. The scope-change answer matters most: a disciplined shop describes a written change-order process, not a vague promise to be flexible.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?