VeUP
← All case studies
Lasken GmbH logo
Amazon EC2Amazon RDS (SQL Server)AWS CodePipelineAWS WAF
Migration & Modernization Competency · Healthcare Migration

Lasken Health

VeUP migrated Lasken GmbH’s German digital-health platform from customer-managed Windows/IIS virtual machines to a multi-account, Multi-AZ, Terraformed AWS estate in eu-central-1 (Frankfurt) in six weeks — replacing a single, unprotected production instance with a full Dev/Test/Prod software-delivery lifecycle, production high availability, a 58% lower three-year total cost of ownership, and a GDPR-aligned architecture for a platform handling EU patient data.

Business impact

58% lower TCO

3-year TCO: $297,135 capability-equivalent on-premises → $125,949 on AWS including migration (documented TCO analysis)

6 weeks

End-to-end delivery, Nov 4 – Dec 13, 2024; production go-live confirmed Jan 7, 2025

1 → 3 environments

From a production-only instance to isolated Dev, Test, and Prod accounts — a real SDLC

1 AZ → Multi-AZ

Production high availability across two Frankfurt Availability Zones

~10x faster releases

Manual deployments taking hours → automated CodeBuild/CodePipeline releases in minutes

None → minutes

Disaster recovery — RDS Multi-AZ synchronous standby plus automated backups deliver recovery objectives in minutes

The challenge

Lasken GmbH operates a digital platform for secure patient information sharing across healthcare providers in the EU. Because the platform processes personal health information, GDPR and EU health-data requirements — data residency, encryption, and controlled access — shaped every architectural decision.

The application was a classic three-tier stack built by an external agency: an Angular (TypeScript) single-page front end and ASP.NET (.NET 8 / C#) APIs on Windows Server with IIS, backed by Microsoft SQL Server 2022, running on three customer-managed virtual machines in a single production environment. There was no development or test path, so untested code deployed straight to a live healthcare platform; deployments were manual; and there was no high availability, no disaster recovery, and no infrastructure-as-code. Every release carried production risk. Lasken needed verifiable EU data sovereignty through in-region hosting, a real software-delivery lifecycle, production high availability, and a defensible, auditable architecture — and it needed to move off the agency’s hosting onto an AWS estate it could govern and scale itself.

The migration

VeUP delivered the migration as a six-week engagement (Nov 4 – Dec 13, 2024) structured on AWS’s migration methodology — Assess, Mobilize, and Migrate & Modernize — under a signed Statement of Work with formal delivery governance throughout: a Project Initiation Document, daily stand-ups, weekly status reporting to the client sponsor, risk and issue management, and formal change control.

Assess.The engagement began with a structured assessment of the existing application estate: systems analysis of the source environment, a detailed requirements document, and an AS-IS/TO-BE Architecture & Migration Strategy completed for client sign-off. The business case was quantified as a three-year total cost of ownership analysis comparing a full-capability on-premises equivalent — what the customer would have to build to achieve HA, DR, separate environments, and GDPR-grade security controls on its own — against the AWS target state.

Mobilize. Mobilization established the foundation before any workload moved: a multi-account structure in AWS Organizations with one management account plus dedicated Dev, Test, and Production accounts for environment isolation and consolidated billing, with the entire estate defined in Terraform from day one. The security baseline went in at the same layer — per-environment VPCs with public, private-application, and private-database subnet tiers, security groups chained by reference so each tier accepts traffic only from the tier in front of it, AWS WAF, IAM roles scoped to function, AWS KMS for encryption keys, and AWS Secrets Manager for secrets and certificates.

Migrate & Modernize. VeUP applied deliberate 7Rs dispositions per tier rather than a uniform lift-and-shift: replatform the web tier from Windows Server/IIS to Linux/Apache on Amazon EC2, eliminating Windows licensing on that tier entirely; rehost the ASP.NET (.NET 8) API tier onto Windows EC2 instances unchanged, preserving full application compatibility with zero code-change risk on a regulated workload; and replatform the database from self-managed SQL Server to Amazon RDS for SQL Server 2022, Multi-AZ in production, gaining managed failover, automated backups, point-in-time recovery, and encryption at rest for patient data. The on-premises SMTP relay was replaced with Amazon SES for transactional patient notifications. All three environments were built from Terraform, with AWS CodeBuild and AWS CodePipeline promoting releases from Git source control through Dev → Test → Production, and Amazon CloudWatch providing metrics, logs, and alarms across every environment.

Cutover and validation. The build ran as a greenfield parallel deployment: the existing production platform kept running throughout, which served as the standing rollback position. VeUP created and configured the RDS cluster by importing the database schemas and data structures; the production data cutover was executed on the customer side in line with the agreed plan, keeping the handling of live patient data with the data controller. Validation ran through unit testing, a client demonstration, and recorded walkthrough videos, followed by a one-week post-production support period. The project review completed on December 13, 2024, migration completed in December 2024, and the customer confirmed production go-live on January 7, 2025 — with the engagement continuing into a follow-on optimization phase.

Well-Architected posture

The target estate was designed against the six pillars of the AWS Well-Architected Framework. Operational excellence: every environment is reproducible from Terraform with remote state and state locking, releases promote through CodeBuild/CodePipeline, and CloudWatch provides metrics, logs, and alarms — with technical and operating documentation handed over at close. Security: defense in depth for patient data — AWS WAF managed rules at the edge, security groups chained by reference, private subnets for the API and database tiers, an RDS instance that is encrypted at rest and not publicly accessible, KMS key management, Secrets Manager, and account-level isolation under AWS Organizations. Reliability: production spans two Availability Zones, Auto Scaling groups replace unhealthy instances automatically, and RDS Multi-AZ provides synchronous standby failover with automated backups and point-in-time recovery. Performance efficiency: each tier runs in its own Auto Scaling group with launch templates, so capacity tracks demand rather than being fixed to provisioned VMs. Cost optimization: the Linux/Apache replatform eliminated Windows web-tier licensing, Dev and Test run single-AZ as a deliberate cost tradeoff, and a quarterly TCO refresh with a monthly cost review was established as the continuous-improvement mechanism. Sustainability:demand-tracking, right-sized capacity replaces permanently provisioned hardware.

Architecture

A three-tier design in the AWS Europe (Frankfurt) Region, eu-central-1, chosen for verifiable EU data residency: Amazon Route 53 to an internet-facing Application Load Balancer with AWS WAF attached, a Linux/Apache web tier in public subnets, an internal Network Load Balancer to the Windows/.NET API tier in private subnets, and Amazon RDS for SQL Server Multi-AZ in dedicated private database subnets — annotated against the AWS Well-Architected pillars.

Previous-state architecture: three customer-managed Windows Server/IIS virtual machines in a single production-only environment — Angular front end and ASP.NET (.NET 8) APIs on IIS with Microsoft SQL Server 2022, manual deployments, no Dev/Test environments, no high availability, no disaster recovery, and no infrastructure-as-code.
Previous state — a single production-only Windows/IIS estate: no Dev/Test path, no HA, no DR, manual deployments.
Animated layer-by-layer build-up of the target-state AWS architecture: multi-account foundation and per-environment VPCs, Linux/Apache web tier and Windows/.NET API tier in Auto Scaling groups, RDS for SQL Server Multi-AZ data layer, WAF/IAM/KMS/Secrets Manager security controls, then the CodeBuild/CodePipeline release path.
Layer-by-layer build-up — landing zone and networking, compute tiers, data layer, security controls, and the CI/CD release path.
Target-state AWS architecture in eu-central-1: AWS Organizations multi-account estate with Route 53, internet-facing ALB with AWS WAF, Linux/Apache web tier in public subnets, internal NLB to a Windows/.NET API tier in private subnets, Amazon RDS for SQL Server 2022 Multi-AZ in private database subnets, Amazon SES, CodeBuild/CodePipeline CI/CD, CloudWatch monitoring, and the whole estate defined in Terraform.
Target state on AWS — multi-account, Multi-AZ three-tier architecture in eu-central-1 (Frankfurt), fully defined in Terraform.
Lasken Health migration architecture — customer-managed Windows/IIS previous state vs. multi-account, Multi-AZ AWS target state in eu-central-1, annotated against the AWS Well-Architected Framework pillars
Full Well-Architected overview — previous state vs. AWS target state, annotated against the six pillars.

Outcomes

KPIResult
Total cost of ownership58% lower three-year TCO — $297,135 for a capability-equivalent on-premises estate → $125,949 on AWS including the migration (documented TCO analysis), with the migration investment paying back in roughly three months.
Environments & availability1 → 3 environments (production-only → isolated Dev/Test/Prod accounts); availability 1 AZ → 2-AZ Multi-AZ production high availability with Auto Scaling on both application tiers.
Release & provisioning speed~10x faster releases (manual deployment hours → automated CodeBuild/CodePipeline CI/CD in minutes); ~100x faster infrastructure provisioning (manual, weeks → Terraform, minutes).
Disaster recoveryNone → recovery objectives in minutes, via RDS Multi-AZ synchronous standby with automated backups and point-in-time recovery.
Licensing & compliance postureWindows web-tier licensing 100% eliminated by replatforming to Linux/Apache; GDPR-aligned-by-architecture in eu-central-1 (Frankfurt) with KMS encryption at rest, private-subnet isolation for the API and database tiers, security groups chained by reference, and AWS WAF on the public edge.
Engagement windowStatement of Work effective November 1, 2024; six-week delivery November 4 – December 13, 2024; project review completed December 13, 2024; migration completed December 2024; production go-live confirmed January 7, 2025.
Cost governanceA formal three-year TCO analysis underpinned the business case, comparing a full-capability on-premises equivalent against the AWS target state. A quarterly TCO refresh and monthly cost review were established as the continuous-improvement mechanism after go-live.
Modernization roadmapWithin a fixed six-week window, a rehost + replatform 7Rs mix delivered high availability, a real SDLC, and a materially lower total cost of ownership without a full refactor — containerization (ECS/EKS) and API re-architecture were deliberately deferred to a phased modernization roadmap. Terraform IaC across all three environments is the load-bearing control for GDPR auditability, and the engagement continued into a follow-on optimization phase.
AWS services in production

Amazon EC2 (+ Auto Scaling) · Amazon RDS for SQL Server 2022 (Multi-AZ) · Amazon VPC · Application Load Balancer + Network Load Balancer · Amazon Route 53 · AWS WAF · AWS IAM · AWS KMS · AWS Secrets Manager · Amazon SES · AWS CodeBuild · AWS CodePipeline · Amazon CloudWatch · Terraform