Azure Files
Overview
Azure Files is a cloud-based service that provides a file storage backing service for WorkflowGen instances that are hosted on Azure cloud or on-premise via a file share using the standard SMB protocol. This service provides different great options for data access, sharing, synchronization, and redundancy for use in single or multiple WorkflowGen instance scenarios.
For more information about Azure File benefits or use cases, refer to Microsoft's Introduction to Azure Files guide.
The following section provides recommendations and instructions on how to configure an Azure Files share to use in WorkflowGen.
Recommendations
Before choosing Azure Files as your primary file storage backing service for your WorkflowGen, there are a few performance configuration scenarios to consider for your data storage:
In a WorkflowGen single instance configuration
Hosted on an Azure Virtual Machine:
For best performance, use an SSD-grade local disk.
For good performance, use an Azure Files share in the same region.
Hosted on-premise:
For best performance, use an SSD-grade local disk.
For basic performance, use an Azure Files share in the region closest to your server for the lowest latency.
In a WorkflowGen web farm configuration
Hosted on an Azure Virtual Machine:
For best performance, use a file share from a file server backed by SSD-grade storage. ✏️ Note: One of the WorkflowGen web servers or a dedicated virtual machine can act as the file server role.
For good performance, use an Azure Files share in the same region.
Hosted on-premise:
For best performance, use a file share from a file server backed by SSD-grade storage. ✏️ Note: One of the WorkflowGen web servers or a dedicated server can act as the file server role.
For basic performance, use an Azure Files share in the region closest to your server for the lowest latency.
Configuring Azure Files for WorkflowGen
Prerequisites
Make sure to have a working WorkflowGen instance with internet access.
Make sure to know the address of the instance.
TCP port
445
must be open for outbound from the instance.Windows PowerShell version 5.1 or later is required on the instance for one of the steps of the configuration.
An active Azure subscription.
You must have permissions to make changes in Windows of the WorkflowGen instance, e.g. Administrator privileges.
You must have permissions to make changes to the Storage accounts service in the Azure portal.
Step 1: Create a storage account in Azure
Via the Azure Portal
In the Azure portal, choose the Storage accounts service.
Add a new storage account.
Enter a name.
✏️ Note: The
wfgendatastorage
storage name will be used as an example throughout this section.Account kind: Choose Storage (general-purpose v1) or StorageV2 (general-purpose v2).
Location: Choose a location in the same region as your Azure Virtual machine, or the closest to your on-premise location.
Performance: Choose Standard.
Choose your subscription.
Create a new resource group.
✏️ Note: The
wfgenresourcegroup
resource group name will be used as an example throughout this section.You can leave the rest of the settings set to their default values or you can customize them according to your needs.
Click Create.
For more information about storage accounts, see About Azure storage accounts.
Via the Azure CLI
To create a storage account via the Azure CLI, first sign in to your Azure account with Azure CLI.
The following script creates a storage account in Azure. The resource group name variable ($resourceGroup
) and storage account variable ($storageAccount
) should be updated.
Step 2: Create a file share in Azure
Via the Azure Portal
In the Storage accounts service, choose wfgendatastorage.
In the Overview or the FILE SERVICE section, choose Files.
Add a new File share.
Enter a name.
✏️ Note: The
wfgenshare
storage name will be used as an example throughout this section.Enter a quota according to your needs.
Click OK.
For more information about file share, see Create a file share in Azure Files.
Via the Azure CLI
To create a file share via the Azure CLI, first sign in to your Azure account with Azure CLI.
The following script creates a file share in Azure. The storage account variable ($storageAccount
) and file share variable ($share
) should be updated.
Step 3: Mount the file share in the WorkflowGen web server
Log in to your WorkflowGen instance with your Administrator account.
Open an instance of Windows PowerShell 5.1 as Administrator.
Test TCP port
445
for outbound by running the following command in PowerShell:✏️ Note: Remember to replace
wfgendatastorage
in the above instructions with your storage account name.If the test result is successful, proceed to the next step. Otherwise, contact your network administrator to open TCP port
445
for outbound.Install or update the Azure PowerShell module in PowerShell:
For more information, see Install Azure PowerShell Module on Windows with PowerShellGet.
In the Windows Computer Management console, create a local user as the service account that will be used for the WorkflowGen IIS application pool:
Enter a new username and password.
✏️ Note: The
wfgen_service
username will be used as an example throughout this section.Check User cannot change password.
Check Password never expires.
Click Create.
Assign the
wfgen_service
user to theIIS_IUSRS
group.Assign the user to the
Remote Desktop Users
group if the instance is a remote server.
Log in to your WorkflowGen instance with the
wfgen_service
account.Open an instance of Windows PowerShell 5.1 as Administrator.
Log in to your Microsoft Azure account in PowerShell:
If you encounter any security issues with the Microsoft Azure sign-in process, then you must manually add
https://login.microsoftonline.com/
and the URIs of all related websites to the Trusted sites zone in Internet Explorer's Internet Options.In the Microsoft Azure window, sign in to the Azure account that you used to create your storage account.
If you've successfully signed in to your Azure account, PowerShell will display the following information:
Persist the Azure Files share credential in Windows for the
wfgen_service
account in PowerShell:✏️ Note: Remember to replace
wfgendatastorage
andwfgenresourcegroup
in the above instructions with yourstorage account
andresource group
names.The credential needs to be persisted for the
wfgen_service
account in the event of a Windows server restart.If the credential is successfully stored then you should see the following message:
Verify if the credential has been stored for the storage account in PowerShell:
If successful, you should then see:
Test the Azure Files share in the Windows File Explorer.
✏️ Note: Remember to replace
wfgendatastorage
andwfgenshare
in the above instructions with yourstorage account
andfile share
names.
For more information about file share in Windows, see Use an Azure file share with Windows.
Step 4: Configure WorkflowGen to use the file share
Log in to your WorkflowGen instance with your administration account.
Open the Internet Information Services (IIS) manager console.
Change your WorkflowGen application pool to use the custom
wfgen_service
account with the following settings:Identity:
wfgen_service
Load User Profile:
True
Save the changes, then restart IIS.
Log in to your WorkflowGen instance with the
wfgen_service
account.Copy all the existing WorkflowGen files to the Azure Files share in PowerShell:
✏️ Note: Remember to replace
C:\inetpub\wwwroot\wfgen\App_Data
,wfgendatastorage
, andwfgenshare
in the above instructions with your WorkflowGen instance'sapp_data
folder,storage account
, andfile share
names.Update the WorkflowGen web configuration file:
✏️ Note: Remember to replace
wfgendatastorage
andwfgenshare
in the above instructions with yourstorage account
andfile share
names.Open the WorkflowGen Administration Module or User Portal, then run a new request test.
Appendix: Viewing Azure Files share content
Use one of the following methods:
In your Azure portal storage account:
Use the Storage Explorer (preview) tool.
or
Browse the
wfgenshare
file share under the Files section.
OR
Mount the file share
wfgenshare
in Windows. To do this:Navigate to the
wfgenshare
file share under the Files section.Click Connect to display a tab with connection instructions.
For example, to mount the file share to the
Z
drive from the WorkflowGen instance's administration account, run the following instructions provided by the Connect tab in PowerShell:✏️ Note: Remember to replace the
key
string assigned to$acctKey
,wfgendatastorage
, andwfgenshare
in the above instructions with one of your storage account'sAccess keys
,storage account
, andfile share
names.
You should now be able to browse the content of the Z
drive in the Windows File Explorer.
If you encounter any issues, see the Troubleshoot Azure Files problems in Windows Microsoft documentation.