[Proposal] Provide ASP.NET service providers written in Orleans
- Dominant language
- C#
- Stars
- 10.9k
- Forks
- 2.1k
- Avg merge
- 14h 42m
- Merged PRs (30d)
- 354
Description
[This is a work-in-progress and will evolve a bit]
The ASP.NET developer faces a myriad of challenges the moment their web apps are scaled horizontally. The addition of horizontally-scaled compute layers - hardware or PaaS-based layers - results in additional considerations. By distributing one's application across multiple layers, performance is increased, but so is complexity.
* Session state becomes harder to manage because one never knows which server they'll land on.
* Distributed caching providers.
* Distributed data protection issues (this is a stretch but, maybe Orleans could be appropriate here).
At the moment, we're investigating the idea of shipping a few default implementations of interfaces like `IDistributedCache` ([doc](https://docs.microsoft.com/aspnet/core/performance/caching/distributed?view=aspnetcore-6.0)) or to help with distributed session providers and/or Blazor session state management. Another common scenario is a custom SignalR backplane in which Azure SignalR Service isn't appropriate or an on-premise solution is needed.
## We'd like your input
We're confident there are other scenarios in which ASP.NET developers face issues the moment they enter into a distributed landscape or a cloud-native deployment scenario in which the compute layer could be transient, like a K8S pod. If you've experienced challenges once you scale your ASP.NET app out with these or other cases, we'd be interested in your thoughts, so leave a note down below.
Our goal is to ship, with the .NET 8.0 release, a set of providers for building distributed ASP.NET apps running on distributed compute layers built atop Orleans. So help us figure out which of these scenarios we should tackle in our first wave of including Orleans as a key ingredient to the ASP.NET stack.
Contributor guide
Research direction
No repository files or tests are named. Start with the listed ASP.NET interfaces and scenarios—IDistributedCache, distributed session and data protection, Blazor session state, and SignalR backplanes—and review the discussion for a chosen first-wave scope. Done would require an agreed provider set and implementation plan; this issue asks for input rather than a specific change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100