Infrastructure-as-Code Templates

The following sections explain the installation processes of the GXPC program. In this document, each step of the installation is described, with the expected result. To optimize the validation and installation effort, all software installations are done following an Infrastructure-as-Code strategy.

IaC Reasoning

These are the key drivers for the IaC strategy of the GXPC program:

  • Reduce the risk of 'human-error' for activities done by the administrator during software installation.

  • Standardize all servers in world-wide deployment by using the same installation scripts.

  • Reducing the time-effort of world-wide deployment by making installation as simple as possible.

  • Reducing the complexity and time-effort of validation processes by having the same deployment on all servers.

  • Point-and-Click activities during the installation are replaced by script commands.

  • Parameters are specified upfront in a configuration file (XML). Passwords are entered or generated.

Installation Procedure

The software architecture of the GXPC platform consists of several server types. Those types are:

  • Master Core Server

  • Local Core Server

  • Relay Server

  • Node Server

  • Interface Server

  • MongoDB Replica Node (Primary)

  • MongoDB Replica Node (Secondary)

For each type of server, installation templates are required. The template consists of:

  • Configuration file (xml)

  • Installation script (powershell)

  • Pre- and / or Post-Install script (Lua)

The template files are functional and pre-tested.

Example: Local-Core installation

For a Local-Core Server, the installation template contains the following files:

  • AspenTechInmationNodeSetup.exe

  • AspenTechInmationSetup.exe

  • install.ps1

  • pre-install.lua

  • Setup.xml

These should be copied to the designated installation file on the target machine. A MongoDB installation file also needs to be copied into the same location. The pre-install.lua script must be executed on the DataStudio console. The install.ps1 is executed on the target machine.

The following output will be created by a successful installation:

Succesful Local-Core installation

On a failed installation, the output will contain errors:

Failed Local-Core installation

The same principle is applied with other templates: The installation output needs to contain no errors (warnings can be ignored), and Lua script executions need to complete without error.