1. Home
  2. FlexRule Server
  3. Installation
  4. Deploy a Distributed Masters and Agents Strategy in Azure

Deploy a Distributed Masters and Agents Strategy in Azure

◷ Reading Time: 5 minutes

FlexRule Server can be used with an Azure Load Balancer to support high-availability for requests from client applications.

Why use Multiple Master Nodes?

Using multiple Master Nodes in separate virtual machines in Azure is useful under certain conditions such as when a virtual machine is under heavy load or unavailable. In these conditions, traffic can be routed to other virtual machines.

In this strategy, the master nodes (virtual machines with FlexRule Server Master) sit behind a load balancer which handles routing of traffic between multiple master nodes. All master nodes connect to the same database, and therefore have access to the same pool of agent nodes they can use to execute services.

This is a simplified diagram of the most basic architecture which uses an Azure Load Balancer.

Configure a Load Balancer

1. Create a Load Balancer

4. Create an Availability Set

5. Create Virtual Machines

Use the instructions to Install FlexRule Server on Azure VM to create your virtual machines with some modifications to their configuration detailed below.

For the two Master Node virtual machines:

  • For Basics > Instance details > Availability options, choose Availability set.
  • For Basics > Instance details > Availability set, choose the Availability Set you have created previously.

You must create both the Master Node virtual machines in the same availability set. You will not be able to add them later through the Azure Portal GUI.

3. Create a Backend Pool

Navigate to [Your Load Balancer] > Settings > Backend pools > Add.

Add the two Master Node virtual machines you created and click Save.

6. Add Health Probes for each port

Navigate to [Your Load Balancer] > Settings > Health probes > Add.

Add a health probe for the Master API port and the Workbench port.

7. Add Load Balancing Rules for each port

Use the relevant health probe for the port you are adding the load balancing rule for.

8. Associate the database with the Virtual Network

Navigate to [Your FlexRule SQL Server] > Firewalls and virtual networks.

Click on + Add existing virtual network.

Create a virtual network rule by choosing the virtual network that contains your virtual machines.

9. Install FlexRule Server

You will need to install two masters and one agent:

  • frsmaster01 – FlexRule Server Master
  • frsmaster02 – FlexRule Server Master
  • frsagent01 – FlexRule Server Execution Agent

Use the instructions to Install FlexRule Server on Azure VM and then make the following changes in each virtual machine’s FlexRule Server configuration file.

Master Nodes

In each Master Node virtual machine open the FlexRule Server Master configuration file and change the WorkbenchAuth value to the Load Balancer’s Public IP (or DNS name label) followed by the port number for the Master API.

e.g. Open C:\Program Files (x86)\Pliant Framework\FlexRule Server\8.0.130\Master\FlexRule.Server.Master.dll.config

Agent Nodes

In each Agent Node virtual machine open the FlexRule Server Agent configuration file and change the MasterAddress value to the Load Balancer’s Public IP (or DNS name label) followed by the port number for the Master API.

e.g. Open C:\Program Files (x86)\Pliant Framework\FlexRule Server\8.0.130\ExecAgent\FlexRule.Server.ExecAgent.dll

You should now be able to use it’s Public IP address in order to make requests to Master nodes.

Updated on March 3, 2020

Was this article helpful?

Related Articles