Client to Silo communication not working, hosted on App Services Azure #8365
Replies: 5 comments 5 replies
-
Adding @btardif and @IEvangelist here, as there was a recent change in App Service on Windows that impacted our guidance on deploying Orleans Apps to App Service Windows. @btardif - if this change has been documented, can we get a link to the App Service post summarizing the Orleans-impacting networking change made recently? Also @IEvangelist - we should make a big "purple box" or something in the doc to call out guidance for folks who try this out on App Service Windows. The TL/DR here is that, post-this-change, App Services on the VNet must also be in separate App Service Plans, if running on App Service Windows. From your Bicep diagram above, it appears as though your App Services are running in the same App Service Plan, so, that means they'd be unable to communicate on those private ports until they're on separate App Service Plans. You could also change to App Service Linux, and this problem would be resolved. The issue is only resident on App Service for Windows, and at this time I don't have an update from the service team as to if there will be a change back to the old way of hosting Orleans apps prior to this networking change. |
Beta Was this translation helpful? Give feedback.
-
@seligj95 can you help here? |
Beta Was this translation helpful? Give feedback.
-
I do not think this would be an issue on ACA. |
Beta Was this translation helpful? Give feedback.
-
Following up with our networking team on the Windows App Service update ETA for this. Migrating to Linux App Service would be an immediate fix with minimal cost changes if that is feasible option. |
Beta Was this translation helpful? Give feedback.
-
As a quick summary until now, using Orleans 7.0.0+ is not working when hosting clients and silos in different apps wither by using Windows App Services as well as Linux App Services, using Container App Services seems to have additional limitations and challenges due to the limit of having only one exposed port per container app. Repositories to test with are: |
Beta Was this translation helpful? Give feedback.
-
Hello everyone,
I am creating an Orleans-based application using a community repository as a reference.
https://github.com/bradygaster/OrleansOnAzureAppService
That repository uses .NET 6.0 and Orleans 3.5
I have a similar setup but using Orleans 7.0 and .NET 7.0 instead.
![image](https://user-images.githubusercontent.com/128057161/229756496-8edf8f69-058b-4b80-b64f-feba70967836.png)
This is an image of the topology of the solution:
Most communication is already working, but the communication from the Client to Silo Server is not working.
The most important finding I have until now is that Using Orleans v3.5 ipAdress created in the Grain Membership Directory is using the vnet address but in version 7.0 it is using a public IP:
v3.5
![image](https://user-images.githubusercontent.com/128057161/229756929-17f2c1ea-a7b2-4822-85b6-13a919e72ab5.png)
v7.0
![image](https://user-images.githubusercontent.com/128057161/229757205-eeaa1136-6399-466b-aebd-0c1d86c0503e.png)
The error obtained is the following one:
I have been trying to use AdvertisedIPAddress but it does not work either.
This repository has the minimum setup to reproduce the issue using Orleans 7.1.1
https://github.com/rogeralvarez-tapkey/OrleansOnAzureAppService
I there any advice or suggestion you can help me with?
Beta Was this translation helpful? Give feedback.
All reactions