EpiServer RemoteEvents in Azure Virtual Network

Vote:
 

Hi, we are migrating our episerver cluster (Epi CMS 10) from a on premise hosting to a cluster of virtual machines in Azure

I wonder if anyone has any input on the best way to set up Episerver Remote Event in such an environment.
The default implementation is UDP Multicast but this is not supported in Azure Virtual Networks.

We have 3 servers running, all acting both as CD (Content Deliverer) and has edit/admin mode enabled. So we need events to be broadcast to all servers when a content update on one server occurs to update the internal content cache and display the updated content on the other servers.

I used EPiServerRemoteEventsListener (http://world.episerver.com/PageFiles/84954/EPiServerRemoteEventsListener.zip althought this helper program seems a bit outdated and limited)
and using that I can send events between the different servers using either UDP Singlecast or tcp.net

I can see events raised by one of the episerver sites but they only contain
Raiser Id : 00000000-0000-0000-0000-000000000000
Also, they will not trigger a cache invalidation on the other servers, so if I publish something it will not trigger updates on the other servers

Thankful for any help
Best regards Fredrik

#227981
Sep 17, 2020 7:33
Vote:
 

Appearently using AzureService Bus for Event communication is the solution

#227996
Edited, Sep 17, 2020 12:03
Vote:
 

Hi Fredrik,

So basically setting up "on-premise" setup in Azure using VMs.

Have you looked at this Episerver support article: https://support.episerver.com/hc/en-us/articles/115004100443-Episerver-load-balancing-example-Configuring-events-over-WCF-with-TCP-IP

So basically in the AZ virtual network you would be using TCP/IP and WCF to send events from the servers to the other servers. That article has one editing server that sends events to the front-end servers but in your case each server should be sending events to the other servers as each can be editing server, so the config would be a bit different than in the example as each server needs to act as a 'client' and 'server'. We've used similiar setup in a on-premise setup where the UDP broadcast wasn't allowed in the environment.

Azure Service Bus is usually used in Azure App Service based setups (see the service bus part in creating resources): https://world.episerver.com/documentation/developer-guides/CMS/Deployment/deployment-scenarios/Deploying-to-Azure-webapps/#CreatingResources but I guess there is nothing preventing using service bus with VMs (I've not used because that extra resource is not needed as the eventing can be done with WCF and TCP).

#228016
Sep 17, 2020 16:44
Vote:
 

Thanks for the reply!

I used Azure Service Bus for event communication wich worked fine with VM's 

#228041
Sep 18, 2020 6:54
Stefan Holm Olsen - Sep 19, 2020 15:54
This is also the simplest way to do it in a cloud environment. UDP and TCP may work fine in a virtual network, but it is generally easier and safer to use a ServiceBus.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.