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

Vercel to AWS in an hour.
Fully automated.

One command. An agent reads your repository and your vercel.json, then deploys into the AWS account you already own - after you approve the plan.

Eligible teams may receive AWS migration credits through our ISV Accelerate partnership.

Qovery agent migrating Vercel applications to an AWS account

Trusted by +200 companies to simplify their infrastructure burden

GetsafeSpikoCharles.coRentalReadyHyperlineThe Mobile First CompanyTalkspaceAlanPowensProsperity
Where Vercel stops

Vercel is the best frontend DX there is. Your backend still hits a wall.

Nobody leaves Vercel over the git-push workflow or the preview URLs - those are genuinely excellent. They leave when the workload stops looking like a frontend.

qovery runs in your account
  1. A serverless function has a duration and a memory ceiling

    A Vercel Function is capped at 300 seconds on Hobby, 800 seconds on Pro and Enterprise, or 1800 seconds on an extended beta - with memory topping out at 2 GB or 4 GB. Queue workers, gRPC and websocket servers holding a long connection, heavy ETL and GPU inference do not fit that shape, and Vercel’s own answer is to redesign the work around Workflows and Queues rather than run it as a persistent process.

    On Qovery, running in the AWS account you already own:

    Any process runs as long as it needs to on EKS, with no invocation ceiling and a GPU node pool when the workload needs one.

  2. Your database lives in someone else’s account

    Vercel provisions Postgres, key-value and vector storage through Marketplace partners - Neon, Supabase, Upstash, AWS Aurora Postgres - and injects the credentials as environment variables. That is a fast way to get a database, and a hard sentence to write for a compliance review that asks which account, region and encryption keys hold the data, because the honest answer names a company that is not you.

    On Qovery, running in the AWS account you already own:

    Amazon RDS for PostgreSQL runs inside your own account, under your KMS keys and your backup policy.

  3. Production-grade governance starts at Enterprise

    SAML SSO, enhanced observability and logging, isolated build infrastructure and any SLA all require the Enterprise plan - and even then, private connectivity to your own network means Secure Compute, which is dedicated static IPs plus VPC peering capped at 100 projects and 50 peering connections per network, not a VPC you configure yourself.

    On Qovery, running in the AWS account you already own:

    AWS IAM governs access, CloudTrail records what happened, and it is a property of the account rather than a plan tier.

How the migration runs

Three steps, then the agent does it.

Your side takes about five minutes. Everything after that is automated.

  1. 01

    A CloudFormation stack provisions the network and an EKS cluster in your own account - about twenty minutes, and nothing leaves your boundary. Qovery gets a role you can read, scope down or revoke. Talk to a migration engineer before you connect anything.

  2. 02

  3. 03

  4. 04

    Optional
In the AWS console
One CloudFormation stack, about twenty minutes.
network
your VPC, three fixed egress IPs
cluster
EKS, in your region
access
a role scoped to Qovery
10–60 min

From there it is automatic. Your apps come up running and live on AWS, reachable on a public URL - while the Vercel stack keeps serving traffic untouched.

What it costs

You pay AWS directly. And bandwidth stops being a line item.

Vercel bills Functions by active CPU and memory time with no commitment tier, and bandwidth over the Pro plan’s 1 TB allowance starts at $0.15/GB. AWS charges for what you use and then lets you discount it - Savings Plans, Reserved Instances, Graviton and Spot are all things you can buy as the customer, and egress on your own account is priced by AWS directly rather than marked up as a platform fee.

Depends on your function counts and durations, database and KV plans, egress volume and region. A migration engineer will model your estate against the equivalent AWS shape before you commit to anything.

AWS may fund part of your move

Answer a few questions and see roughly how much credit you could get toward the migration.

Estimate my funding
Specific to AWS

Three levers AWS gives you that a per-invocation bill does not.

A Vercel Function is billed per invocation and active CPU time, with no way to commit to a level of usage in exchange for a lower rate. Once the same workload runs in an AWS account you own, three levers open up that have no equivalent on a usage meter.

Savings Plans and Reserved Instances

Commit to a level of compute for one or three years and the same capacity costs materially less than on-demand. Vercel has no commitment tier to sell you - Functions are billed per invocation and active CPU time, forever, at the same rate whether you run one a month or a billion. Qovery sizes the node groups; the commitment is made in your account, on your terms, and it applies to everything running there rather than to one function.

On a Vercel function
no commitment tier exists
In your own AWS account
−72%
up to −72% on committed capacity

Graviton, for the same code

AWS's ARM instances generally give better price-performance than the x86 equivalent on ordinary web and worker loads. The agent builds your image for arm64 and Qovery schedules the node group onto Graviton, so this is a build-target change rather than a rewrite. Vercel does not expose the processor a Function runs on, so it is not a choice you currently have.

On a Vercel function
processor not exposed
In your own AWS account
−20%
arm64, a build target you choose

Spot capacity for the work that can be interrupted

Background jobs, queue processing and preview environments tolerate interruption; a checkout endpoint does not. Qovery keeps web services on on-demand nodes and places the interruptible pools on Spot - a split a per-invocation Function bill cannot express, because every invocation is priced the same regardless of how much it matters.

On a Vercel function
one price per invocation
In your own AWS account
−90%
priced per pool, per tolerance

Ceilings are AWS’s own published figures for EC2 Instance Savings Plans, Graviton and Spot, checked August 2026. Each is a best case: what a given workload realises depends on its shape, and a migration engineer models it against your bill before you commit to anything.

Qovery is not a PaaS

Our control plane. Your account, your bill.

Qovery sits above the infrastructure and never owns it. Every cluster, database and bucket is provisioned inside the AWS account you already hold - AWS invoices you directly.

  • We do not take a cut of your AWS spend. A flat subscription, whether your bill is $2k or $200k.
  • We push it the other way: idle nodes, oversized requests and preview environments left running get flagged so you stop paying for them.
  • Vercel runs your functions on its own edge network, and your database in a Marketplace partner’s account. Qovery runs all of it in yours.

Not sure which AWS services fit your workload? A solution engineer will map it with you.

QoveryCONTROL PLANE
deploymentsenvironmentspreview envsRBAC + auditcost signals
provisions standard Terraform and Kubernetes manifests
Your AWS account
invoiced by AWS, directly to you
VPC · your network policy
EKS clusterwebworkercronpreview-pr-482RDSElastiCacheS3secrets
IAM: yours · data residency: yours · audit trail: yours

Stop paying Qovery and the stack keeps running - the manifests and qovery/qovery Terraform are already in your account.

Leave Vercel

Your first app on AWS,
live within the hour.

Any commercial AWS region - not a fixed list of twenty - with multi-region and multi-cluster from one control plane. Nothing you do here touches your existing Vercel deployments until you decide to move the domain.

AWS Marketplace

Qovery is an AWS ISV Accelerate partner, available on AWS Marketplace. Spend transacts through your existing AWS agreement and counts toward an Enterprise Discount Program commitment.

View on AWS Marketplace →
Frequently asked

Vercel to AWS

Something not covered here? and a migration engineer will pick it up from there.

How long does a Vercel to AWS migration take?
First app live in under an hour. The qovery-onboard agent skill includes a documented migration path for Vercel projects: it analyses your codebase, generates a Dockerfile where one is missing, provisions the databases and environment variables your application needs, and deploys it to a cluster in your own cloud account. The pace after that is set by your data and your change windows, not by the tooling.
Will migrating disrupt our running Vercel deployments?
No. Nothing in the process modifies or removes anything on Vercel. Both stacks run in parallel until you move DNS, and you can move it back.
Can Qovery migrate our Vercel Marketplace database to AWS?
Yes. Neon, Supabase and Upstash databases provisioned through the Vercel Marketplace migrate into your own AWS account on Amazon RDS for PostgreSQL or Amazon ElastiCache, under your keys and your backup policy - under 100 GB migrates live with minimal interruption, larger datasets use a replication-based cutover.
Our workload doesn't fit inside a Vercel Function's duration limit. Does that go away?
Yes. A Vercel Function tops out at 300 seconds on Hobby and 800 seconds on Pro and Enterprise (1800 seconds in beta), with memory capped at 2 GB or 4 GB. Queue workers, websocket servers, GPU inference and long-running jobs run as ordinary long-lived processes on Kubernetes instead, with no invocation ceiling to design around.
Is Qovery just another Vercel?
No, and this is the whole difference. Vercel runs your functions and your edge network on Vercel’s own infrastructure. Qovery installs into the cloud account you already own - you hold the cloud bill, the VPC, the cluster and the audit trail. The control plane is ours, the infrastructure is yours.
What happens if we stop using Qovery?
Everything keeps running. Qovery generates standard Terraform and native Kubernetes manifests in your account, so the estate outlives the subscription. Leaving Vercel means moving the workload; leaving Qovery does not.
Can we buy Qovery through AWS Marketplace?
Yes. Qovery is an AWS ISV Accelerate partner. Spend transacts through your existing agreement and counts toward an EDP commitment, and AWS sales teams co-sell the migration with us.
Will Qovery deploy into our existing VPC?
Yes, but network configuration is fixed at cluster creation. If you need specific CIDR ranges, an existing VPC, or peering to other clusters, supply those requirements before the cluster is created - changing the VPC afterwards means creating a new cluster.
How does every Vercel primitive map to AWS?
On Vercel
On AWS
What changes
Vercel Function
EKS pod on EC2
Autoscales on real CPU and memory utilisation, and the node group underneath can sit on Graviton, Spot or a Savings Plan. A function has one price and one shape.
Workflows and Queues
EKS pod in the same cluster
Long-running work without the 30-second router timeout.
Cron Jobs (vercel.json)
Kubernetes CronJob
Real cron expressions instead of fixed ten-minute, hourly and daily buckets.
Marketplace Postgres (Neon, Supabase, Aurora)
Amazon RDS for PostgreSQL
Container mode for development, Amazon RDS for production - Multi-AZ failover, automated backups and point-in-time recovery, in your own account under your own KMS keys.
Marketplace KV (Upstash Redis)
Amazon ElastiCache
ElastiCache, sized independently of the application rather than bought as an add-on plan, and reachable only from inside your VPC.
Message brokers
Amazon MQ or a Helm chart
Deployed by Qovery as a service inside your environment.
Vercel Blob
Amazon S3
Same account and same IAM boundary as the workloads that read it.
Environment Variables
Qovery variables and secrets
Scoped per project, environment and service, with aliases and overrides instead of one flat list.
Preview Deployments
Preview environments
One per pull request, created on open and shut down when idle.
vercel.json / Build Output API
Qovery service config and qovery/qovery Terraform
The agent reads your vercel.json and framework config to build the plan. What it writes out is standard Terraform and Kubernetes manifests in your own repository and account.
Secure Compute and VPC peering
Your own VPC
You already own the VPC. Security groups, PrivateLink endpoints, peering and NAT egress are yours to define, and the three fixed egress IPs are stable for allowlisting.
Edge Network domains and TLS
an AWS Network Load Balancer with managed TLS
A Network Load Balancer with certificates issued and renewed through AWS Certificate Manager. No per-domain SSL add-on.
Zero-config framework detection
Dockerfile or Buildpacks
Both supported. The agent writes a Dockerfile if your repository does not have one.