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…
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