Menu

Case study · anonymous client

From AWS to bare metal, without touching the application.

How we migrated a production workload from AWS to dedicated Leaseweb servers, with a zero-downtime cutover.

Duration~3 months
DowntimeNone at cutover
ProviderLeaseweb
ClientAnonymous
05 Bare metal04 Network03 Data & storage02 Kubernetes01 Application

Context

Production platform on AWS: EC2 instances, RDS for PostgreSQL, S3 and managed services. Monthly spend in the tens of thousands of euros, traffic following a predictable daily curve.

Decision

Paying for unused elasticity no longer made sense. Move to dedicated bare metal, changing only the infrastructure layer.

Approach: same application, new infrastructure

Kubernetes on bare metal with the same container images, Helm charts and CI/CD pipelines. Every managed service was replaced by an open-source, portable component.

AWS → BARE METAL · LEASEWEB

EC2
Kubernetes · kubeadm
EBS
Longhorn
S3
MinIO
RDS PostgreSQL
PostgreSQL + Patroni
ALB
HAProxy + Keepalived
CloudWatch
Prometheus + Grafana
VPC / NAT
WireGuard

Project phases · about 3 months

Assessment · 2wBuild · 3wParallel run · 4wData · 2wCutover · 1d

The process

  1. 01

    Assessment · 2 weeks

    Inventory of services, dependencies and data flows.

  2. 02

    Build · 3 weeks

    Servers, Kubernetes cluster, network, storage, observability.

  3. 03

    Parallel run · 4 weeks

    Shadow-mode stack, load tests and tuning.

  4. 04

    Data · 2 weeks

    PostgreSQL replication from RDS, S3 → MinIO sync.

  5. 05

    Cutover · 1 day

    DNS switch with short TTL and 24h monitoring.

Described benefits

  • Monthly spend down from tens of thousands to a few thousand euros
  • Incident diagnosis time reduced: from hours to minutes
  • Full infrastructure-as-code and documented runbooks
  • More consistent latency between application and database

Benefits as documented in the article, for this specific workload and team.

Trade-offs and limits

  • High availability designed and tested in-house (Patroni, Longhorn, Keepalived)
  • Self-managed backup and disaster recovery (pgBackRest, restic, offsite replication)
  • More operational responsibility: Linux skills and on-call required
  • Not suited to highly variable traffic or products with uncertain requirements