ACP Server License


Any user of Analytica, even the Free Edition, can share their models via the Analytica Cloud Platform (ACP) so that end users can view and run it via a web browser. ACP is hosted on a Lumina cloud server for individual and Group ACP subscriptions. An organization can also purchase a ACP license to install on a dedicated server computer, including cloud services such as Google Cloud Platform, AWS, or Microsoft Azure. The advantages of a dedicated server are:

  • You can get reliably higher performance using a dedicated server that your organization is not sharing with other users.
  • There is no limit on CPU time per session and the number of users--other than the capacity of your server computer.
  • Your own IT department may configure custom firewalls and security options to protect confidential and proprietary data and models.
  • You may purchase the Optimizer add-on and [1] for challenging optimization problems.

Please contact sales@Lumina.com or call us at (+01)-650-212-1212 for more information and pricing for an ACP server license.

Here is an overview of the ACP server requirements, architecture, security, installation process, and updates.

Server Requirements

The Analytica Cloud Platform software requires at least:

  • 64 bit Windows Server 2003 or later, or Windows 7 or later. We recommend Windows Server 2016 or later or Windows 10 or later .
  • 16GB RAM and 2 or 4 cores. We recommend at least 32 GB and SSD hard drive.
  • If you want to use HTTPS, you need to have an SSL certificate installed.

The amount of RAM, number of cores and disk requirements depends on the memory and computation requirements of your models, and how many users may use ACP simultaneously. To estimate the RAM, you can run it in Analytica on your desktop and open the Memory usage dialog to see how much memory it is using. If your application uses a maximum of 5GB and you want to support up to 10 simultaneous users, you might specify at least 64GB RAM. (5GB*10 = 50GB plus an extra 16GB for operating system and ACP overhead).

You can also test on most cloud platforms inexpensively, spinning up a server. Start with a modest configuration, then add extra RAM, processors, or disk space when needed. You can even upgrade the server temporarily when you anticipate a surge in demand.

ACP Architecture

ACP runs on a Windows server running any recent edition of Windows Server Operating System. End users access and run ACP models via a standard internet browser, such as Google Chrome or Microsoft Edge, running on their own client computers.

ACP Uses an Apache web server on the server front-end, with all browser interaction going only through Apache. Apache serves the static web content files (HTML, pre-built minified JS, CSS, App image files) directly. When the web-socket request arrives, the Apache proxy_tunnel_module proxies it as a websocket request to a back-end Analytica server process, which spawns a new Analytica process for this user session, and hands off the socket to the spawned process. Once launched, the user-session Analytica process communicates directly with the proxy_wstunnel_module, which relays this communication through a TLS websocket (wss) to the browser.

Suan on apache architecture.png

The ACP server has these software components:

  • Apache web server
  • The Analytica server - an ACP enabled Analytica process. The Analytica server process has to be running at all times.
  • The Analytica session process. Spawned from the ACP server process when you open an ACP session on your browser.
  • Microsoft Sql server (the express version works fine for smaller databases).

ACP Security

You can configure ACP to run using HTTP or HTTPS. HTTPS provides industry-standard security for transferring data encrypted information over the internet. It is the same protocol used for example for online banking. To use HTTPS, you will need to purchase and install the SSL certificate for your server. Free certificates are also available - you can Google "Free SSL certificates" for a list of providers.

You can also encrypt your model files before uploading them to ACP, using standard features in Analytica Enterprise and Optimizer. Open your model in Analytica and from the File menu select Save a copy in.... This will display this dialog:

Locked and encrypt.png

Check the Lock and encrypt the copy checkbox indicated above to save a model in encrypted form. Analytica and ADE can run encrypted models, but there is no way to decrypt the source file. So, make sure to retain an unencrypted version of any model before encrypting it.

Authentication

Firebase

The standard authentication method is with firebase. This authenticates users on the internet. Lumina can assist you with setting this up.

Apache Authentication

If the server is on an intranet and does not have access to the internet, you can use Apache authentication. We have installed ACP with the following authentication methods.

  • Apache password file
  • Windows SSPI authentication
  • On premises Microsoft active directory.

Installing ACP

You will need a computer server running Windows server.

ACP Files

The ACP files required are distributed as a "bundle" which is a compressed archive like a "zip" file. The bundle will be made for your particular server. When configuring ACP and Apache, you will extract the zip files into the folder applicable folders.

Installation steps

ACP is usually installed on a server via remote desktop connection by a Lumina technical support person. For more specific information or to install yourself, you can follow the steps here To_install_ACP:

  1. Install Apache - you will also need to install the Visual C++ 2015-2022 redistributables first.
  2. Install a browser. Google Chrome or Microsoft Edge.
  3. Install PHP (if you intend to use Apache authentication)
  4. In the firewall open ports 80 and 443
  5. Install SqlExpress - including the management studio
  6. Create a login and sql user for ACP to use when accessing the database.
  7. Add your SSL certificate to the Apache /conf directory.
  8. Install Analytica .
  9. Install the ACP code (this includes the server enabled version of Analytica, some other dll's and configuration files and the javascript files). See ACP_Server_License#ACP Files.
  10. Create the ACP subscription database - using an Analytica model file downloaded in the previous step.
  11. Create the tables within the database schema - uses another Analytica model.
  12. Get the Apache configuration files from Lumina and insert them into the Apache\conf and the Apache\conf\extra directories. See ACP_Server_License#ACP Files
  13. Create a non-admin windows account for Analytica server and sessions processes to run under.
  14. Give this windows account permission in the local security policy to log on as a batch job.
  15. Create scheduled tasks in the task manager for the Analytica server process(es) to run at computer startup.
  16. Create an ACP Group account.

Updating ACP for a New Release

Lumina periodically issues new releases for ACP with new features and bug fixes. For as long as you have active maintenance and support (included free for 12 months when you purchase an ACP license or subscription), Lumina will provide you free updates. We will provide instructions on how to perform each upgrade. Generally, the update consists of files to be copied into the ACP directory.

See Also

Comments


You are not allowed to post comments.