Webskyne
Webskyne
LOGIN
← Back to journal

7 June 20267 min read

Enterprise Cloud Migration: Scaling to 2M+ Users on AWS Infrastructure

How Webskyne transformed a legacy on-premises architecture into a modern, scalable AWS deployment supporting 2 million+ active users while reducing infrastructure costs by 42% and improving system reliability to 99.98%. This case study details the strategic approach, technical implementation, and lessons learned during a complex 18-month migration spanning multiple service domains and deployment pipelines.

Case StudyAWSCloud MigrationMicroservicesDevOpsFinTechScalabilityInfrastructureTerraform
Enterprise Cloud Migration: Scaling to 2M+ Users on AWS Infrastructure

Overview

In 2024, Webskyne partnered with a leading fintech platform to execute a comprehensive cloud migration from legacy on-premises infrastructure to AWS. The client, serving over 2 million active users across Southeast Asia, faced mounting scalability challenges as their monolithic architecture struggled to handle peak transaction loads exceeding 50,000 concurrent users. With regulatory compliance requirements tightening and user expectations for instant transaction processing rising, the organization needed a modern, resilient infrastructure that could scale horizontally while maintaining strict security standards.

The migration project represented one of our most ambitious undertakings: consolidating 15 years of legacy systems, migrating 2.3TB of transactional data, and transitioning critical payment processing services with zero downtime. The scope encompassed rearchitecting the core platform into microservices, implementing event-driven workflows for real-time notifications, and establishing a robust CI/CD pipeline for continuous deployment across multiple AWS regions.

Our approach combined a phased migration strategy with blue-green deployment patterns, allowing for gradual transition while maintaining operational excellence. The project required deep collaboration between our cloud architects, DevOps engineers, and security specialists to ensure compliance with PCI-DSS, ISO 27001, and regional financial regulations throughout the transition.

Cloud infrastructure visualization

Challenge

The client's legacy infrastructure presented several critical challenges that necessitated the migration. Their primary database, running on aging Oracle servers, was experiencing performance degradation during peak hours, with query response times exceeding 5 seconds for 15% of transactions. The monolithic application architecture meant that scaling any component required scaling the entire stack, resulting in inefficient resource utilization and increased costs.

Security vulnerabilities had been identified during routine audits, particularly around data encryption at rest and in transit. The on-premises setup lacked the redundancy necessary for high availability, with single points of failure in their load balancer and primary application servers. Disaster recovery procedures were manual and time-consuming, requiring 4-6 hours to restore full service in a failure scenario.

Development velocity had slowed significantly due to the rigid deployment process, which required coordinated downtime windows every two weeks for releases. This bottleneck prevented the product team from responding quickly to market demands and iterating on user feedback. Additionally, integrating with modern payment gateways and third-party services proved increasingly difficult due to outdated API frameworks and deprecated libraries.

Goals

The project established four primary objectives that guided every decision throughout the 18-month engagement. First, achieve 99.98% system availability with automated failover capabilities across multiple AWS regions, reducing mean time to recovery from hours to under 5 minutes. Second, reduce infrastructure costs by at least 35% while providing 10x the current compute capacity to handle projected user growth.

Third, implement a microservices architecture that would enable independent scaling of at least 12 service domains including user management, transaction processing, notification systems, and analytics. Finally, establish a fully automated CI/CD pipeline capable of deploying updates to any service with zero downtime and rollback capabilities within 60 seconds.

Performance benchmarks were set at sub-200ms response times for 95% of API calls, with transaction processing throughput of at least 10,000 requests per second during peak loads. Security goals included achieving SOC 2 Type II compliance, implementing zero-trust network architecture, and establishing automated security scanning within the deployment pipeline.

Approach

Our methodology centered on the Strangler Fig pattern, gradually replacing legacy components with cloud-native services while maintaining operational continuity. We began with a comprehensive audit of all 47 existing services, categorizing them into four migration waves based on criticality, complexity, and dependencies.

The infrastructure design leveraged AWS Well-Architected Framework principles, implementing containerized microservices using ECS with Fargate for compute, Aurora PostgreSQL for transactional data, and DynamoDB for session state. EventBridge and SQS formed the backbone of our asynchronous processing architecture, enabling decoupled service communication and improved fault tolerance.

Data migration employed a dual-running approach during the transition period, with a custom-built change data capture system tracking modifications in real-time. We implemented Terraform-based infrastructure as code with automated testing environments spun up for each pull request, ensuring infrastructure changes could be validated before production deployment.

Implementation

The implementation unfolded across six distinct phases over 18 months. Phase 1 focused on establishing the foundational infrastructure: VPC configuration with public and private subnets across three availability zones, implementing security groups and NACLs following zero-trust principles, and setting up centralized logging with CloudWatch and security monitoring via GuardDuty.

Phase 2 involved migrating user authentication and profile services. We implemented Cognito for identity management with Lambda triggers for custom business logic, enabling multi-factor authentication and adaptive authentication policies. The user service transitioned from a single Oracle instance to a multi-AZ Aurora cluster with read replicas for improved performance.

Phase 3 tackled the core transaction processing system. We architected an event-sourced model using EventBridge to capture all state changes, with Step Functions orchestrating complex multi-step transaction workflows. Payment processing integrated with Stripe and local payment providers through a unified adapter pattern, with all sensitive data encrypted using AWS KMS with customer-managed keys.

The final phases addressed notification systems, analytics pipelines, and administrative interfaces. We implemented a real-time notification service using WebSocket APIs backed by DynamoDB for connection state, and built an analytics data lake using Kinesis Data Streams feeding into Redshift for business intelligence reporting.

Results

Upon completion, the migration delivered substantial improvements across all key metrics. System availability increased from 99.2% to 99.98%, with automated failover successfully tested during three planned maintenance windows and one unplanned regional outage. User-facing response times improved by 85%, with 95th percentile API response dropping from 2.3 seconds to 180 milliseconds.

Infrastructure costs decreased by 42% compared to the previous year, while compute capacity expanded significantly. The auto-scaling configuration now handles peak loads exceeding 80,000 concurrent users without performance degradation. Database query performance improved by 92%, with 99th percentile transaction processing times under 500 milliseconds.

Development velocity increased dramatically with the new CI/CD pipeline. Deployment frequency rose from bi-weekly releases to an average of 15 daily deployments, with rollback capability consistently achieving recovery within 45 seconds. The microservices architecture enabled teams to deploy independently, reducing cross-team coordination overhead by 60%.

Metrics

  • Infrastructure cost reduction: 42%
  • System availability: 99.98%
  • API response time improvement: 85%
  • Deployment frequency: 15/day (up from 1/2 weeks)
  • Database performance: 92% faster queries
  • Mean time to recovery: 3.2 minutes
  • User capacity: 80,000 concurrent (up from 50,000)
  • Security compliance: Achieved SOC 2 Type II

Lessons Learned

Several key insights emerged during this complex migration. First, investing in comprehensive observability early pays dividends throughout the project. Our implementation of distributed tracing with X-Ray and custom CloudWatch dashboards enabled rapid debugging when issues arose during the dual-running phase.

Second, the importance of maintaining psychological safety within legacy system teams became evident. Including original developers in the migration process, rather than treating the legacy systems as purely technical debt to be eliminated, preserved institutional knowledge that proved invaluable for edge case scenarios.

Third, regulatory compliance cannot be retrofitted into cloud architectures. Early engagement with compliance stakeholders and iterative validation against requirements prevented costly rework in later phases. The automated compliance checking within our deployment pipeline now serves as a template for future projects.

Finally, the technical debt accumulated during hasty initial migrations can compound over time. Building in refactoring time during the migration process, rather than treating it as purely a lift-and-shift operation, resulted in cleaner, more maintainable systems that will serve the client well beyond the initial project scope.

Related Posts

Manufacturing 4.0: How PrecisionTech Transformed Legacy Operations into a Smart Factory Ecosystem
Case Study

Manufacturing 4.0: How PrecisionTech Transformed Legacy Operations into a Smart Factory Ecosystem

PrecisionTech, a century-old manufacturing company with 2,500 employees across three continents, faced declining margins and quality issues in 2024. The leadership team embarked on an ambitious digital transformation journey, migrating from legacy ERP systems to a fully integrated smart factory ecosystem powered by IoT sensors, predictive analytics, and autonomous quality control systems. Over 18 months, the company achieved a 34% increase in production efficiency, reduced defect rates by 67%, and saved $2.3M annually in operational costs. This case study explores the technical challenges, strategic decisions, and implementation framework that enabled this remarkable transformation, providing insights for manufacturing leaders seeking similar modernization.

Modernizing Legacy Systems: A Complete Cloud Migration and Digital Transformation Journey
Case Study

Modernizing Legacy Systems: A Complete Cloud Migration and Digital Transformation Journey

When a mid-market retail chain approached us with aging monolithic systems and spiraling maintenance costs, we orchestrated a comprehensive digital transformation. This case study details our 18-month journey migrating 15 legacy applications to a microservices architecture on AWS, reducing infrastructure costs by 65% while improving system reliability and enabling rapid feature deployment. From initial assessment through production rollout, we explore the strategic decisions, technical challenges, and measurable results that transformed their business operations.

Modernizing Legacy Retail Infrastructure: A Complete Migration from Monolith to Cloud-Native Microservices
Case Study

Modernizing Legacy Retail Infrastructure: A Complete Migration from Monolith to Cloud-Native Microservices

A mid-sized retail company with 40+ physical stores faced critical performance bottlenecks and scaling issues with their decade-old monolithic e-commerce platform. This case study explores how we architected and executed a seamless migration to a cloud-native microservices architecture using Next.js, Flutter, and AWS, resulting in 85% faster page loads, 99.95% uptime, and the ability to scale to 10x peak traffic. We detail the technical challenges, our phased approach, implementation strategies, and key lessons learned from this six-month transformation.