Co-hosting silos with ASP.NET core
Typically, an Orleans application is intended to run the core business functionality. Handling cross-cutting concerns, authentication, authorization, request throttling, and so on is not the primary responsibility of Orleans. So, it is recommended not to have direct interactions between external clients and Orleans silos. There should be a gateway before the Orleans application that routes the user requests. The Orleans application should not directly take the user requests.
Consider a traditional N-tier architecture as shown in the preceding figure. Each tier is physically separated and will mostly be running on different machines. Here, the service tier will be the interfacing layer to the business layer built in Orleans. The service layer takes the user requests coming from the presentation tier and processes them by interacting with the business tier built in Orleans. The...