↓ Background
Future-Proof Your Web App: Upgrade .NET Framework to .NET 9 Serverless & Angular 18

A financial services company faced significant challenges with its legacy .NET Framework-based web application, which was hosted on Azure Virtual Machines (VMs). The system suffered from performance bottlenecks, high operational costs, and limited scalability. To modernize their infrastructure and future-proof their application, they migrated to a serverless architecture using Azure Functions (.NET 9) and an Angular 18 front-end. This transition not only reduced costs but also enhanced system performance, security, and scalability.
Challenges in the Existing Infrastructure
- Monolithic Architecture Leading to Scalability Issues
- High Operational Costs Due to VM-Based Hosting
- Outdated .NET Framework Codebase
Proposed Serverless Solution
To overcome these challenges, we implemented a serverless-first approach leveraging Azure Functions (.NET 9) for backend services and Angular 18 for the frontend UI.
Serverless Migration with Azure Functions (.NET 9)
- Microservices-based FaaS – The monolithic backend was broken into microservices using Azure Functions.
- Event-driven execution – Functions only execute when triggered, reducing idle compute time and costs.
- Durable Functions – Used for long-running workflows like guest check-in automation and payment processing.
Replacing Windows Task Scheduler with Serverless Job Execution
- Azure Functions Timer & Queue Triggers replaced Windows Task Scheduler for job execution.
- Auto-scaling capabilities ensured high availability during traffic spikes.
- Azure Storage Queues & Service Bus were implemented for reliable, event-driven job processing.
Cold Start Optimization
- Azure Premium Plan enabled always-on instances, reducing cold start latency.
- Pre-warming strategies using HTTP warm-up triggers kept key functions active.
Database Optimization for a Stateless Serverless Model
- Implemented connection pooling using Azure SQL Managed Identity for secure and efficient database access.
- Azure Cache for Redis was added to store frequently accessed data, reducing database query loads.
Frontend Modernization with Angular 18
- Implemented Angular Universal (SSR) to improve SEO and page load times.
- Used Progressive Web App (PWA) features for offline access & enhanced user experience.
- NgRx state management ensured efficient data flow between frontend & backend.
Improved Monitoring & Observability
- Azure Application Insights provided real-time performance monitoring.
- Azure Log Analytics & Distributed Tracing enabled better debugging and error tracking.
- Automated alerts helped detect and resolve anomalies before impacting users.
Results & Business Impact
Migrating to Azure Functions and Queues boosted job processing speed by 50%, while switching to a serverless model cut infrastructure costs by 60%. The system scaled instantly during peak booking seasons, and modern authentication (Azure AD B2C) strengthened security. Real-time monitoring reduced downtime by 40%, and a microservices-based architecture accelerated CI/CD deployments.