[This article applies to QLM v11 and earlier. if you are using QLM v12, refer to this article instead.]
You can host the QLM License Server on a Windows Azure portal. The procedure outlined in this section will show you how to build a QLM Azure deployment package, how to create the database on the Azure Portal and finally how to connect QLM to the Azure hosted QLM License Server.
1. Database Creation
To create the QLM database on the Azure portal:
Go to the Windows Azure Portal.
Select SQL Databases.
Click on the Add.
Set the database name to: qlm
Pick the Subscription, and Resource Group server of your choice.
Set the Select Source field to "Blank database"
Select an existing Server or create a New Server
Select whether you want to use a SQL Elastic pool
Select a Pricing tier
Use the default Collation
Click Create
2. Server settings
If you selected to create a new SQL database server on the previous step, you need to configure a user account on the SQL Server.
In the Server name field, enter a name of your choice. Example: qlm-server
In the Server admin login field, enter a name of your choice. Example: qlm_admin
In the password and confirm password fields, enter a new password
Select a Location
Click Select
3. Configure the database
Now that the database is created, we need to create the tables and stored procedures. Follow the steps below:
Click on the QLM database in the list
Click Tools
Click Query Editor
Click login and enter your credentials
Click Open Query and select: %Public%\Documents\Quick License Manager\DeployToAzure\Db\qlm.createtables.sql
Click on Run to execute the query
Repeat these two steps for the following files, in the exact order listed here: InstallCommon.sql, InstallRoles.sql, InstallPersonalization.sql, InstallProfile.sql, InstallMembership.sql
4. Creating the QLM package
To deploy the QLM License Server to Windows Azure, you must create an Azure package by following the steps oultined below:
Launch the QLM Management Console and go to the Manage Keys tab
Click on the Sites button in the toolbar, then click on Add
Enter a name for your Azure site, say QlmAzure, and click OK.
In the Primary Site field, enter (you can replace 'myqlm' with any value of your choice): http://myqlm.cloudapp.net/qlmlicenseserver/QlmService.asmx
If you replaced 'myqlm' with any other value, note that you will need to use the same value later on in this procedure.
Set the Database Engine to: SQL Server
Click on the Encryption Keys tab, then click New for both fields to generate a CommunicationEncryptionKey and an AdminEncryptionKey
Click on the Database Connection tab and enter all the fields on this tab
Server Hostname or IP: to get this value, select your database in Azure, and click on the Overview tab.
Click Show database connection strings
In the ADO.NET tab, copy the value of the Server entry. The value typically looks like: tcp:qlm-server.database.windows.net,1433
Database Name: qlm or any other name you have entered earlier in the process
User Name: name of the sql admin user you specified earlier in the process
User Password: password of the sql admin user you specified earlier in the process
Click on Update config files
Do not click OK -- leave the Sites editor open.
The next steps involve building the package using Visual Studio 2017/2015. You will need to first install the Azure SDK for .NET.
Open and Build the QlmAzure solution located in the %Public%\Documents\Quick License Manager\DeployToAzure\ folder using Visual Studio 2017/2015
Right mouse click on the QlmAzure project and select "Package"
Set the Service Configuration to Cloud and Build Configuration to Release then click on Package
The following 2 files will be created in the QlmAzure\QlmAzure\bin\Release\app.publish folder: QlmAzure.cspkg and ServiceConfiguration.Cloud.cscfg files
5. Cloud Service
To deploy the QLM Cloud Service to the Azure portal:
Go to the Windows Azure Portal.
Select Cloud Services (classic)
Click Add.
Set the DNS name to any value of your choice that matches the value you set earlier on Sites page: myqlm
Set the Subscription, Resource Group and Location to any value of your choice.
Click on Package / Select a Package.
Enter a Deployment label of your choice
Set the Package/configuration location to from local.
Select a Storage account
In the Package (.cspkg) field, select the file QlmAzure.cspkg that was generated earlier from the Visual Studio solution.
In the Configuration (.cscfg) field, select the file ServiceConfiguration.Cloud.cscfg that was generated earlier from the Visual Studio solution.
Select the Environment of your choice
Check Start deployment.
Click OK.
Click Create.
Once the package is created, click on service that was created and go to the OverView tab. Take note of the Site Url
Now go back to the QLM Management Console, Manage Keys / Sites which you left open earlier.
On the General tab, set the Primary Site to: <siteUrl>/qlmlicenseserver/qlmservice.asmx
Click the Test button next to the primary site URL and confirm that all tests have passed.
This completes the configuration of the Azure site.
How to upgrade an existing Azure deployment with a new version of QLM
Install the new version of QLM on your system
Go to the Manage Keys tab
Click Sites and select your site
Go to the Database Connection tab
Confirm that all the settings are correct
Click Update config files
Open the QlmAzure solution located in the %Public%\Documents\Quick License Manager\DeployToAzure\ folder using Visual Studio 2017/2015
Build the solution in Release mode.
Right mouse click on the QlmAzure project and select "Package"
Set the Service Configuration to Cloud and Build Configuration to Release then click on Package
The following 2 files will be created in the QlmAzure\QlmAzure\bin\Release\app.publish folder: QlmAzure.cspkg and ServiceConfiguration.Cloud.cscfg files
In the Azure portal, select the cloud service to update
Click Update
Set a deployment label
Select "from local"
Select a storage account
Set the package and configuration fields to the files created above.
Select "Deploy even if one or more roles contain a single instance"
Click Ok
Troubleshooting
You may get the following error when connecting to the QLM License Server:
Cannot open server 'xxx' requested by the login. Client with IP address 'yyy' is not allowed to access the server. To enable access, use the Windows Azure Management Portal or run sp_set_firewall on the master database to create a firewall rule for this IP address or address range.
To resolve this error, follow the steps below:
In the Azure Portal, click SQL databases then click the QLM database
Locate the Server name field and click on the server link
Click "Firewalls and virtual networks"
Create a new rule as follows:
Rule 1
Start IP: The IP address listed in the error message
End IP: The IP address listed in the error message
Pick the Subscription, and Resource Group server of your choice.
Set the Select Source field to "Blank database"
Select an existing Server or create a New Server
Select whether you want to use a SQL Elastic pool
Select a Pricing tier
Use the default Collation
Click Create
In the Server name field, enter a name of your choice. Example: qlm-server
In the Server admin login field, enter a name of your choice. Example: qlm_admin
In the password and confirm password fields, enter a new password
Select a Location
Click Select
Click on the QLM database in the list
Click Tools
Click Query Editor
Click login and enter your credentials
Click Open Query and select: %Public%\Documents\Quick License Manager\DeployToAzure\Db\qlm.createtables.sql
Click on Run to execute the query
Repeat these two steps for the following files, in the exact order listed here: InstallCommon.sql, InstallRoles.sql, InstallPersonalization.sql, InstallProfile.sql, InstallMembership.sql
Launch the QLM Management Console and go to the Manage Keys tab
Click on the Sites button in the toolbar, then click on Add
Enter a name for your Azure site, say QlmAzure, and click OK.
In the Primary Site field, enter (you can replace 'myqlm' with any value of your choice): http://myqlm.cloudapp.net/qlmlicenseserver/QlmService.asmx
If you replaced 'myqlm' with any other value, note that you will need to use the same value later on in this procedure.
Set the Database Engine to: SQL Server
Click on the Encryption Keys tab, then click New for both fields to generate a CommunicationEncryptionKey and an AdminEncryptionKey
Click on the Database Connection tab and enter all the fields on this tab
Server Hostname or IP: to get this value, select your database in Azure, and click on the Overview tab.
Click Show database connection strings
In the ADO.NET tab, copy the value of the Server entry. The value typically looks like: tcp:qlm-server.database.windows.net,1433
Database Name: qlm or any other name you have entered earlier in the process
User Name: name of the sql admin user you specified earlier in the process
User Password: password of the sql admin user you specified earlier in the process
Click on Update config files
Do not click OK -- leave the Sites editor open.
The next steps involve building the package using Visual Studio 2017/2015. You will need to first install the Azure SDK for .NET.
Open and Build the QlmAzure solution located in the %Public%\Documents\Quick License Manager\DeployToAzure\ folder using Visual Studio 2017/2015
Right mouse click on the QlmAzure project and select "Package"
Set the Service Configuration to Cloud and Build Configuration to Release then click on Package
The following 2 files will be created in the QlmAzure\QlmAzure\bin\Release\app.publish folder: QlmAzure.cspkg and ServiceConfiguration.Cloud.cscfg files
Go to the Windows Azure Portal.
Select Cloud Services (classic)
Click Add.
Set the DNS name to any value of your choice that matches the value you set earlier on Sites page: myqlm
Set the Subscription, Resource Group and Location to any value of your choice.
Click on Package / Select a Package.
Enter a Deployment label of your choice
Set the Package/configuration location to from local.
Select a Storage account
In the Package (.cspkg) field, select the file QlmAzure.cspkg that was generated earlier from the Visual Studio solution.
In the Configuration (.cscfg) field, select the file ServiceConfiguration.Cloud.cscfg that was generated earlier from the Visual Studio solution.
Select the Environment of your choice
Check Start deployment.
Click OK.
Click Create.
Once the package is created, click on service that was created and go to the OverView tab. Take note of the Site Url
Now go back to the QLM Management Console, Manage Keys / Sites which you left open earlier.
On the General tab, set the Primary Site to: <siteUrl>/qlmlicenseserver/qlmservice.asmx
Click the Test button next to the primary site URL and confirm that all tests have passed.