Skip to main content
Version: 2024

Azure setup

Introduction to Azure setup

This document provides instructions for setting up an Azure environment for the Thinkwise Platform.

  • The Intelligent Application Manager (IAM) database and, optionally, the Software Factory (SF) database are installed on Azure SQL Server.
  • 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.

Azure infrastructure

note

It is your own organization's responsibility to take adequate security measures for protecting your cloud environment. Thinkwise products have been tested thoroughly, including pen testing, to ensure their security.

  • Use Azure DB for hosting the Software Factory, IAM and the developed application database.
  • Use Azure Web Services for hosting Indicium, the Universal GUI, or the Web GUI.

Example Azure Example: Azure

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.

screenshot: Create a new SQL server (logical server)

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.

screenshot: Fields to create an SQL server

Click Create to create the Azure SQL server.

screenshot: Create the SQL server

Network settings

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

screenshot: Firewalls and virtual networks

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.

screenshot: Allow Azure services and resources

Store database user credentials securely

To store database user credentials securely in the Azure Indicium Web App service:

  1. In the Azure portal, select the Application settings tab.
  2. Add the following new Application settings and specify the desired values.
  • MetaSourceConnection__Database
  • MetaSourceConnection__PoolPassword
  • MetaSourceConnection__PoolUserName
  • MetaSourceConnection__Server
note

These setting names contain double underscores.

screenshot: Application settings

Application settings

The appsettings.json configuration file can be configured as follows:

{
"Logging": {
"ApplicationInsights": {
"LogLevel": {
"Default": "Information",
"System": "Information",
"Microsoft": "Warning",
"Indicium": "Debug"
}
},
"IncludeScopes": false,
"LogLevel": {
"Default": "Information",
"System": "Information",
"Microsoft": "Warning",
"Indicium": "Debug"
}
},
"MetaSourceConnection": {
"Server": "",
"Database": "",
"PoolUserName": "",
"PoolPassword": ""
}
}

Deploy the Thinkwise IAM database

  1. Download the Thinkwise Installation package from the Thinkwise Community Portal. For more information, see Getting started in the Thinkwise Deployment Center guide.

  2. Select Install on the IAM product page.

  3. On the tab Deploy > Server Connections, enter the server connection options. You can find the hostname in the SQL server environment under Overview. Use the credentials provided when the SQL server environment was created.

    screenshot: Connection options in the SQL server environment

  4. On the tab Deploy > Dependency check, click the Check button.

  5. On the tab Deploy > Database name, enter the name of the IAM database that you want to create and click Next.

  6. On the tab IAM > Review and confirm, click Confirm.

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

Deploy the Software Factory database (optional)

It is possible to install the Thinkwise Software Factory development environment on Azure.

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 Software Factory database:

  1. Select Install on the Software Factory product page.

  2. On the tab IAM > Server connection, enter the server connection options and click Connect. You can find the hostname in the SQL server environment under Overview. Use the credentials provided when the SQL server environment was created.

  3. On the tab IAM > Database Selection, select the previously installed IAM database (IAM_SF) and click Next.

  4. On the tab SF > Server connection, use the same host and RDS credentials as IAM for the Software Factory database and click Connect.

  5. On the tab SF > Dependency check, click Check.

  6. On the tab SF > Database name, enter the Software Factory database name and click Next.

  7. On the tab Deploy > Review and confirm, click Confirm.

The Software Factory database will now be created in the RDS environment.

Create 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.

screenshot: Create a Web app

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.

    screenshot: Select the App Service

  3. The portal displays the web app overview page.

    screenshot: Web app overview

  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.

    screenshot: Web app up and running

Deploy a Thinkwise Application to an App service

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.

Start 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.

    screenshot: Advanced tools

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

    screenshot: Kudu environment

  3. Select CMD from the Debug console menu.

    screenshot: 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.

    screenshot: Kudu CMD screen

Install the Thinkwise Web GUI

  1. Download the Thinkwise Web GUI from the TCP portal.

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

    screenshot: Kudu CMD screen

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

    screenshot: Kudu explorer view

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

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

    screenshot: Edit settings.ini

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

    screenshot: Required parameters

The Thinkwise Web GUI is now running.

Install 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.

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

    screenshot: App service resource configuration

  3. Select the General settings tab page.

    The Always on setting keeps the Indicium service tier running, making it more responsive to requests after idle periods. You should enable Always On if you have continuous system flows running.

    screenshot: General settings tab

  4. Select the Path Mappings tab page.

    screenshot: Path mappings tab

  5. 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.

    screenshot: New application or directory

    The result will look like this:

    screenshot: Result

  6. 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.

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

    screenshot: Create a new folder

  8. Open the indicium folder.

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

    screenshot: Zip file to Kudu explorer

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

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

screenshot: Parameters

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

screenshot: Go to ...

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

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

  3. 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.

Reports in Azure

To use DevExpress reports in an Azure environment, you have to set the extended property HostedInAzure to true.

For more information, see Extended properties.

Was this page helpful?