OpsRunway Talk to an engineer

Vercel to AWS migration: the bill at which it pays to move.

A Vercel to AWS migration saves money only past a bill you can work out. Vercel is a good place to run a Next.js app, and for most small teams it is cheaper than AWS once you count people's time; on our illustrative numbers, moving pays for itself within a year from a Vercel bill of about $1,900 to $2,400 a month. Below: how Vercel pricing works in 2026, three illustrative bills priced line by line against Amplify, CloudFront with ECS Fargate, and OpenNext on Lambda, what you lose when you leave, and the six-step plan we use to migrate from Vercel to AWS. Follow it yourself, or have us run it as a fixed-scope project.

Facts checked: 31 Oct 2026. Prices checked: 31 Oct 2026, AWS us-east-1 and Vercel iad1 (Washington, D.C.), USD

StripMOVE-VC
TypeFixed scope, quoted
Typical2 to 4 weeks
TargetCloudFront + ECS or Lambda
CutoverPlanned, reversible
Priceafter the review
NextGet a migration quote
01Should you move?

Should you migrate from Vercel to AWS?

Usually not below about $500 a month on Vercel, and usually yes past about $2,000, or sooner if your backend already runs on AWS or a customer asks for SOC 2. In between, trim the Vercel bill first.

If this is youOur advice
Vercel bill under $500 a month, no compliance asksStay. AWS can be cheaper on paper, but not after the hours it takes to run.
Bill between $500 and $2,000 a monthTrim the Vercel bill first (section 03). Move only if one of the rows below also applies.
Bill past about $2,000 a month and growingMove. On our illustrative numbers the saving pays for the migration within a year.
Your database and backend already run on AWSMove sooner. One network and one bill, and no paying to send data out of AWS to your frontend.
An enterprise customer wants SOC 2 evidence or private networkingMove, and build the controls in as you go.
You have AWS Activate creditsMove. Credits can pay for CloudFront and Fargate. They can't pay Vercel. How AWS Activate credits work.
Launching something big in the next 8 weeksWait until after the launch.

Credits run out, usually sooner than planned. If yours end within a year, read what happens when AWS credits end before you size the move.

02Vercel pricing

Vercel Pro list prices for iad1, checked 31 Oct 2026. Most other regions cost more: up to $0.35 per GB for Fast Data Transfer and $0.221 an hour for Active CPU.

Sources: Vercel pricing, Pro plan docs, iad1 regional pricing, regional price ranges, Fluid compute pricing, Flat Rate CDN, Flat Rate CDN GA, Spend Management, build machines.

How does Vercel pricing work in 2026?

Vercel Pro is $20 a month per deploying seat plus metered usage, and since September 2026 CDN traffic can sit on a flat monthly tier. In detail, a Pro bill has three parts. A $20 a month platform fee that includes one deploying seat and $20 of usage credit. $20 a month for every other seat that can deploy (viewer seats are free). And usage, billed per unit once the credit is spent. Vercel turns on spend notifications at $200 a month for new teams, and you can have it pause the production deployments of all your projects at that amount. The amount counts metered usage beyond the credit only, not seats or add-ons.

Since 8 September 2026, Pro teams can also put CDN traffic on Flat Rate CDN: a fixed monthly tier instead of per-GB and per-request charges. Pro includes the lowest tier. If a month's usage goes over your tier, Vercel moves you up a tier from the next billing cycle; a one-day spike doesn't. Bulk downloads and sites where media delivery is most of the bandwidth aren't eligible; Vercel may move those projects to its Flex CDN tier.

Line item (Vercel's name)What it measuresPro, iad1
Platform feeIncludes 1 deploying seat and $20 usage credit$20 /month
Extra deploying seatOwner or Member role$20 /month
Flat Rate CDN, included tierCDN requests and Fast Data Transfer1M requests, 1 TB
Flat Rate CDN, paid tiersRequests / transfer per month$20: 10M / 50 TB
$100: 50M / 50 TB
$300: 150M / 50 TB
Fast Data Transfer, on demandCDN to visitor$0.15 /GB
CDN Requests, on demand (formerly Edge Requests)Every request, static files included$2.00 per 1M
Fast Origin TransferCDN to and from your functions$0.06 /GB
Function invocationsEvery request that reaches a function$0.60 per 1M
Fluid Active CPUCPU time while your code runs$0.128 /hour
Fluid Provisioned MemoryMemory for the life of each instance$0.0106 /GB-hour
Image transformationsEach cache miss or stale image$0.05 per 1,000
Image cache reads / writes8 KB units$0.40 / $4.00 per 1M
ISR reads / writes8 KB units, durable cache$0.40 / $4.00 per 1M
Build minutes, Basic machinePer build minute$0.007 /minute

One inconsistency we found: Vercel's pricing page lists 10 million CDN requests included on Pro, while the Pro plan and Flat Rate CDN docs say the included tier is 1 million requests and 1 TB. We priced the examples below with the docs' figure. New teams build on Elastic machines by default, billed at $0.0035 per CPU minute; we used the Basic rate to keep the maths readable.

Why is Vercel so expensive as you grow?

Mostly seats, function memory and add-ons, not bandwidth. Those are the lines that push the Vercel cost per month up as a team grows.

Bandwidth used to be the scary line. With Flat Rate CDN it mostly isn't for a normal web app: 50 TB a month for $20 is in line with CloudFront's own $15 flat-rate plan. The growth now comes from these, roughly in the order we'd check them:

  • Seats. $20 per deploying engineer: fifteen is $300 a month before a single request. AWS has no seat charge.
  • Provisioned Memory. CPU billing pauses while a function waits on the database or an AI model, but memory keeps billing for as long as the instance is alive. Slow upstream calls show up here, not under CPU.
  • Middleware that runs on everything. Vercel's docs warn that Middleware can incur Fast Origin Transfer twice for one function request. A matcher that skips static files and images is the fix.
  • Image transformations. Billed on every cache miss and stale image, so many sizes and short TTLs multiply them.
  • ISR writes. A write happens only when the page output changes. A timestamp or a random value in the page means every revalidation is a paid write.
  • Add-ons. SAML SSO is $300 a month, a HIPAA BAA $350, Static IPs $100 per project, Password Protection $20 per project, a Preview Deployment Suffix $100. Extra custom environments are $50 a month per pack of five, beyond the one each project includes.
  • Region and tier jumps. Function and CDN prices vary by region; São Paulo Active CPU is $0.221 an hour against $0.128 in iad1. Crossing a Flat Rate tier boundary moves the CDN line from $20 to $100 to $300.

Fix these before you price a migration. If the bill drops enough that moving stops being worth it, that's a good outcome.

04Vercel vs AWS

Illustrative. Made-up startups, not clients and not averages. Usage is assumed; unit prices are each vendor's list price checked 31 Oct 2026.

Sources: as section 02, plus Amplify pricing, Fargate pricing, Lambda pricing, CloudFront plans, CloudFront pay-as-you-go, ELB pricing, VPC pricing, S3 pricing, CloudWatch pricing, ECR pricing.

Is Vercel cheaper than AWS? Three bills, priced line by line.

At launch size the bill is small either way: $40 on Vercel, under $50 on every AWS option. At fifteen engineers Vercel costs far more: in our illustrative Series A example, AWS costs $335 to $529 a month against $1,285 on Vercel, before counting the time to run it.

To compare Vercel cost vs AWS, take three Next.js SaaS teams. A: two founders at launch. B: six engineers with paying customers. C: fifteen engineers after a Series A, with SSO required by customers. First, what Vercel charges each of them.

Vercel Pro, iad1A. LaunchB. SeedC. Series A
Deploying seats2 × $20 = 40.006 × $20 = 120.0015 × $20 = 300.00
CDN: transfer, requests200 GB, 0.8M: included800 GB, 9M: $20 tier6 TB, 60M: $300 tier
Function invocations1M: 0.606M: 3.6040M: 24.00
Active CPU10 h: 1.2860 h: 7.68400 h: 51.20
Provisioned Memory200 GB-h: 2.121,500 GB-h: 15.9010,000 GB-h: 106.00
Fast Origin Transfer20 GB: 1.20150 GB: 9.001,200 GB: 72.00
Image transformations5k: 0.2550k: 2.50400k: 20.00
Image cache reads + writes0.162.4016.00
ISR reads + writesnone5M + 0.5M: 4.0040M + 4M: 32.00
Build minutes, Basic500: 3.503,000: 21.0012,000: 84.00
Usage less $20 credit9.11 − 20 = 0.0066.08 − 20 = 46.08405.20 − 20 = 385.20
Flat Rate CDN tier0.0020.00300.00
SAML SSO add-onnonenone300.00
Vercel, per month$40.00$186.08$1,285.20

Now the same three apps on AWS, three ways. Totals first; the arithmetic is under the table.

Per month, us-east-1A. LaunchB. SeedC. Series A
Vercel Pro (from above)$40.00$186.08$1,285.20
AWS Amplify Hosting$43.66$201.92$1,387.39
CloudFront + ALB + ECS Fargate$47.83$113.96$528.52
CloudFront + Lambda via OpenNext$0.10$14.47$334.71

How we priced it. Amplify: transfer at $0.15 per GB (A 30.00, B 120.00, C 921.60), SSR requests at $0.30 per million, SSR duration at $0.20 per GB-hour assuming 150 ms at 1 GB per request (A 8.33, B 50.00, C 333.33), storage at $0.023 per GB-month, Standard builds at $0.01 a minute for the same build minutes as Vercel; the 12-month free tier is left out. ECS Fargate: Linux/ARM at $0.03237984 per vCPU-hour and $0.00356004 per GB-hour, 730 hours; A runs one 0.5 vCPU, 1 GB task ($14.42), B two 1 vCPU, 2 GB tasks ($57.66) plus three 0.5 vCPU, 1 GB preview tasks for 150 hours each ($8.89), C six 1 vCPU, 2 GB tasks ($173.01), a 0.5 vCPU staging task ($14.42) and five preview tasks of the same size for 200 hours each ($19.75). Each includes an ALB ($16.43 plus $5.84 per average LCU: 1, 2 and 8 LCUs), public IPv4 addresses at $3.65 each (3, 4 and 8), S3 GETs at $0.0004 per 1,000, ECR at $0.10 per GB and CloudWatch Logs at $0.50 per GB after 5 GB free. Tasks sit in public subnets behind security groups, so there's no NAT gateway; a NAT gateway is $0.045 an hour plus $0.045 per GB in AWS's own example. Lambda: x86 at $0.20 per million requests and $0.0000166667 per GB-second after the free 1 million requests and 400,000 GB-seconds, 150 ms at 1 GB per request, plus an image optimization function at 0.5 s and 1.5 GB per transformation (B $1.01 requests and $8.96 duration, C $7.88 and $98.33). CloudFront: A and B fit inside the always-free 1 TB and 10 million requests; C uses the Business flat-rate plan at $200 a month, because pay-as-you-go would be $485.20 (5,120 GB at $0.085 plus 50 million requests at $0.01 per 10,000). Not in any column: CI minutes (see GitHub Actions pricing), your database, tax, and whether Vercel's $20 credit counts against a paid CDN tier, which its docs don't say.

05Break-even

Illustrative. The hours and the hourly cost are assumptions for the example, not a quote. Put your own in.

At what Vercel bill does moving to AWS pay off?

On our illustrative assumptions, at a Vercel bill of about $1,900 to $2,400 a month: that is where the saving repays a $12,000 migration within a year.

The AWS columns look like easy savings. They leave out the cost that decides it: someone has to build the AWS side and then own it. The honest sum is:

Months to pay back = one-off migration cost ÷ (Vercel bill − AWS bill − monthly cost of running AWS).

Take an illustrative 120 engineer-hours to migrate at a fully loaded $100 an hour ($12,000), and 4 hours a month afterwards for upgrades, alerts and the odd incident ($400).

IllustrativeGross savingNet of $400 a month to runPayback on $12,000
B. Seed, to ECS Fargate$72.12−$327.88never
B. Seed, to Lambda (OpenNext)$171.61−$228.39never
C. Series A, to ECS Fargate$756.68$356.68about 34 months
C. Series A, to Lambda (OpenNext)$950.49$550.49about 22 months

For a one-year payback on these assumptions you need about $1,400 a month of gross saving. In profile C, AWS costs 41% of the Vercel bill on ECS and 26% on Lambda, so the Vercel bill has to be somewhere around $1,900 to $2,400 a month before the move pays for itself within a year. AWS costs don't scale in a straight line, so treat that as a rough line, not a law.

Three things move the line down a lot: a backend already on AWS (the $400 is mostly work you already do), Activate credits, and Vercel add-ons you're about to need, such as SSO, HIPAA or Static IPs.

AWS Amplify vs Vercel pricing is the surprise. Amplify is the closest AWS gets to Vercel's workflow, but it charges $0.15 per GB for transfer with no flat-rate tier, so it costs more than Vercel in all three profiles.

How do you run Next.js on AWS: Amplify, OpenNext, ECS or Lambda?

Four ways: Amplify Hosting, OpenNext on Lambda, a standalone container on ECS Fargate, or the new Lambda Web Functions. For a team leaving Vercel, ECS Fargate is our default and OpenNext suits spiky traffic.

OptionHow it runs Next.jsGood atFalls shortWe'd recommend it when
AWS Amplify HostingManaged: connect the repo, Amplify builds and serves it.Closest to the Vercel workflow: git push deploys, PR previews, little to run.AWS's docs list support for Next.js 12 through 15. Unsupported: edge API routes, on-demand ISR, streaming, middleware on static assets and images, and after. Transfer at $0.15 per GB.A small, mostly static site on Next.js 15 or older that must live in your AWS account.
OpenNext on Lambda (usually via SST)Converts the build into a server function, an image function, a revalidation queue and static assets behind CloudFront.Cheapest at low and spiky traffic. Covers ISR, middleware, image optimization and after. Its docs target Next.js 15; recent releases add Next.js 16 fixes.OpenNext doesn't create infrastructure; SST or CDK does. Community-maintained. Lambda bills each request's full duration, waits included, so slow database calls cost more than on Vercel, where CPU billing pauses during waits.Spiky traffic and a team comfortable with serverless.
ECS Fargate containeroutput: "standalone" in a container, next start, behind an ALB and CloudFront.Next.js says Node.js and Docker deployments support all features. Predictable. Same platform as your API and workers.You pay for tasks around the clock. Previews, shared ISR cache and image caching are yours to set up.Steady traffic, an existing ECS setup, or a backend already in containers. Our default.
Lambda Web FunctionsLaunched 12 Oct 2026. Runs a normal port-listening server; Next.js standalone needs a small index.js.Billed on active CPU and the memory each environment holds, like Vercel's Fluid compute. Up to 128 concurrent requests per environment.Under three weeks old. Node.js only, five Regions, 2 vCPU and 2 GB per environment at launch.A pilot, not the main path yet. Worth a test project now.

For scale on the newest option: AWS's own pricing example puts a server-rendered app with 15 million requests a month, 40 ms of CPU each and about 0.5 GB of memory in one environment, on Lambda Web Functions at $25.78 a month. We like the model. We wouldn't bet a migration on a service this new; run it beside the main setup first.

Vercel's Bring Your Own Cloud runs your functions as Lambda in your own AWS account while Vercel keeps routing, TLS and static files, but it requires the Enterprise plan. Other Vercel alternatives, such as Cloudflare and Netlify, exist outside AWS; we don't price them here, so compare them if AWS isn't a requirement.

What do you lose by leaving Vercel, and what replaces it on AWS?

Mostly workflow: preview deployments, instant rollback, and middleware, ISR and image optimization that work with no setup. Each has an AWS replacement; previews are the one teams miss most.

Vercel featureOn AWSWatch out for
Preview deployments for every branch and pull requestA CI job that deploys each PR to its own URL and tears it down on merge. Amplify has PR previews built in.The part teams miss most. Amplify counts each PR toward its 50 branches per app.
Instant RollbackRedeploy the previous image tag or Lambda version.Make it one command.
Middleware at the edgeNext.js 16 renamed middleware to proxy; it defaults to the Node.js runtime and runs inside next start. Simple redirects can move to CloudFront Functions ($0.10 per million).Lambda@Edge works but is billed separately.
ISR and on-demand revalidationA shared cache handler (Redis or S3) on ECS. OpenNext ships its own, with a queue for revalidation.Without it, each instance keeps its own cache, and revalidateTag on one doesn't reach the others.
Image optimizationnext/image works with next start and sharp, cached behind CloudFront. OpenNext has an image function.Sharp on glibc Linux can need memory tuning.
Skew protectionSet deploymentId and keep old static assets in S3.Otherwise users hit missing chunks during deploys.
Server Actions across instancesSet NEXT_SERVER_ACTIONS_ENCRYPTION_KEY at build time.Otherwise: "Failed to find Server Action" errors.
Streaming and SuspenseTest it through CloudFront and the ALB before cutover.Next.js warns that ALB with a Lambda integration may buffer responses.
Cron jobs, environment variables, logsEventBridge Scheduler, SSM Parameter Store or Secrets Manager, CloudWatch Logs.Set log retention on day one.
Firewall and bot rulesAWS WAF, included in CloudFront flat-rate plans.Custom cache and origin request policies need the $200 Business plan; below that, use pay-as-you-go.

What happened in the Vercel security breach, and what should you do?

According to Vercel's own bulletin, in April 2026 Vercel found unauthorized access to some of its internal systems; its first update is dated 19 April. The attack started with a compromise of Context.ai, a third-party AI tool used by a Vercel employee. The attacker took over that employee's Google Workspace account, then their Vercel account, and moved through internal systems. They enumerated and decrypted environment variables that were not marked as sensitive for a limited set of customers, and Vercel later found a small number of additional affected accounts. Vercel says no npm packages it publishes were compromised. It marked remediation complete and closed the incident on 16 October 2026.

Vercel's advice to customers: rotate non-sensitive environment variables first, mark secrets as sensitive, turn on MFA, review activity logs and recent deployments, set Deployment Protection to at least Standard, and rotate bypass tokens. It also notes that deleting your projects or account doesn't remove the risk.

Our view: do that rotation now whether or not you move, because a migration doesn't un-leak a key. On its own a vendor breach isn't a reason to move: AWS is only safer if secrets live in Secrets Manager or Parameter Store behind tight IAM. If a customer's security questionnaire asks, that's where SOC 2 infrastructure on AWS starts.

09Step 1

Inventory

How to migrate from Vercel to AWS, step 1: write down everything Vercel does for you.

Moving from Vercel to AWS takes six steps: an inventory, the AWS build, deploys and previews, a parallel week, the DNS cutover and a rollback plan. This first one is the step people skip.

Migrations go wrong on what the platform did quietly. Get the list from the project:

  • vercel.json and next.config.js: rewrites, redirects, headers, image domains, cron schedules, function regions and memory.
  • vercel env pull for each environment. Mark the secrets, and rotate them as you copy them.
  • Routes that set runtime = "edge", the middleware or proxy file and its matcher, ISR routes and anything calling revalidatePath or revalidateTag.
  • Every storage product and integration (Blob, Edge Config, Marketplace databases, analytics), who bills it, and where it moves.
  • Domains, and whether they use Vercel's nameservers. This matters in step 5.
  • Webhooks, OAuth redirect URLs and partner allowlists pointing at *.vercel.app or relying on Vercel Static IPs.

If the app was generated in Lovable, Replit or Bolt, do the security checks in taking a vibe-coded app to production before you move it.

10Step 2

Target build

Why ECS and not Kubernetes: ECS vs EKS for startups.

Source: CloudFront flat-rate plan features and limits.

Step 2: build the AWS side next to Vercel.

  • Next.js serverECS Fargate (standalone container) or Lambda via OpenNext
  • Static assets and /_next/staticS3 behind CloudFront, cached for a year
  • Image optimizationnext/image in the server, cached by CloudFront
  • ISR cacheShared cache handler on Redis or S3, or OpenNext's
  • Environment variablesSSM Parameter Store and Secrets Manager
  • Cron jobsEventBridge Scheduler
  • Previews and deploysGitHub Actions, images in ECR
  • TLSACM certificate in us-east-1 for CloudFront

Everything goes in Terraform (or SST for OpenNext), in your own AWS accounts; our AWS setup for startups covers the account structure. Before the first deploy, set what Next.js needs for more than one instance: a fixed NEXT_SERVER_ACTIONS_ENCRYPTION_KEY, a deploymentId per release and a shared cache handler. Give tasks a 10 to 30 second shutdown drain so after() callbacks finish, as the Next.js docs recommend.

On CloudFront, check which plan your setup fits. The flat-rate Free and Pro plans allow 5 and 10 cache behaviors and no custom cache or origin request policies; those start at Business ($200). Accounts still on the AWS Free Tier can't subscribe at all. For a Next.js app, which usually needs custom cache policies, the right answer is pay-as-you-go until traffic is well past 1 TB a month.

11Step 3

CI and previews

Related: GitHub Actions pricing.

Step 3: rebuild the deploy flow your team is used to.

Engineers shouldn't notice this step: merge to main and production updates, open a pull request and a preview link appears.

  1. Build once. One image (or one OpenNext bundle) per commit, tagged with the commit SHA, promoted from preview to staging to production without rebuilding.
  2. Previews. A workflow that deploys the PR to pr-123.preview.example.com, posts the link, and deletes it when the PR closes. Put previews behind a password or SSO; Vercel previews had Deployment Protection, and yours should too.
  3. Rollback. A workflow input that redeploys a previous SHA.
  4. Secrets. GitHub Actions reaches AWS through OIDC and a role, never long-lived keys.

Builds now run on your CI minutes instead of Vercel's build minutes. Price them before you assume they're free.

12Step 4

Test in parallel

Step 4: run both for a week before DNS moves.

Most Vercel apps keep their data elsewhere (Postgres, Supabase, a separate API), so unlike a Heroku migration there is usually no database to move. That makes it possible to run AWS and Vercel side by side against the same data:

  • Serve staging from AWS for a week. Check every route type: static, SSR, ISR, API routes, Server Actions, images, redirects.
  • Compare Cache-Control headers on ISR and dynamic pages between the two, so CloudFront caches what it should and nothing else.
  • Load test the AWS side at twice your peak.
  • Check that cron jobs run once, not twice. Disable them on one side before the switch.

If you are also moving a database off a hosted provider, that is the hard part and needs its own plan; our Supabase to AWS page covers the Postgres side.

Step 5: the DNS cutover, planned to the minute.

  1. A week before: request an ACM certificate in us-east-1 (CloudFront only uses ACM certificates from that Region) and validate it with DNS. Add the domains to the distribution as alternate names.
  2. If your domain uses Vercel's nameservers: Vercel creates the apex and first-level subdomain records automatically, so they may not appear as records you added. Move DNS to Route 53 first, recreate every record (mail, TXT, subdomains) and let it settle while traffic still goes to Vercel.
  3. Two days before: lower the TTL on the records you'll change to 60 seconds.
  4. Test without DNS: curl --resolve the real hostname to CloudFront; check the certificate, redirects and a sign-in.
  5. At cutover: point the record at the CloudFront distribution. Use a Route 53 alias for the apex domain, or your provider's ALIAS or flattening.

Leave the domain attached to the Vercel project until the rollback window closes.

14Step 6

Rollback

Step 6: the rollback plan, written before the night.

  • The trigger. Agreed in advance: error rate above a set level, or a broken sign-in or checkout, for more than a set number of minutes.
  • The steps. Point DNS back at Vercel. With a 60-second TTL that's minutes. Re-enable Vercel cron jobs if you disabled them.
  • The data question. Small, because both sides share the database. Check uploads written to S3 during the AWS window.

Keep the Vercel project deployable for two weeks after cutover, and downgrade only after that. In the first week, run through the production readiness checklist and read the first days of the AWS bill line by line; what AWS costs a startup shows the lines that usually surprise. A migration rollback plan isn't a recovery plan; once you're on AWS, write a disaster recovery plan for AWS too.

15When to stay

When should you stay on Vercel?

When the bill is small, nobody wants to own infrastructure, or a high bill has one fixable cause.

We'd tell you to stay, on a call, if any of these is true:

  • The bill is under a few hundred dollars a month. Profile A pays $40; no AWS setup beats that once someone has to look after it.
  • Nobody wants to own infrastructure, and you don't want to pay someone to. That is what Vercel sells.
  • The bill is high because of one fixable thing from section 03. Fix it and look again in three months.
16Our offer

Or hand it to us: a fixed-scope Vercel migration in two to four weeks.

  1. Inventory and build the AWS side in Terraform.

    Steps 1 and 2: accounts, CloudFront, ECS or Lambda, secrets, alongside Vercel. Nothing switches yet.

  2. Deploys, previews and staging on AWS.

    Your team merges to main the same way as before, and pull requests get preview links.

  3. Cut over, with a way back.

    DNS moves at a quiet hour. Vercel stays deployable for two weeks so rolling back is one change.

Several apps or a database move push it toward four weeks; the quote says which. Everything is Terraform in your repository and your AWS accounts. If the section 05 maths says don't move yet, we tell you and stop there. If you'd rather not run AWS afterwards either, our managed DevOps plans or fractional DevOps pick up from cutover day.

Get a migration quote

17FAQ

Questions founders ask about leaving Vercel.

How much does Vercel cost per month?

On Pro, $20 a month per deploying seat, with $20 of usage credit included in the first, plus usage beyond the credit. Our illustrative bills come to $40 for two founders, $186 for a six-engineer seed team and $1,285 for fifteen engineers with SSO. Seats, function memory and add-ons drive most of it.

Is AWS cheaper than Vercel?

At scale, in raw infrastructure: our Series A example costs $529 on ECS Fargate and $335 on Lambda against $1,285 on Vercel. At launch size, no: $40 on Vercel, about $48 on ECS. Counting the time to run AWS, the move pays within a year from a Vercel bill of roughly $2,000 a month on our assumptions.

Is AWS Amplify cheaper than Vercel?

Not in our examples. Amplify charges $0.15 per GB for transfer with no flat-rate tier, so it came out above Vercel in all three. For workflow, it is the closest Vercel alternative on AWS: git push deploys and PR previews. For features, less so: AWS's docs list support for Next.js up through version 15, without on-demand ISR or streaming.

What is the best Vercel alternative on AWS?

For most teams leaving Vercel, a standalone Next.js container on ECS Fargate behind CloudFront: Next.js says that setup supports all features, and it runs next to your API. OpenNext on Lambda is cheaper at low or spiky traffic. Amplify Hosting is closest to Vercel's workflow but cost more than Vercel in all three of our examples. Outside AWS, compare Cloudflare and Netlify.

What is OpenNext, and do I need it?

OpenNext converts a Next.js build into packages that run on AWS Lambda and other platforms, and SST is the usual way to deploy it. You need it for Lambda. You don't for a container: Next.js says next start in Docker supports all features.

Should we leave Vercel because of the security breach?

Not for that reason alone. Vercel reports that non-sensitive environment variables of a limited set of customers were decrypted, and it closed the incident on 16 October 2026. Rotate those variables and mark secrets as sensitive now. Moving is a cost and control decision.

How long does a Vercel to AWS migration take?

Two to four weeks of calendar time for one Next.js app, most of it building the AWS side and running both side by side for a week. The DNS switch itself takes minutes with a 60-second TTL. Several apps, or a database moving at the same time, push it toward four weeks.

Can we migrate from Vercel to AWS with zero downtime?

Usually yes, because the frontend is stateless and both sides can share the same database. The switch is a DNS change with a 60-second TTL. The risk is in caching and cron jobs running twice, which the parallel week in step 4 is for.

Do we have to change our Next.js code?

Very little for a container: output: "standalone", a shared cache handler, a fixed Server Actions key and a deploymentId. More if you use Vercel-only products such as Blob, Edge Config or Vercel's analytics, which each need a replacement on AWS or from another vendor.

Does Vercel Pro have a spending limit?

Yes, for metered usage. Vercel turns on spend notifications at $200 a month for new teams, and you can have it pause production deployments when spend reaches your amount. Seats and add-ons don't count toward it. A paused site is an outage, so set the amount well above a normal month and alert someone first.

18Next step

Not sure the numbers work for you? The fixed-price AWS readiness review looks at your Vercel invoice and your AWS account, prices the move with your real usage, and tells you plainly if staying is the better call. A migration quote follows from it.

StripREVIEW-01
TypeFixed price
Duration5 working days
AccessRead-only
OutWritten report + 60-min call
Price$1,900
NextAWS readiness review
Talk to an engineer