Customers with their own Azure account can choose to host Grid nodes under their account. This offers significant savings to customers as Grid nodes are then billed at cost price to the customer. Hosted grid nodes are available on any of our hosted plans.

Creating an Azure account

In order to set up your first Grid Node on Microsoft Azure cloud, you first need to create a new Microsoft Azure account. 

Microsoft Azure offers a free 30-day trial period to all new account holders. Go to https://www.azure.com and click the green “Start free” button.

You’ll need to supply a valid credit card. There is no charge involved with the setting up of a trial account, however Microsoft will need a card to verify your identity.

High Level Architecture

The following diagram depicts high level architecture for Azure based Grid Nodes.

Customers control the scheduling of Grid Nodes from their browser within the Flood UI. Flood uses customer provided credentials that manage access to Azure resources using role-based access control (RBAC).

Grid Node provisioning is achieved using Azure virtual machine scale sets (VMSS) and virtual networks (VNET) which let Flood manage a group of identical Grid Nodes in the customer’s chosen region.

A Grid Node is provisioned as a Standard D4 v3 VM (4xCPU + 16GiB RAM) and depending on target region and number of instances, averages 3 – 5 minutes to reach a deployed state within Azure. Hosted customers can choose larger instance types depending on their tool requirements. Customers can also choose from different Azure based regions.

Role Based Access Control (RBAC)

To set up RBAC for your Azure account please use the Azure CLI and manage Azure Active Directory needed for Role Based Access Control. You will need to create service principal for your account, we suggest a name like flood-hosted  to differentiate flood related services from your other resources. 

az ad sp create-for-rbac --name flood-hosted --password MySeCreTPaSsw0rd

You should see the following response when creating a service principal.

{
  "appId": "abcd1234-aff4-4242-806f-1avgx035v2j27",
  "displayName": "flood-hosted",
  "name": "http://flood-hosted",
  "password": "MySeCreTPaSsw0rd",
  "tenant": "abcd1234-1052-4e3a-8f09-1jhgdv768hs9"
}

Take note of the appId , password  and tenant  values as you will need these when configuring Flood.

Next you will need to assign the Ownership  role to your service principal.

az role assignment create --assignee abcd1234-aff4-4242-806f-1avgx035v2j27 --role Owner

The assignee  should be the appId you copied earlier.

You should see the following response when assigning the Ownership role.

{
  "canDelegate": null,
  "id": "/subscriptions/76asy6sah-dbd9-4e75-b39a-23ks82hj2389/providers/Microsoft.Authorization/roleAssignments/ee741158-e798-4f3c-bcbb-9a9b9ee5a73a",
  "name": "ee782j19s-e798-4f3c-bcbb-9a9b9ee5a73a",
  "principalId": "abcd1234-aff4-4242-806f-1avgx035v2j27",
  "roleDefinitionId": "/subscriptions/76asy6sah-dbd9-4e75-b39a-23ks82hj2389/providers/Microsoft.Authorization/roleDefinitions/897asjc8s-a8ff-443c-a75c-2fe67sghd72ks9",
  "scope": "/subscriptions/76asy6sah-dbd9-4e75-b39a-23ks82hj2389",
  "type": "Microsoft.Authorization/roleAssignments"
}

Take not of the subscriptions  value which is 76asy6sah-dbd9-4e75-b39a-23ks82hj2389  in this example.

Configuring Flood

In your integrations page add an Azure credential, using the values you copied during RBAC creation above.

Launching Grids

You should now be able to launch hosted Grid Nodes in your Flood dashboard.

Did this answer your question?