How a Global Enterprise Eliminated Critical Security Vulnerabilities and Achieved High Availability Across Its Entire Workload Estate

Client Name : A Finance Company

Industry : Financial Services

Business Challenge

This Company was hosting a business-critical ASP.NET application on a single Amazon EC2 Windows instance. The application faced frequent downtime whenever the instance was accidentally stopped, interrupted, or terminated. This lack of redundancy led to operational disruptions and financial risk due to unplanned outages.

Objective

The client aimed to achieve maximum uptime and eliminate the single point of failure in their Windows-based application deployment. Their goal was to ensure business continuity by implementing a highly available and resilient infrastructure.

Solution by Futran Solutions

Futran Solutions designed and deployed a high-availability setup using AWS native services. The Windows EC2 instance hosting the ASP.NET application was moved into an Auto Scaling Group with multiple availability zones. Amazon FSx for Windows File Server was mounted across instances to maintain shared storage. The backend database remained on Amazon Aurora MySQL, connected via standard connection strings. 

Key Workloads Involved

Windows Server 2019-based EC2 instances were used 

ASP.NET application was hosted on IIS 

Amazon FSx for Windows File Server was implemented 

Amazon S3 was used for static content 

Amazon Aurora MySQL (database) 

Architecture Overview

Fci2_icons.drawio

The solution consisted of an Auto Scaling Group of EC2 Windows Server instances running ASP.NET on IIS. Amazon FSx was mounted across all instances for consistent file storage. The application accessed Amazon Aurora MySQL via secure connection strings. This architecture ensured high availability and fault tolerance across availability zones.

AWS Services Used

  • Amazon EC2: Hosted Windows Server 2019 instances running ASP.NET applications. 
  • Amazon Aurora MySQL: Served as the backend database with multi-AZ deployment. 
  • Application Load Balancer: Distributed traffic across EC2 instances. 
  • Amazon CloudWatch: Monitored system performance and logs. 

Deployment Strategy

The solution was deployed across multiple Availability Zones within a single AWS Region. EC2 instances were placed in separate subnets in different AZs to ensure fault tolerance. Aurora was configured in multi-AZ mode to maintain data availability and durability. The architecture included VPCs with public and private subnets, NAT gateways, and security groups to control traffic. 

Scalability

The architecture supported automatic scaling using AWS Auto Scaling groups. EC2 instances scaled in and out based on CPU utilization and network throughput. The design ensured that the system could handle increased loads without manual intervention. 

High Availability

High availability was achieved through multi-AZ deployments of EC2 and Aurora. Elastic Load Balancer ensured traffic was routed to healthy instances. In case of failure, Auto Scaling replaced unhealthy instances, and Aurora performed automatic failovers. The architecture minimized downtime and ensured business continuity. 

Business Results - Outcome

  • Uptime Improved: 99.9% availability, cutting downtime to <9 hours/year. 
  • Aurora Failover: Database recovery in 30–60 seconds. 
  • Scalability: Auto Scaling reduced recovery time by ~85% (20 min → <3 min). 
  • Stability: FSx improved shared file access speed by ~40%.

Lessons Learned / Best Practices

  • Auto Scaling Groups eliminated single points of failure in Windows-based workloads. 
  • CloudWatch (or similar) monitoring and alerts helped detect abnormal instance behavior. 
  • FSx proved reliable for shared storage across Windows EC2s and simplified high availability design. 
  • High availability approaches like this should be adopted as standard for future Windows deployments.

Take Your Business to New Heights

Elevate your business with Futran Solutions' digital transformation. Contact us today to learn more.