Legacy System Modernisation: Scaling Microsoft Teams Integration Platforms
Challenge: A widely-used UCaaS integration tool suffered from severe performance degradation and single-point-of-failure bottlenecks. The .NET 6 application could not scale horizontally, causing message drops and delays during peak business hours.
Solution: Re-architected the Bot Framework engine to support stateless, horizontal scaling in RedHat OpenShift/Kubernetes. Migrated the backend from .NET 6 to .NET 8, updated the React frontend, and introduced robust containerized CI/CD pipelines in GitLab.
Outcome: Eliminated bottlenecks, allowing the service to support 10x concurrent users. Reduced deployment lifecycle times from hours to 5 minutes with zero-downtime rolling updates.
Project Overview
The integration service links legacy PBX telephone lines with Microsoft Teams client apps. To support enterprise-scale clients, the application architecture needed a major overhaul.
Engineering Approach
- Stateless Re-Architecting: Modified the bot session tracker to store session states in a shared Redis cache instead of in-memory, enabling pods to scale out dynamically.
- Framework Modernization: Upgraded the entire codebase to .NET 8, yielding an immediate 20% improvement in CPU efficiency and garbage collection times.
- Automated Helm Deployments: Package application code into standardized Helm charts, automating secret management, ingress routing, and health checks across staging and production clusters.
Results
The modernized app handles over 10,000 concurrent active calls with zero delays. Continuous integration pipelines validate each commit, checking for code quality and security vulnerabilities automatically.
