0
votes

I want to implement service fabric application (Guest Executable) in .Net which will be deployed on any single node of service fabric cluster. This service fabric application will open the python terminals on another single Azure virtual machine (IAAS, i.e Remote Azure Virtual machine ) which is not a part of service fabric cluster. After opening the terminals on remote Azure machine django application reads the command line parameter and performs some actions and send response back to service fabric application. The service fabric application then reads the response received from remote Azure machine and stores into the database. I am unable to establish communication between remote Azure virtual machine (IAAS) and service fabric application

Please help me to implement this.

Thanks

2

2 Answers

1
votes

When you create a new Service Fabric cluster from the portal, it automatically creates a Virtual Network (VNET) for that cluster. Your other VMs are probably in another VNET. The components in each VNET can communicate internally without problem (using private IP), but cross VNET connectivity requires configuration. Your options are (sorted by how easy they are to implement):

  1. Use the public IP address of the VM (it has one if you use the portal defaults) and call it from SF. It should work seamlessly unless there are special ports involved (I don't understand what "open the python terminals" means).
  2. Make both the SF, and the VM in the same network. You could either create the VM inside the VNET that SF has created for itself, or create the SF cluster in the VNET of your VM. This means that SF and the VM are dependent on the same infrastructure which sounds fine in this case where both are parts of the same logical application.
  3. Keep SF and VM in separate VNETs and link between them. I recommend trying VNET Peering for that: https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview . But another possibility is a VPN connection.
0
votes

Read this about communication. There are several options, the ones I most often use are:

  1. Host a Web Api in SF and talk to it from the VM.
  2. Use Azure Service Bus; send messages from the VM, receive them inside a SF service.