Learn how vFunction helped a leading HR technology company modernize its Windows-based .NET platform and transition to scalable, containerized services on AWS.
Overview
A global hiring platform supporting enterprises and public-sector organizations had grown into a complex distributed system.
- 60+ application services
- 20+ supporting databases
- Windows-based deployment on Amazon EC2
Built largely on .NET with C#, the platform ran on fleets of Amazon Elastic Compute Cloud (EC2) Windows servers backed by Amazon Relational Database Service (RDS) for SQL Server across multiple AWS regions. To improve scalability, reduce costs, and support compliance goals, the team launched a modernization initiative to transition to containerized services on Amazon Elastic Kubernetes Service (EKS) and to use PostgreSQL-compatible databases.
A platform under pressure
The organization faced several challenges with its legacy Windows and SQL Server stack:
FedRAMP compliance
Legacy Windows infrastructure created a more complex path to certification compared with hardened Linux containers.
Cost and scalability
Scaling EC2 Windows environments and licensed SQL Server databases was becoming increasingly expensive.
Deployment velocity
The monolithic architecture limited the ability for teams to independently deploy or scale services.
The challenge was not simply migrating infrastructure. It was understanding how to evolve a complex application architecture.
Visualization of the platform’s service architecture, showing the dense dependencies surrounding the core service prior to modernization.
Modernization in three phases
To tackle the modernization effort, the company partnered with system integrator Evolve Cloud Services and engaged vFunction to guide the transformation to cloud-native services in three phases:
Phase 1: Architectural assessment and planning
Through AWS-funded Modernization Viability Assessments (MVAs), the team used vFunction to gain a clear view of the application architecture, enabling them to define a practical modernization path.
The analysis surfaced Windows-specific libraries and tightly coupled synchronous communication patterns. The vFunction interactive studio helped map the platform’s 60+ services to a target architecture based on Linux containers on Amazon EKS with PostgreSQL-compatible databases.
Phase 2: Refactoring .NET services for containers
Using insights from the architectural analysis, the team incrementally evolved the application layer. Synchronous calls were replaced with asynchronous patterns, and Windows-based .NET services were converted into containerized .NET services running on Linux.
Phase 3: Database migration
The final phase focused on modernizing the data layer to reduce licensing costs and improve scalability. Databases were migrated from Amazon RDS for SQL Server to Amazon Aurora PostgreSQL, with coordinated engineering efforts enabling migration of development environments in roughly 90 days.
A modern platform for talent acquisition
By combining vFunction’s architectural insights and modernization plan with Evolve Cloud’s implementation expertise, we delivered measurable improvements. Key outcomes:
30–40% reduction in infrastructure costs: Moving away from Windows-based EC2 environments significantly lowered compute and licensing expenses.
Projected 50% reduction in database costs: Migrating from SQL Server to PostgreSQL-compatible databases reduced reliance on high licensing fees.
FedRAMP certification achieved: The modernized platform successfully met FedRAMP requirements for deployment in AWS GovCloud, enabling the company to support regulated public-sector workloads.
Improved scalability and platform flexibility: Containerized services can now scale independently, while the new database architecture supports up to 3x more read replicas.
The team is now exploring further cost and performance optimizations, including testing AWS Graviton (ARM64) processors for containerized workloads. These improvements establish a scalable, compliant foundation for continued innovation in data-driven hiring.