← Back to list

Modernising a Legacy .NET

When a major banking and insurance enterprise migrated its large .NET estate to AWS under a strict data‑centre exit mandate, the move…

Ligesh Koshy · 2026-04-12 03:23 · 0 claps · 2.1 min read
#cloud-modernization #aws-architecture #dotnet-migration #enterprise-transformation #strangler-fig-pattern
Open on Medium ↗
Wiki topics: ECO · Economy · General ☁️ · DevOps & Cloud 🏛️ · Architecture

Modernising a Legacy .NET Platform on AWS: A Practical Case Study in Incremental Cloud Transformation

When a major banking and insurance enterprise migrated its large .NET estate to AWS under a strict data‑centre exit mandate, the move succeeded on paper — dozens of IIS‑based .NET Framework applications and SQL Server databases were rehosted onto Windows EC2 instances. But the architecture that arrived in the cloud looked exactly like the one that had existed on‑premises.

The migration met the deadline, but not the promise of cloud transformation.

What We Found After the Lift‑and‑Shift

Legacy patterns recreated in AWS

  • One application per EC2 instance
  • Fixed capacity (two instances per AZ)
  • Active–passive failover copied from on‑premises
  • SQL Server licensing multiplied across environments

Operational overhead unchanged

  • Windows patching and server lifecycle management
  • IIS configuration drift
  • RDP‑based troubleshooting
  • Manual certificate renewals
  • No centralised logging or observability

Cloud benefits missing

  • No horizontal scaling
  • Tight UI–backend coupling
  • Static infrastructure with no elasticity
  • Inconsistent SSO and identity integration

The organisation had moved to AWS, but not into cloud‑native architecture.

The Assessment: A Cloud Maturity Gap

A structured review across VPC design, identity (Ping), CI/CD, observability, and application coupling revealed a clear pattern: the problem wasn’t AWS or tooling — it was architectural maturity. A full rewrite was impossible due to regulatory and continuity constraints, so we designed a strangler‑fig modernisation strategy to evolve the platform safely and incrementally.

The Modernisation Strategy

1. Application Discovery and Classification

We categorised applications by business criticality, UI stack (Razor, AngularJS, jQuery), backend coupling, and data dependencies (SQL Server, Oracle, external pipelines). This created a clear sequencing model for transformation.

2. Engineering Proof of Concepts

Targeted POCs validated feasibility:

  • .NET Framework → .NET Core migration using AI‑assisted development
  • UI modernisation (Razor/jQuery → React)
  • Containerisation of IIS workloads
  • Separation of stateful vs stateless components

These POCs reduced risk and built engineering confidence.

3. Hybrid Runtime Architecture: ECS + EKS

A dual‑platform model balanced speed and long‑term strategy.

ECS for minimal‑change workloads

  • Business‑critical systems
  • Isolation‑heavy applications
  • Lower operational overhead

EKS for modernised workloads

  • React frontends
  • .NET Core microservices
  • Shared domain services

Integrations included: Amazon RDS (with a future PostgreSQL path), external Oracle systems, and Ab Initio pipelines via REST APIs.

4. CI/CD and Infrastructure Automation

Two pipeline layers were introduced:

  • Infrastructure pipelines for EKS clusters, ECS services, networking, IAM, and security baselines
  • Application pipelines for build, test, container image creation, and deployment

This eliminated manual deployments and reduced environment drift.

5. Strangler‑Fig Execution

Modernisation progressed in phases:

Phase 1: React UI adoption, API gateway separation, Backend extraction into containers, and reduced IIS dependency, CI/CD pipelines

Phase 3 (Planned): SQL Server → PostgreSQL migration, Ab Initio optimisation, full-service decoupling

Legacy and modern components coexisted safely throughout.

Outcomes

Technical and Operational Gains

  • Reduced legacy dependencies
  • Automated deployments
  • Centralised observability
  • Clear separation of UI, API, and backend services
  • Hybrid ECS/EKS platform established

Cost and Efficiency Improvements

  • Reduced over‑provisioning
  • Opportunities for compute optimisation
  • Pathway to lower licensing costs via in-house AWS solutions, reducing external services, and PostgreSQL-like data migrations

Strategic Impact

  • Cloud‑native design principles embedded
  • Roadmap toward microservices
  • Stronger security and governance posture
  • Increased engineering velocity

The Core Lesson

Cloud transformation doesn’t happen when you move applications — it happens when you evolve architecture. By modernising incrementally, this organisation unlocked AWS capabilities safely, reduced risk, and built a sustainable path toward a cloud‑native future.

Next Steps:

Portfolio Project: ECS + Fargate — AWS


메타데이터
post_id
6c751aaf7d2a
slug
modernising-a-legacy-net-6c751aaf7d2a
url
https://medium.com/@ligeshkoshy/modernising-a-legacy-net-6c751aaf7d2a
canonical_url
https://medium.com/@ligeshkoshy/modernising-a-legacy-net-6c751aaf7d2a
author_url
https://medium.com/@ligeshkoshy
status
ok
fetched_at
2026-07-15 09:55:02