EKS Cluster Setup for Enterprise Application
Complete Amazon EKS cluster setup with advanced networking, security, and monitoring for a large-scale enterprise application serving millions of users.
Read itNine months moving core policy and transaction services off on-premises virtualisation into a multi-account AWS Organization, with Transit Gateway carrying traffic between 30+ VPCs and the remaining datacentre.
An insurer running policy administration, claims and a transaction ledger on ageing on-premises virtualisation wanted to be on AWS. What they could not have was a maintenance window: the ledger is written to during business hours in several states, and a day of downtime is a regulatory conversation, not an inconvenience.
Around forty services with dependencies nobody had drawn in years, a single flat network where everything could reach everything, and a database that three separate applications wrote to directly. The first six weeks produced no migration at all. They produced a dependency map and an agreed order of moves.
We set up AWS Organizations first, because account boundaries are the only isolation that cannot be undone by a bad IAM policy later.
Every workload account got its own VPC. Peering them pairwise would have been unmanageable, so everything attaches to a Transit Gateway in the shared services account, with route tables per segment.
The routing was the part we spent most design time on. A loop between the on-premises network and a transit route table is easy to create and unpleasant to debug at four in the morning, so the route tables are generated from CloudFormation rather than edited by hand.
The database moved by replication, not by export. An RDS instance ran as a replica of the on-premises database for weeks while we validated row counts and checksums nightly. The cutover itself was:
We rehearsed it twice against a copy of production in an isolated account before doing it for real. Both rehearsals found something. The first found an application with a hardcoded host, the second found a batch job nobody had mentioned.
Discovery. The technical work was ordinary; finding out what actually talked to what was not. Two services were found only because they broke in a rehearsal. Budget for that phase honestly, or the schedule discovers it for you.
We run the platform: patching, backup verification, cost review each month, and the on-call rotation for the shared networking layer. The application teams own their own accounts.
Confidential, insurance
9 months
6 engineers
Migration
Replicate first, cut over last. RDS replication ran alongside the on-premises database for weeks, we rehearsed the cutover twice against production data in an isolated account, and the actual switch was a DNS change with the old system still warm behind it.
An insurer has teams that must not be able to touch each other's data. Separate accounts per environment and business domain, with Service Control Policies setting hard boundaries, means a mistake in one account cannot reach another. One account with careful IAM relies on nobody ever making that mistake.
Yes. Peering 30 VPCs pairwise is 435 connections and a routing table nobody can reason about. Transit Gateway made it one hub with route tables per segment, and the on-premises link attached in the same place.
Nine months end to end with six engineers, of which the first two were discovery and no migration at all. The estimate people usually want to hear is three months; on a regulated ledger it is not true.
Complete Amazon EKS cluster setup with advanced networking, security, and monitoring for a large-scale enterprise application serving millions of users.
Read itSix months building the AWS environment a BNPL lender is audited on: ECS Fargate in private subnets, Aurora PostgreSQL with read replicas, KMS envelope encryption and rotation, WAF and Shield at the edge.
Read itThirty minutes with an engineer, no slide deck. We will tell you what we would change first and what it would cost to have us do it.