Setting Up Same Machine Multi-Tenancy With Provisioning
  • 02 Aug 2022
  • 3 Minutes to read
  • Dark
    Light

Setting Up Same Machine Multi-Tenancy With Provisioning

  • Dark
    Light

Version Availability 
Note that the following documented feature is slated for release during v.8.2 and can NOT be followed until then.

See Multi-Tenancy: Setting Up Same Machine Multi-Tenancy Manually for the current same machine setup process. 

A Tenant Instance represents one independently running Instance within a Multi-Tenancy that contains the same application running on the Control Instance, with its own unique database. 

Tenant Provisioning is the method by which a Tenant Instance is added to a Multi-Tenancy using a Decisions Studio-based UI. 

This provides a local testing environment and a method of resource distribution without having to utilize a VM (virtual machine) and acts as an alternate method to manually establishing a local Multi-Tenancy.

Prerequisites

  • Ensure that there is an open unique Port number for each Instance
  • A preconfigured Control Instance 
  • An Account that will be assigned to subsequent Tenant Instances

Important Considerations 

  • HTTPS Ports and secured setup must be established on the Instance manually outside of the Provisioning UI.

Tenant Provisioning Actions 

The following chart represents the Provisioning actions made available upon right-clicking a Tenant Instance in the System > Hosting Folder

ActionDescriptionScreenshot
Add Instance Account Used to add an Account from the Control to the Tenant Instance.

Enabling 'Is Admin' adds the Account to the Admin Group on the Tenant. 
Edit InstanceProvides options to edit the Tenant's Instance Name, Instance Base URL, and Description. This window also displays the Tenant's Authentication Key.
 

Override Login Page Logo can be used to change the logo displayed upon navigating to the login screen. 
Delete [Instance Name] InstanceDeletes/removes the Instance from the Hosting Folder, prompted selecting YES.
Enable/Disable Instance Turns on (or off) the Tenant Instance and starts (or stops) the Instance in Service Host Manager. 
Host Instance LocallyHosts the Tenant locally via the Provisioning UI. See the example below for information on how to use this feature. 

Example

  1. From a Control Instance, follow steps 1-2 and 4-7 of Multi-Tenancy: Adding and Setting up a Tenant Instance, ensuring that an Admin Account, Instance Name, and Instance Base URL are defined for a new Tenant Instance.

  2. From the Hosting Folder. right-click the newly added Instance, and select Host Instance Locally
  3. From the resulting window, set Hosting Type to match the Control Instance.


Self Hosting

  1. Under Hosting Type, select SelfHosting
  2. Select Use Default Connection; this setting pulls from the variable <InstanceDatabaseConnectionStringTemplate> in the control's settings.xml. Alternatively, provide the previously defined Http Port, Instance Base URL. Then, define the Database Connection String displayed in the chart and click OK.
    PropertyDescription
    Data SourceProvide the Server Name of the Control Instance; define it as (local)
    Initial CatalogProvide the desired name for the database 
    User IdUsername for the database
    PasswordPassword for the User Id
  3. Navigate to and open progress.txt under C:\Decisions\Decisions Server\Instances\[TENANT NAME] to observe the installation progress.

    Note that progress.txt will have to be re-opened throughout the installation to check on the Tenant's progress.  


  4. After progress.txt reads "Application Boot Completed!", navigate to and attempt to log into the created Tenant Instance, using the applied Admin Account


IIS Hosting 

  1. From the resulting Host [Instance Name] Instance window, select IISHosting from the Hosting Type dropdown.
  2. Select Use Default Connection; this setting pulls from the variable <InstanceDatabaseConnectionStringTemplate> in the control's settings.xml. Alternatively, choose the corresponding Database Type, define the Database Connection String (see chart below), and provide the Instance Base URL.

    Then, select the desired IIS Site from the Select Site dropdown (in this example, Default Web Site), and click OK.
    PropertyDescription
    Data SourceProvide the Server Name of the Control Instance; define it as (local)
    Initial CatalogProvide the desired name for the database 
    User IdUsername for the database
    PasswordPassword for the User Id

  3. Open Internet Information Services (IIS) Manager, and navigate to the Tenant Instance under the respective Site's (Default Web Site) folder.
  4. In the Actions on the right-hand side, under Manage Application > Browse Application, click Browse [IP Address][Port]

  5. Navigate to and open progress.txt under C:\Decisions\Decisions Server\Instances\[TENANT NAME] to observe the installation progress; re-open the file to check on the Tenant's progress.
    Installation will conclude when the message "Application Boot Completed!" is displayed. 
  6. After installation, attempt to log into the Tenant Instance with the Admin Account

For more information regarding Multi-Tenancy, see Decisions Forum: Multi-Tenant.

Was this article helpful?