Skip to main content

Azure Deployment

This document provides instructions for installing the Thinkwise Platform on Azure.

The Intelligent Application Manager (IAM) database and, optionally, the Software Factory (SF) database are installed on Azure SQL Server, whereas the Thinkwise Web GUI, Universal GUI and Indicium service tier are installed on Azure App Service.

note

For Azure authentication settings in IAM, see Authentication in IAM.

Prerequisites

Prerquisites for deploying the Web GUI or the Universal GUI with Indicium on Azure App Service are:

  • An Azure Account. You can create one for free here.
  • An active Azure subscription. Instructions on how to create a new subscription can be found here.

Creating an Azure SQL server (logical server)

In the Azure Portal, select Create a resource and search for "SQL server" to create a new SQL server (logical server) service.

The Azure portal provides a wizard to create a SQL server. This wizard requires the following fields:

FieldDescription
SubscriptionA valid and active Azure subscription.
Resource groupA valid resource group.
Server nameThe name of the SQL server. This name must be unique among all Azure SQL servers in the world
LocationChoose location of the SQL server in the world
Server admin loginThe admin login for the SQL server. (RDBMS)
PasswordPassword of the admin login
Confirm passwordConfirm password of the admin login

Fill out the fields and click Next on the following tab pages to accept the default settings.

Click Create to create the Azure SQL server.

Network settings

Go to the Azure SQL server service and click Firewalls and virtual networks under Security.

Set Allow Azure services and resources to access this server to Yes. To connect through SMSS with the Azure SQL server, fill in the IP address range of the developers who needs access. Click Save.

Deploying the Thinkwise IAM database

  1. Download the Thinkwise Installation package from the Thinkwise Community Portal https://tcp.thinkwise.app/web.

  2. Unzip the downloaded Thinkwise package.

  3. Start the Deployer GUI twdeployerGUI.exe.

  4. Select Install on the IAM product page.

  5. Fill in the server connection options. The hostname can be found under Overview at the SQL server environment. Use the credentials provided upon creating SQL server environment.

  6. Click Check

  7. Fill in the name of the IAM database to create and click Next.

  8. Click Confirm

  9. The IAM database will now be created in the Azure environment.

Deploying the Thinkwise SF database (optional)

The Thinkwise Software Factory development environment can also be installed on Azure, if desired.

As the Software Factory also needs an IAM database, first deploy an additional IAM database by following the steps from the previous chapter, and name this database IAM_SF.

Next, deploy the SF database:

  1. Select Install on the SF product page.

  2. Fill in the server connection options. The hostname can be found under Overview at the SQL server environment. Use the credentials provided upon creating SQL server environment.

  3. Select the previous installed IAM_SF database.

  4. Use the same host and credentials for the SF database and click Connect.

  5. Select Check.

  6. Fill in the database name.

  7. Select "confirm".

  8. The SF database will now be created in the RDS environment.

Creating an Azure Web App

In the Azure Portal, select Create a resource to create a new Web App. The Azure portal provides a wizard to create the web app. This wizard requires the following fields:

FieldDescription
SubscriptionA valid and active Azure subscription.
Resource groupA valid resource group.
App nameThe name of the web app. This name becomes part of the app's URL, so it must be unique among all Azure App Service web apps.
PublishYou can deploy your application to App Service as code or as a ready-to-run Docker image. For all the Thinkwise applications, choose code.
Runtime stackChoose Runtime stack ASP.NET V4.7.
Operating systemApp Service can host applications on Windows or Linux servers. Choose Windows.
RegionThe Azure region from which your application will be served.
App Service PlanSee below for information about App Service plans.

App Service Plans

An App Service plan is a set of virtual server resources that run App Service apps. A plan's size (sometimes referred to as its sku or pricing tier) determines the performance characteristics of the virtual servers that run the apps assigned to the plan and the App Service features that those apps have access to. Every App Service web app you create must be assigned to a single App Service plan that runs it.

A single App Service plan can host multiple App Service web apps. In most cases, the number of apps you can run on a single plan will be limited by the performance characteristics of the apps and the resource limitations of the plan.

App Service plans are the unit of billing for App Service. The size of each App Service plan in your subscription, in addition to the bandwidth resources used by the apps deployed to those plans, determines the price that you pay. The number of web apps deployed to your App Service plans has no effect on your bill.

You can use any of the available Azure management tools to create an App Service plan. When you create a web app via the Azure portal, the wizard will help you to create a new plan at the same time if you don't already have one.

Select Review and Create to navigate to the review page, then select Create to create the app.

note

It can take a few seconds to get your web app created and ready for use.

The portal will display the deployment page, where you can view the status of your deployment. Once the app is ready, navigate to the new app in the Azure portal:

  1. On the Azure portal menu or from the Home page, select All resources.

  2. Select the App Service for your web app from the list. Make sure to select the App Service, and not the App Service Plan.

  3. The portal displays the web app overview page.

  4. To preview your new web app's default content, select its URL at the top right. The placeholder page that loads indicates that your web app is up and running and ready to receive deployment of your Thinkwise application.

Deploying a Thinkwise Application

There are different ways of deploying a Thinkwise Application to an App Service. In this document we'll explain using Kudu. Other possible ways to deploy a Thinkwise Application are:

  • Azure DevOps
  • Octopus
  • Visual Studio
  • Etc.

Starting Kudu

Kudu is the engine behind deployments in Azure Web Sites. It can also run outside of Azure. For more information about Kudu, look at https://github.com/projectKudu/Kudu/wiki.

To start Kudu:

  1. Go to the App Service resource and select Advanced Tools.

  2. Select Go. The following screen opens in a new browser tab:

  3. Select CMD from the Debug console menu.

  4. The Kudu CMD screen is divided in two sections. The first section is an Explorer view, the second section is a command box. Both are started at the root of the App Service.

Installing the Thinkwise Web GUI

  1. Download the Thinkwise Web GUI from the TCP portal https://tcp.thinkwise.app/web.

  2. In the Kudu CMD screen, navigate to D:\home\site\wwwroot.

  3. Drag the downloaded Web GUI zip file from the Windows Explorer to the Kudu Explorer view.

  4. Kudu will automatically unzip the file. The Thinkwise Web GUI is now deployed.

  5. Select the blue pencil to edit the 'settings.ini' file.

  6. Fill in the required parameters and click Save. More information about the Web GUI configuration file can be found here.

The Thinkwise Web GUI is now running.

Installing the Thinkwise Universal GUI with Indicium

For security reasons (to avoid having to enable Cross-Origin Resource Sharing), the Universal GUI and Indicium service tier will be installed in the same Web App.

  1. Download both the Thinkwise Universal GUI and the Indicium (Universal) service tier from the TCP portal https://tcp.thinkwise.app/web.

  2. Go to the App Service resource and select Configuration.

  3. Select the Path Mappings tab page.

  4. Select New virtual application or directory. At Virtual Path fill in /indicium, at Physical Path fill in site\indicium. Uncheck Directory and check Preload enabled. Select OK and then select Save.

    The result will look like this:

  5. To deploy the downloaded zip files, open Kudu, navigate to the D:\home\site directory and select the plus sign to create a new folder.

  6. The name of the new folder is the Physical path used at step 4, indicium.

  7. Select the indicium folder.

  8. Drag the downloaded Indicium (Universal) zip file from the Windows Explorer to the Kudu Explorer view.

  9. Select the blue pencil to edit the appsettings.json file.

  10. Fill in the required parameters and select the Save button. More information about the Indicium configuration file can be found here.

  11. Next, go to D:\home\site\wwwroot.

  12. Drag the downloaded Universal GUI zip file from the Windows Explorer to the Kudu Explorer view.

  13. Select the blue pencil to edit the config.json file. More information about the Universal GUI configuration file can be found here.

  14. Set the ServiceUrl to the URL of Indicium, for example https://thinkwiseuniversalgui.azurewebsites.net/indicium/iam/iam and select the Save button.

The Thinkwise Universal GUI and Indicium are now running.