Webinar Sept 24: Heroku to AWS in one command, with an agent doing the work.

AWS vs Azure vs GCP for Cloud Migration: How to Actually Choose in 2026

A decisive, data-backed comparison of AWS, Azure, and Google Cloud for cloud migration: market share, region counts, free migration tooling, EKS vs AKS vs GKE pricing, discount mechanics, egress list prices, and vendor lock-in - plus how to keep the choice reversible with a cloud-agnostic developer platform.

Romaric Philogene
CEO & Co-founder
SEP 3, 2026 · 13 MIN
AWS vs Azure vs GCP for Cloud Migration: How to Actually Choose in 2026

Key Points:

  • There is no universal winner. Choose Microsoft Azure if Microsoft licensing, Entra ID, and Windows/SQL Server estates already run your company (Azure Hybrid Benefit lets you reuse licences instead of re-buying them). Choose Google Cloud if your target is Kubernetes-native or data/AI-heavy (GKE Autopilot, per-second billing, automatic sustained-use discounts, BigQuery). Choose AWS if you need the broadest managed-service catalog, the largest partner network, and the deepest hiring pool.
  • Market share is the wrong tiebreaker. AWS leads global cloud infrastructure spend, Microsoft Azure is second, Google Cloud third, but your migration bill is driven by existing licences, team skills, data gravity, and monthly egress volume, not by the vendor's ranking.
  • Migration tooling is free on all three. AWS Application Migration Service, Azure Migrate, and Google Migrate to Virtual Machines carry no additional charge for the migration itself, so never pick a cloud on migration-tool price. The money goes to engineering time, parallel running during cutover, licence handling, and the operating model you land in.
  • All three clouds now offer free data transfer out when you leave, driven by the EU Data Act's switching-charge rules. That killed the financial exit barrier and did nothing about rebuilding CI/CD, environments, secrets, and RBAC on a new cloud, so workflow lock-in is now the expensive kind.
  • Qovery keeps the decision reversible: the same self-service workflow (git-push deploys, preview environments per pull request, environment auto-stop, per-environment RBAC, managed cluster upgrades) runs inside your own AWS, GCP, Azure, or Scaleway account, or your existing Kubernetes cluster, with the cloud bill and negotiated discounts staying in your name.

Qovery · Agentic Infrastructure Platform
Kubernetes, operated through one governed API
Learn more

Migrate to Microsoft Azure if Microsoft licensing and Entra ID already run your estate, to Google Cloud if your target architecture is Kubernetes-native or data and AI heavy, and to AWS if you need the widest managed-service catalog, the largest partner network, and the biggest hiring pool. For standard containerized workloads, all three run production fine, so the decision is settled by your existing commitments and your team's skills, not by the technology.

I have watched enough migrations to say the ranking of the three clouds almost never decides the outcome, and yet it is the first thing every steering committee argues about. In the most recent Synergy Research figures available at the time of writing (Q3 2025), Amazon Web Services held 29% of the global cloud infrastructure market, Microsoft Azure 20%, and Google Cloud 13%, together 63% of a quarterly market worth $106.9 billion (Synergy Research Group). Meanwhile 73% of organizations already run a hybrid mix of clouds (Flexera 2026 State of the Cloud), so for most teams the real question is not "which cloud" but "which primary cloud", and how reversible that choice stays. This guide is a fair, cited, three-way AWS vs Azure vs GCP comparison for a cloud migration, and it ends with how to keep the decision from locking you in for a decade.

Which cloud should you migrate to: AWS, Azure, or GCP?

Migrate to Microsoft Azure if a Microsoft Enterprise Agreement, Entra ID, and Windows or SQL Server workloads already run your business, to Google Cloud if your target is Kubernetes-native or built around data and AI, and to AWS if you want the broadest service catalog and the largest partner and hiring ecosystem. For ordinary containerized applications, all three are technically sufficient, so the choice is decided by existing commitments and skills rather than by any feature gap.

Here are the three verdicts you can lift verbatim:

  • Windows, .NET, and Active Directory estate: migrate to Microsoft Azure, because Azure Hybrid Benefit and Entra ID reuse what you already own.
  • Kubernetes-native, analytics, or machine learning target: migrate to Google Cloud, because GKE Autopilot, per-second billing, automatic sustained-use discounts, and BigQuery are built for it.
  • Broadest managed-service catalog and third-party integrations: migrate to AWS, because it has the widest service range and the deepest partner and hiring pool.

Four inputs actually decide it, in priority order. First, existing licensing agreements, because a Microsoft Enterprise Agreement plus Azure Hybrid Benefit can move the total cost of a Windows estate more than any raw compute price. Second, your team's skills and the local hiring market, because an operating model your engineers already know ships faster. Third, data gravity and monthly egress volume, because moving terabytes and paying to read them back dominates real bills. Fourth, regional and sovereignty coverage, because a region you legally need either exists or it does not.

What should not decide it: the market-share ranking above, vendor-run benchmarks, raw "number of services" counts, or which logo your board recognizes. For scale context, Gartner forecast worldwide public cloud end-user spending at roughly $723 billion for 2025 (Gartner), which tells you the market is enormous and says nothing about which cloud fits your estate. The goal I hold every team to is a decision you can revisit in three years without rebuilding your developer experience from scratch.

Your situationMigrate toThe mechanism that justifies it
Heavy Microsoft licensing (Windows Server, SQL Server, .NET, AD)Microsoft AzureAzure Hybrid Benefit reuses your licences; Entra ID extends your directory
Kubernetes-native greenfieldGoogle CloudGKE Autopilot automates nodes; per-second billing; automatic sustained-use discounts
Data and AI platformGoogle CloudBigQuery and Vertex AI sit where your analytics data lands
Broadest SaaS and marketplace integrationsAWSLargest service catalog, partner network, and hiring pool
EU sovereignty focusAn in-region option (incl. Scaleway)EU-based regions and providers; verify the exact region you need exists
Cost-sensitive container workloadsAny of the threeStandardize on managed Kubernetes; the control-plane fee is trivial next to node cost

Takeaway: the right cloud is a function of your licences, skills, data, and region, so the same buyer profile maps to the same answer regardless of the vendors' market ranking.

Pick this one if:

  • You are a Microsoft shop with Windows and SQL Server: pick Azure.
  • You are containers-first or data and AI led: pick Google Cloud.
  • You want the most managed services, integrations, and hireable engineers: pick AWS.

How do AWS, Azure, and GCP compare side by side for a migration?

AWS, Microsoft Azure, and Google Cloud are at near-parity on core compute, storage, networking, and global reach, and they diverge sharply on five things: identity integration, managed Kubernetes automation, committed-spend discount mechanics, Windows and SQL licence reuse, and data and AI tooling. On global footprint, AWS publishes 124 availability zones across 39 regions (AWS), Google Cloud publishes 43 regions and 130 zones (Google Cloud), and Microsoft advertises 80+ Azure regions (Microsoft Azure), all as of publication and all more than enough for the overwhelming majority of migrations.

The differences that matter are mechanisms, not adjectives. AWS wins on service breadth, maturity, and the largest partner and marketplace ecosystem. Azure wins on hybrid identity through Entra ID and on licence economics inside an existing Enterprise Agreement. Google Cloud wins on Kubernetes automation through GKE Autopilot, on per-second billing, on automatic sustained-use discounts, and on BigQuery for analytics. One shared change reset the exit math for everyone: under EU Data Act pressure, all three now waive data transfer out when a customer switches provider (more on the dates below), so the historic "you can never afford to leave" argument is gone.

ProviderRegions / AZs (as of publication)Primary migration serviceManaged KubernetesCommitted-spend discountBilling granularityFree egress on exitStrongest fit
AWS39 regions / 124 AZsAWS Application Migration Service (free)Amazon EKSSavings Plans and Reserved InstancesPer-second (60s minimum), LinuxYes (since Mar 2024)Broadest catalog, partners, hiring
Microsoft Azure80+ regions (no public AZ total)Azure Migrate (free)Azure AKSAzure Reservations plus Azure Hybrid BenefitPer full minuteYes (since Mar 2024)Microsoft estates, hybrid identity
Google Cloud43 regions / 130 zonesGoogle Migrate to Virtual Machines (free)Google GKECommitted Use Discounts plus sustained-usePer-second (1-minute minimum)Yes (since Jan 2024)Kubernetes-native, data and AI

Takeaway: AWS, Microsoft Azure, and Google Cloud match on reach and migration tooling, so the deciding rows are the discount instrument, the billing granularity, and the identity and licence fit, not the region count.

On ecosystem depth and hiring pool, AWS is the safe answer because its share of the market is the largest and its partner network is the broadest (AWS states its partners span 198 countries, per AWS Partner Network), which usually means the deepest pool of certified engineers to hire. I treat that as an operational advantage, not a quality signal. All three run the same containers you build.

What does a cloud migration actually cost on AWS, Azure, and GCP?

The migration services themselves cost nothing on all three providers, so cloud migration cost is people, parallel running, licence handling, and day-2 operations, and that is where the providers differ in real money. AWS Application Migration Service is free to migrate each server for a 90-day period (you still pay for the AWS infrastructure it provisions during replication) (AWS), Azure Migrate is documented as a free service (Microsoft Learn), and Google Migrate to Virtual Machines is "provided at no charge for migrations into Google Cloud" (Google Cloud). Never pick a cloud on migration-tool price.

The four real cost drivers, ranked: engineering time, running old and new environments in parallel during cutover, licence re-purchase versus reuse, and the operating model you inherit after cutover. Labour and parallel running dominate. In the migrations I have seen, programmes routinely run longer and cost more than the original plan, and the overruns cluster around non-production environments left running around the clock and around teams that never baselined spend before they moved.

Discount mechanics are the biggest lever after labour, and they differ by design:

  • AWS: Compute Savings Plans save up to 66% and EC2 Instance Savings Plans up to 72% versus On-Demand (AWS Savings Plans), on 1-year or 3-year commitments.
  • Microsoft Azure: Reservations save up to 72% versus pay-as-you-go on a 3-year commitment (Azure Reservations).
  • Google Cloud: resource-based Committed Use Discounts reach up to 70% on memory-optimized machines and up to 55% on other series (Google Cloud CUDs), on top of automatic sustained-use discounts of up to 30% for eligible VMs that run most of the month (Google Cloud).

For Microsoft estates, Azure Hybrid Benefit is often the single largest number in the model: Microsoft advertises savings up to 80% on Windows Server and up to 85% on SQL Server versus pay-as-you-go when you bring existing licences, plus free Extended Security Updates in Azure (Azure Hybrid Benefit). That is licence reuse, not a compute discount, and it is why a Windows-heavy shop usually lands on Azure.

Billing granularity is a quieter lever that favours bursty and non-production workloads. Google Compute Engine bills per second with a one-minute minimum (Google Cloud) and AWS EC2 bills per second with a 60-second minimum on Linux (AWS), while Azure documents full-minute billing on its VM pricing pages (Microsoft Azure). The gap is small per VM and adds up across a fleet of short-lived instances.

Egress is the sleeper cost, and free egress when you leave is not the same as cheap egress while you operate. Standard internet data transfer out, first paid tier, as of publication: AWS is $0.09 per GB with 100 GB free per month (AWS), Azure is $0.087 per GB from North America and Europe with 100 GB free per month (Microsoft Azure), and Google Cloud Premium Tier egress to North America starts at $0.12 per GiB with no comparable 100 GB monthly allowance (Google Cloud). Rates vary by region and destination, so price your own traffic on the live pages.

ProviderMigration service (price)Discount instrument (max)Windows/SQL licence reuseBilling granularityFree monthly egressInternet egress list priceFree transfer on exit
AWSApplication Migration Service (free, 90 days/server)Savings Plans / RIs (up to 66% compute, 72% EC2 Instance)Bring licences via Dedicated Hosts / License ManagerPer-second (60s min)100 GB~$0.09 / GBYes
Microsoft AzureAzure Migrate (free)Reservations (up to 72%) plus Hybrid BenefitAzure Hybrid Benefit (up to 80% Windows, 85% SQL)Per full minute100 GB~$0.087 / GB (NA/EU)Yes
Google CloudMigrate to Virtual Machines (free)CUDs (up to 70%) plus sustained-use (up to 30%)Bring-your-own-licence, no Hybrid Benefit equivalentPer-second (1-min min)None comparable~$0.12 / GiB (Premium, to NA)Yes

Takeaway: the migration tools are free on AWS, Microsoft Azure, and Google Cloud, so cloud migration cost is decided by discounts, licence reuse, billing granularity, and operational egress, where Azure's Hybrid Benefit and Google's automatic discounts pull in different directions.

One financial rule that outlives the vendor choice: if a platform resells you compute instead of deploying into your own account, your negotiated Savings Plans, Reservations, and Committed Use Discounts do not apply to that spend. Keeping the cloud account in your own name preserves every discount you negotiate. On waste, Flexera reports organizations estimate 29% of public cloud spend is wasted, its first increase in five years (Flexera 2026), and the cheapest place to recover it after a migration is idle non-production left running overnight and on weekends.

Which cloud is best for Kubernetes and containerized workloads?

If your target architecture is containers, Amazon EKS, Azure AKS, and Google GKE all run production workloads fine: GKE is the most automated, AKS is the cheapest entry point inside a Microsoft estate, and EKS has the widest ecosystem and tooling. Standardizing on managed Kubernetes is exactly what makes the provider choice low-stakes, because the workload you build is portable across all three. This is not a niche bet: 82% of container-using organizations now run Kubernetes in production, up from 66% in 2023 (CNCF 2025 Annual Survey).

Control-plane pricing is close and, frankly, a rounding error. Amazon EKS charges $0.10 per cluster per hour on standard support, rising to $0.60 during extended support (AWS). Azure AKS bills nothing for cluster management on its Free tier, adding a per-cluster fee and an uptime SLA on Standard and Premium (Microsoft Learn). Google GKE charges a flat cluster-management fee per cluster per hour, offset by a monthly credit that covers one cluster per billing account (Google Cloud). Roughly $73 a month per cluster is noise next to the nodes those clusters schedule.

Upgrade toil is the recurring cost people forget, because every provider forces you up the version treadmill. EKS gives a minor version 14 months of standard support plus 12 months of extended support (AWS), AKS supports three GA minor versions under a 12-month policy with optional Long Term Support up to 24 months (Microsoft Learn), and GKE runs release channels with standard support around 14 months and an Extended channel up to 24 months (Google Cloud). Whichever you pick, budget for continuous upgrades rather than a one-off.

Managed KubernetesControl-plane costFree tier / creditAutomated node modeDefault autoscalerSupported-version windowBest-fit scenario
Amazon EKS$0.10 / cluster / hour (standard)No free control planeFargate for serverless podsKarpenter or Cluster Autoscaler14 months standard + 12 extendedWidest ecosystem and tooling
Azure AKSFree tier: no cluster-management chargeFree tier (no SLA)Node autoprovisioningCluster Autoscaler / node autoprovisioning3 GA versions, 12-month policy, LTS to 24 monthsCheapest entry inside a Microsoft estate
Google GKEFlat fee per cluster / hourMonthly credit covers one clusterGKE Autopilot (fully managed nodes)GKE Autopilot / Cluster Autoscaler~14 months standard, Extended to 24 monthsMost automated, data and AI workloads

Takeaway: Amazon EKS, Azure AKS, and Google GKE differ mainly on how much node management they automate, not on control-plane price, so managed Kubernetes is the portability floor that makes the cloud choice reversible.

Be honest about where portability stops. Containers plus Kubernetes plus Terraform or OpenTofu is the portable layer. Managed databases, message queues, IAM, serverless glue, and proprietary AI services are where lock-in creeps back in. The practical rule I use: keep stateful and proprietary dependencies behind interfaces you could swap, and accept lock-in deliberately only where a managed service buys measurable leverage. And remember the real money in managed Kubernetes is node utilization, not the control-plane fee, so idle non-production clusters are the first thing to fix in Kubernetes cost optimization. Teams that already run a cluster on-prem or on another provider usually want the same workflow on top of it rather than a brand-new cloud.

Ship faster on infrastructure you control.
Qovery gives your team self-service deployments on your own AWS, GCP, Azure, or Scaleway account - or your existing Kubernetes cluster. Start deploying in under 10 minutes.

How do you avoid vendor lock-in when migrating to AWS, Azure, or GCP?

You avoid vendor lock-in by standardizing the layer your developers touch, containers, managed Kubernetes, infrastructure as code, and a deployment workflow not assembled from one provider's proprietary primitives, not by refusing managed services. Refusing managed services just trades vendor lock-in for maintenance lock-in. The useful move is to rank lock-in by exit cost and mitigate the expensive layers first.

The three levels, ranked:

  1. Infrastructure lock-in: low once you have containerized and expressed infrastructure as code, because the same artifacts redeploy elsewhere.
  2. Data lock-in: high, because egress charges, schema coupling, and pipeline gravity all resist a move even when the transfer itself is now free on exit.
  3. Operational and workflow lock-in: the most underestimated and the most expensive to unwind, because it is invisible until you try to leave.

Workflow lock-in is concrete. If your CI/CD, environment provisioning, secrets, and RBAC are built from one provider's proprietary services, changing cloud means rebuilding the entire developer experience, not just moving workloads. That rebuild is the bill nobody puts in the migration business case.

The financial exit barrier is genuinely gone. Under the EU Data Act (Regulation (EU) 2023/2854), which applies from 12 September 2025, providers must stop imposing switching charges, including data egress charges, from 12 January 2027, with only reduced cost-based charges permitted in the transition (EUR-Lex). Ahead of that, Google Cloud waived exit egress in January 2024 (Google Cloud), and AWS did the same in March 2024 (AWS), as did Microsoft Azure (Azure update). None of that refunds a platform rebuild.

Lock-in layerExit difficultyTypical exit-cost driverMitigation that actually works
Compute / infrastructureLowRe-provisioning capacityContainerize and express everything in Terraform / OpenTofu
Data and storageHighSchema coupling and pipeline gravityAbstract data access; keep schemas portable; plan reingestion
Identity and secretsMediumRewiring auth and secret storesAbstract identity and secrets behind provider-neutral interfaces
CI/CD and environmentsHighRebuilding the developer experienceAvoid single-provider CI primitives; keep the workflow portable
Proprietary managed servicesMedium to highRewriting against a new APIUse deliberately; keep a written inventory with an exit cost each

Takeaway: infrastructure lock-in is cheap to unwind once you containerize, while data and workflow lock-in are the expensive layers, so the mitigations that pay off are IaC, portable data access, and a cloud-neutral deployment workflow.

Two practical notes. First, "portable" and "portable in practice" are different: a Helm chart that assumes one cloud's IAM annotations is not portable until you parameterize them. Keep a written inventory of proprietary dependencies with an estimated exit cost per item, and you will make lock-in a conscious trade rather than a surprise. Second, the hyperscaler migration partners, SADA, Quantiphi, Avanade, and Magehire among them, are strong at executing a migration to one specific cloud. That is a different job from owning the developer experience after you land, and both jobs are real. Given that 73% of organizations already operate hybrid environments (Flexera 2026), partial portability is already the operating reality, so plan for it rather than pretend you will be single-cloud forever.

Where does Qovery fit in an AWS vs Azure vs GCP migration decision?

Qovery is an internal developer platform, not a cloud and not a migration consultancy: it runs inside your own cloud account and gives your team the same self-service workflow on AWS, GCP, Azure, Scaleway, or an existing Kubernetes cluster, which is what keeps the provider choice reversible. It sits above whichever cloud you pick and standardizes the layer developers touch, so switching clouds later means changing where workloads run, not rebuilding how they ship.

The model is bring-your-own-cloud. Applications deploy into your own account, and the cloud bill plus any Savings Plans, Reservations, or Committed Use Discounts stay in your name, so the discount mechanics from the cost section keep working for you rather than for a reseller, the bring-your-own-cloud model. The capabilities are deliberately specific:

  • Git-push deployments with preview and ephemeral environments per pull request.
  • Environment auto-stop for non-production, so idle dev and staging shut down instead of billing overnight.
  • Managed cluster upgrades, so the Kubernetes version treadmill from the previous section is handled for you.
  • Per-environment RBAC and databases backed by managed cloud services.

Why it matters mid-migration: dev and staging can land on the new cloud while production finishes moving, with one workflow across both, so your team is productive before the last workload cuts over. And the honest boundaries matter as much as the features. Qovery does not migrate your data, rewrite your monolith, or replace a partner-led enterprise migration programme. It replaces the internal platform you would otherwise build by hand after you land.

ApproachCloud choiceWho owns the account and discountsDeveloper self-servicePortability if you switch cloudTime to first deploy
Hyperscaler-native (App Runner, Container Apps, Cloud Run)One cloud onlyYou (single cloud)High, per cloudLow, workflow is cloud-specificFast
Partner-led migration (SADA, Quantiphi, Avanade)The cloud they migrate you toYouNot their remitDepends on what they buildProject-length
Managed PaaS (Heroku, Render, Vercel)The PaaS's cloudThe PaaS (their account and bill)HighLow, you are on their platformFast
DIY Kubernetes platform teamAnyYouWhatever you buildHigh, if you build it that waySlow and costly to build
QoveryAWS, GCP, Azure, Scaleway, or your own clusterYou (BYOC, discounts in your name)High, same across cloudsHigh, one workflow across cloudsMinutes

Takeaway: hyperscaler-native tools tie the workflow to one cloud and managed PaaS owns your account and bill, while a DIY platform is the most flexible and the most expensive to build, so Qovery's value is a portable self-service workflow inside your own account.

Tie it back to the money: idle non-production is where that 29% of wasted cloud spend hides (Flexera 2026), and environment auto-stop is the cheapest saving available after a migration. Self-service after cutover is not a preference either. DORA's research on the four keys, deployment frequency, lead time for changes, change failure rate, and time to restore service, is the standard evidence that a fast, safe delivery path is a measurable outcome, not a nice-to-have (DORA).

What migration path should you follow, step by step?

Inventory and classify every workload, decide rehost, re-platform, refactor, or retire per workload, pick a primary cloud on licensing and skills, build the landing zone as code, move non-production first, then production, then run a continuous cost loop, and put an owner on the developer experience before cutover, not after. The single most common mistake I see is treating the operating model as an afterthought, so name that owner on day one.

Work the classic 6 Rs, kept practical: rehost the workloads that just need to move, re-platform the ones that gain from a managed service, refactor the few that justify it, retire the dead ones, retain what should not move yet, and repurchase where SaaS beats self-hosting. The decision gate at each workload is simple: does a proprietary managed service buy measurable leverage here, or must this stay portable?

The steps, in order:

  1. Inventory and classify every workload and its dependencies, and set the portability gate per workload.
  2. Choose a primary cloud on licensing and skills first, using the decision matrix at the top of this article.
  3. Build the landing zone as code: accounts, subscriptions or projects, network topology, identity, and guardrails, all in IaC from day one.
  4. Move non-production first, because it validates the operating model with the lowest blast radius, and preview environments and auto-stop pay for themselves immediately here.
  5. Cut over production in waves, not a big bang.
  6. Run a FinOps loop: baseline before you move, rightsize after, buy commitments only once the shape stabilizes, and auto-stop idle environments continuously.

The failure modes are predictable: big-bang cutovers with no rollback, no pre-migration cost baseline so nobody can prove savings, and nobody owning developer self-service after landing so the team is slower on the new cloud than the old one. Timelines scale with estate size and messiness, from a few weeks for tens of workloads to well over a year for thousands, and what makes them slip is almost always undocumented dependencies and a missing operating model, not the cloud you chose.

Is GCP cheaper than AWS or Azure for the same workload?

Not universally. Google Cloud can be cheaper for bursty and steady compute thanks to per-second billing with a one-minute minimum (Google Cloud) and automatic sustained-use discounts up to 30% (Google Cloud), but AWS Savings Plans (up to 72% on EC2 Instance Savings Plans) and Azure Hybrid Benefit (up to 80% on Windows Server) can beat it for committed or Microsoft-licensed workloads. Price your own workload with your own commitments before deciding.

Which cloud is easiest to migrate to from on-premises?

The easiest cloud is the one that matches your current stack, and the migration tooling is free on all three, so ease is about fit, not tools. A Windows and VMware estate is usually simplest to move to Azure because of Entra ID and Azure Hybrid Benefit, while a Linux and container estate maps cleanly onto AWS or Google Cloud. AWS Application Migration Service, Azure Migrate, and Google Migrate to Virtual Machines all handle lift-and-shift at no charge for the tool itself.

Should I choose one cloud or go multi-cloud for my cloud migration?

Choose one primary cloud for your migration, then keep the option to add a second later. Running multi-cloud from day one multiplies operational complexity before you have proven the operating model on one, and 73% of organizations end up hybrid anyway (Flexera 2026). Standardize on containers, Kubernetes, and IaC so a second cloud is an addition, not a rebuild.

How long does a typical enterprise cloud migration take, and what does it cost?

It ranges from a few weeks for tens of workloads to well over a year for thousands, and cost is dominated by engineering time and parallel running, not by the migration tools, which are free. The most reliable predictor of slippage is undocumented dependencies and a missing operating model rather than the cloud itself. Baseline your spend before you move so you can prove the savings afterward.

Can I run the same deployment workflow on AWS, GCP, and Azure?

Yes, if you standardize on containers, managed Kubernetes, and infrastructure as code rather than one provider's proprietary CI and deployment primitives. A platform like Qovery gives your team the same git-push workflow, preview environments, and RBAC across AWS, GCP, Azure, and Scaleway, or your own Kubernetes cluster, inside your own account. That portability is what keeps the provider choice reversible.

Do I still pay egress fees if I move off a cloud provider?

No, not for the exit itself. AWS, Microsoft Azure, and Google Cloud all now waive data transfer out when you switch provider, and the EU Data Act requires switching charges to be removed entirely from 12 January 2027 (EUR-Lex). You still pay normal egress while you operate day to day, so the sleeper cost is ongoing traffic, not the move.

The cloud you pick matters less than whether you can change your mind, and the way to protect that is to standardize the layer your developers touch inside your own account. That is exactly what we build at Qovery. Try Qovery free or book a demo to run the same self-service workflow on AWS, GCP, Azure, or Scaleway, with the cloud bill and your discounts staying in your name.

Romaric Philogene
About the author
Romaric Philogene

Romaric founded Qovery to make Kubernetes accessible to every engineering team. He writes about platform strategy, developer experience, and the future of cloud infrastructure.

Next step

Ship faster on infrastructure you control.

Qovery gives your team self-service deployments on your own AWS, GCP, Azure, or Scaleway account - or your existing Kubernetes cluster. Start deploying in under 10 minutes.