Skip to main content
Migration Serverless migration · EC2 to Lambda + Fargate · UK

Serverless migration for the bill that tracks usage. not headcount.

We move UK SaaS and product teams off long-running EC2 / VMs onto AWS Lambda + Fargate + EventBridge + Step Functions — per-request billing, auto-scale from zero, cold-start and observability handled.

4serverless migrations shipped
59%median AWS bill cut, Sara’s estate
8Kfixed 5-day audit
Why founders + CTOs migrate now

You don’t need to leave the cloud. You need to leave the version that’s costing you growth.

Always-on EC2 is sized for the spike and paid for 24/7. Serverless bills per request and scales from zero. We’ll be honest at audit about what should move and what stays on Fargate or EC2.

“The next breaking-news spike hit and the booking page didn’t flinch. The bill dropped by more than half.”

Sara

Platform Lead, UK B2B Media

001

4

Production serverless migrations shipped since 2019.

002

0

Auto-scale from zero to thousands per second, no capacity planning.

003

0

Customer-facing outages across our 2025 cutovers.

The founder this page is for28 EC2 · £14.2K/mo · 8-min scaler lag

Sara’s fleet was sized for the breaking-news spike. She paid for it every hour.

01

Sara runs platform at a UK B2B media company. 28 EC2 instances. Traffic spikes 15× on breaking news. The AWS bill ran £14.2K a month, sized for a peak that arrived for minutes and was paid for around the clock.

02

Auto-scaling lagged the news cycle by 8 minutes. SSH access was a security-audit finding. Patching took two days a month. One breaking-news spike took the booking page down for 19 minutes because the scaler couldn’t keep up with the request rate.

03

Twelve-week serverless migration. API surface to API Gateway + Lambda. Long-running search and transcode kept on Fargate. Database to Aurora Serverless v2. EventBridge for async, Step Functions for orchestration. Next spike: zero downtime. Bill dropped to £5.8K a month. This page is for the founder or CTO who has decided the migration is happening, and wants it to land without taking the business down.

Old estate kept read-only 30 days post-cutover
Our migration process

Four phases

No mystery box. Each phase is fixed-scope, fixed-price, and ends in a written deliverable you can show your board. You decide whether to continue at every boundary.

Phase 01 · 5 days · £8K

Migration audit

Two senior engineers read your VM estate, data and infra. Output: a 20-30 page pack with risk matrix, target architecture, data plan, rollback plan and a fixed migration quote.

Phase 02 · 2-4 weeks

Plan + parallel build

We build the serverless target in parallel. Your VMs keep running. Data-migration dry runs, integrations rebuilt, dual-write or shadow-read set up so traffic can route safely. No customer-facing change yet.

Phase 03 · 1-3 days

Cutover

A planned window, often a weekend. Dual-run, shadow-read, then flip the canonical write path. Old system stays read-only for 30 days. The rollback is rehearsed and reversible.

Phase 04 · 2-6 weeks

Stabilise + decommission

We monitor, fix what only production traffic surfaces, hand over to your team or our retainer, and decommission the old estate on a schedule you sign off. Nothing’s deleted until you say so.

Target stack · AWS Lambda + Fargate + serverless data

The stack we migrate you to.

We default to AWS serverless and the MERN + Python runtimes. We’re comfortable on GCP, Azure, Cloudflare, Vercel and Fly.io where your team has constraints or a relationship.

T1

The default serverless target

AWS serverless
AWS LambdaAWS FargateAPI GatewayEventBridgeStep FunctionsDynamoDBAurora Serverless v2SQS + DLQLambda@EdgeAWS SAM / CDKNode.js / Python / GoMixpanel
T2

Migration-specific tooling

reach when needed
Provisioned concurrencyLambda SnapStartARM (Graviton)RDS ProxyLocalStackServerless Framework
T3

Observability + the safety net

AWS-default
AWS X-RayCloudWatch LogsAWS WAF + ShieldKMS + Secrets ManagerDatadog Serverless APMSentryCloudflare WorkersGCP Cloud RunAzure Functionsk6 / Artillery
The risks that sink a serverless migration

Six risks. How we close each one before cutover.

We don’t pretend migrations are safe. We make each risk legible and mitigated, in writing, before a single line of production code changes.

01

Should everything be serverless?

No. Persistent WebSockets, long batch jobs, GPU work and predictable always-on traffic often stay on Fargate or savings-plan EC2. We assess each workload at audit.

02

Cold starts and latency

Lambda cold starts run 100-800ms on Node and Python. Provisioned concurrency, SnapStart, slim deps and Graviton bring this into single digits where the path needs it.

03

Idempotency on at-least-once events

Lambda + EventBridge + SQS is at-least-once. Every handler is made idempotent, with idempotency keys, dedupe, a dead-letter queue and an audit log at the boundary.

04

Data + connection pooling

DynamoDB for high-scale simple access. Aurora Serverless v2 (Postgres) for relational and reporting. RDS Proxy pools connections between Lambda and RDS.

05

Observability without SSH

Serverless without tracing is debugging blind. AWS X-Ray, Datadog APM, structured logs and correlation IDs run through every request from day one.

06

The cost-crossover cliff

Serverless wins at low-to-medium concurrency. At very high steady-state, savings-plan EC2 wins. We model the crossover and recommend a hybrid where the curve flips.

EC2 to serverless · B2B media · UK

28 EC2 instances
to Lambda + Fargate, in numbers

Twelve-week migration. API surface to API Gateway + Lambda. Search and transcode kept on Fargate. Database to Aurora Serverless v2. EventBridge for async, Step Functions for orchestration, CloudFront + Lambda@Edge for the storefront. The next breaking-news spike held with zero downtime.

The AWS bill

£14.2K£5.8K
Per month, after cutover
59%
Monthly spend removed

Breaking-news spike

0
Downtime, next 15× spike
8min0
Auto-scaler lag removed

The team

12wk
End-to-end migration
2 days/wk
Engineer time freed
How a migration starts with us

Three ways to start. Audit, sprint, then retainer.

Pick the shape that fits and Mohit will send your real number inside 24 hours.

AStart here

5-day migration audit

Two senior engineers read your always-on estate, data and integrations. We map the migration, write the risk matrix, quote the sprint.

  • 5-day senior audit
  • 20-30 page audit pack
  • Risk matrix + rollback plan
  • £8,000 fixed (GBP)
BMost common

Serverless migration sprint

Parallel build, dry-run data migration, planned cutover, post-cutover stabilisation, then decommission. 8 to 16 weeks by estate size.

  • Lambda + Fargate + serverless data
  • Two senior engineers
  • 30-day walk-away both ways
  • From £35,000 fixed (GBP)
COptional

Post-migration retainer

One day a week of senior engineering for three to six months. New surface area, performance work, integrations, your team gets unblocked.

  • One senior day a week
  • Performance + new surface area
  • Your team trained on the new stack
  • From £5,000 / month (GBP)
From £35K · 8-16 weeks · old estate read-only 30 days

“The next breaking-news spike hit and the booking page didn’t flinch. The bill dropped by more than half. The team got two days a week back.”

— Sara, Platform Lead, UK B2B Media
Serverless migration · honest answers

What CTOs actually ask on the audit call

Direct answers, no marketing varnish. Tap any question to open it.

FAQ(01)

Should everything be serverless?

No, and we’ll say so at audit. Persistent WebSockets, long batch, GPU work and predictable always-on traffic often stay on Fargate or savings-plan EC2. Most clients end up serverless for 60-80% of the workload, containers or EC2 for the rest.

Per-workload fitHybrid by defaultFargate keptHonest at audit

Should everything be serverless?

FAQ(02)

What about cold starts?

Lambda cold starts run 100-800ms for Node and Python with slim deps. Provisioned concurrency, SnapStart and ARM Graviton bring this into single digits where it matters. We measure it on your real traffic shape, not a benchmark.

Provisioned concurrencySnapStartGravitonMeasured, not guessed

What about cold starts?

FAQ(03)

DynamoDB or Aurora Serverless v2?

DynamoDB for high-scale, predictable access patterns and low-latency reads. Aurora Serverless v2 (Postgres) for relational data, reporting and ORM compatibility. Often a hybrid. We model the data per-workload during the audit.

DynamoDBAurora Serverless v2HybridRDS Proxy

DynamoDB or Aurora Serverless v2?

FAQ(04)

Can the migration take the business down?

We design against it. We build the serverless target in parallel while your VMs keep running, dual-run and shadow-read, then flip the canonical write path in a planned window. The old system stays read-only for 30 days, the rollback is rehearsed.

Parallel buildShadow-readRehearsed rollback30-day read-only

Can the migration take the business down?

FAQ(05)

How do we know you won’t disappear?

30-day walk-away both ways. The audit is £8K fixed and stands alone, you don’t have to continue. UK VAT registered, listed on Companies House, shipping since 2019. You’re never more than a phase at risk, and the audit pack is yours regardless.

30-day walk-away£8K fixed auditCompanies HouseSince 2019

How do we know you won’t disappear?

Serverless migration — dashboard / app screen
In context

The surface you hand over.

serverless migration, in context — the dashboards, flows and components your team actually ships, reviews and maintains.

Two senior engineers. 5 days. A plan for your board.

Five lines. That’s it.

Tell us the current estate (traffic, data size, integrations), why you want to migrate, and the deadline you’re working to. Mohit replies inside 24 hours with availability and the next 5-day audit slot.

Write to mohit@empyrealinfotech.com Replies in 24h£8K fixed auditOld estate read-only 30 days
What happens after the email lands
  1. < 24h

    A personal reply.

    Yes, no, or the deciding question. Straight to your inbox.

  2. Week 1

    The 5-day audit.

    Risk matrix, target architecture, data plan, rollback plan, fixed quote.

  3. Cutover

    Holds in the window.

    Dual-run, flip the write path, old estate read-only for 30 days.