Microsoft has moved Teams backend service to .NET 6 - the performance results
September last year, Microsoft announced that a large number of backend services would be migrated to .NET 6. This, they said, was an enterprise-wide initiative.
Now, about half a year later, Microsoft delivers in a very detailed blog post that their expectations in performance, efficiency and scalability have been far exceeded by .NET 6. What was migrated was a permission service that still has its origins from the time of Skype from 2013.
- The performance advantage has been reduced by 50%: it is now 100%.
- The latency could even be reduced by 45%.
The migration was not entirely trivial. About 2 weeks were invested in the analysis of the necessary steps alone:
- Updating all projects to the new .NET SDK format
- Modernization of the entire code base (Host Builders, with Dependency Injection, ILogger and IOptions Pattern...)
- Replacing blocking dependencies with .NET 6 alternatives.
- Migration to Kestrel and ASP.NET Core 6
- Updating CI/CD
The very detailed blogpost incl. performance analysis and insight into Teams' teamwork at Microsoft Teams' Permission Service migration to .NET 6