Difference between revisions of "ACP Server License"

m
 
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category: Analytica Cloud Player]]
+
[[Category: Analytica Cloud Platform]]
 
[[Category: Analytica installation and licenses]]
 
[[Category: Analytica installation and licenses]]
 +
<!--<font color = "red">Under construction</font>-->
  
Any user of Analytica, even the [[Free Edition|Free 101]], can share models with end users to run in a  web browser via the [[Analytica Cloud Player]] (ACP).  ACP is hosted on a Lumina cloud server for individual  and Group ACP subscriptions. An organization can also purchase an ACP license to install on its own server computers.  The advantages of running ACP on your own server are:
+
Any user of Analytica, even the [[Free Edition]], can share their models via the [[Analytica Cloud Platform]] (ACP) so that  other people can view and run your model via a  web browserLumina hosts ACP on a cloud server for individual  and Group ACP subscriptions. An organization can also purchase a ACP license to install on a dedicated server computer. You can use any cloud service, such as Amazon Web Services, Google Cloud Platform, 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.
+
* Reliably higher performance because the server is not shared with other organizations.
* There is no limit on CPU time per session and the number of users (other than the capacity of your server computer).
+
* 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.
+
* Custom configuration of firewalls and security options by your IT team to protect confidential and proprietary data and models.
 
* You may purchase the [[Analytica Optimizer Guide|Optimizer]] add-on and [http://www.lumina.com/products/analytica-optimizer/more-powerful-solver-engines/] for challenging optimization problems.
 
* You may purchase the [[Analytica Optimizer Guide|Optimizer]] add-on and [http://www.lumina.com/products/analytica-optimizer/more-powerful-solver-engines/] for challenging optimization problems.
 
Please contact [mailto:sales@Lumina.com sales@Lumina.com] or call us at (+01)-650-212-1212 for more information and pricing for an ACP server license.
 
Please contact [mailto:sales@Lumina.com sales@Lumina.com] or call us at (+01)-650-212-1212 for more information and pricing for an ACP server license.
Line 13: Line 14:
 
__TOC__
 
__TOC__
  
==Server Requirements==
+
==Server Needs==
The Analytica Cloud Player requires:
 
* Windows Server 2003, 2008, 2012, XP, Vista, 7, or 8.
 
* Internet Information Server (IIS), 7.0 or later preferred, with ASP.NET
 
* Minimum 4 GB RAM. 16GB+ recommended.
 
* You will need a 64-bit Windows operating system if your model requires more than 3GB of memory to run.
 
* (Optional) If you want to use HTTPS instead of HTTP, you need to have an SSL certificate installed.
 
  
The Microsoft .NET framework 3.5 or later will also be installed if not already present during ACP installation.
+
The Analytica Cloud Platform software requires at least:
 +
* 64 bit Windows Server 2016 or later or Windows 10 or later.
 +
* 16GB RAM and 2 or 4 cores. We recommend at least 64 GB and SSD hard drive.
 +
* If you want to use HTTPS, you need to have an SSL certificate installed. The certificate needs to be [[To_install_ACP#SSL_certificate|compatible with Apache ]].
 +
 
 +
==How to estimate RAM, disk needs==
 +
The amount of RAM, disk space, and number of cores you need depends on the memory and computation needs of your models, and how many users may use ACP simultaneously.  You can estimate RAM needs by running the modelin Analytica on your desktop. 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 test performance on most cloud platforms inexpensively. Spin up a server, starting with a modest configuration. Then add extra RAM, processors, or disk space as needed. With elastic cloud services, you can even upgrade the server temporarily when you expect a surge in demand.
  
 
==ACP Architecture==
 
==ACP Architecture==
  
End users access and run ACP models via a standard internet browser, such as Internet Explorer, Fire Fox, or Google Chrome, running on each client computer. Your browser must have Adobe Flash Player installed. The web page loads ACP's ShockWave files (*.swf).  Both the browser directly and the ACP shockwave communicate with the ACP server.
+
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.  
 +
 
 +
:[[Image:Suan on apache architecture.png|600x800px]]
 +
 
 +
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 runs on a Windows server computer running any recent edition of Windows Server Operating System.
+
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.
  
:[[image:ACP Data Flow.png|800x800px]]
+
Running concurrently with IIS can be problematic, since both Apache and IIS listen to port 80.
 +
We recommend not using ACP on a server running a website with IIS.
  
The ACP server has these software components, shown in the architecture diagram above:
+
* '''Spreadsheets:''' Optionally, your ACP models may access Excel spreadsheet files to read and/or write.  You can install  Libxl, and standard library that supports all Analytica spreadsheet access functions. We recommend LibXL rather than using Microsoft Excel on the server, which can be quite unreliable.  
* '''IIS/ASP NET''' web server support
 
* '''ACP Middleware''' DLLs using ASPX/ASPM.
 
* '''ADE:''' The Analytica Decision Engine (ADE) which runs Analytica model files created using Analytica on a desktop computer.
 
* '''Database:''' Optionally, ADE may read from and/or write to a database or spreadsheet, which may be installed on the same server or another database server.  It accesses a database using the same ODBC and SQL language query functions supported in Analytica. In this case, you will need to install a database ODBC server, such as Microsoft Analysis Services, My SQL, or other standard database that supports ODBC.
 
* '''Spreadsheets:''' Optionally, your models may access Excel spreadsheet files to read and/or write.  It uses the same spreadsheet access functions available in Analytica. To support this, you will need to install Microsoft Office with Microsoft Excel on the server.
 
  
 
==ACP Security==
 
==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.   
+
We recommend configuring ACP to use HTTPS (rather than HTTP).  HTTPS is the industry-standard protocol for transferring encrypted data over the internet.  It is the same protocol used, for example, for online banking.  To use HTTPS, you'll 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:
+
You can also encrypt your model files before uploading them to ACP, using standard features in Analytica Enterprise and Optimizer. That way no-one will be able to see your data and algorithms even if they do get access to the model.  Open your model in Analytica and from the '''File''' menu select '''Save a copy in...'''.  It displays this dialog:
  
 
:[[image:Locked and encrypt.png]]
 
:[[image:Locked and encrypt.png]]
Line 48: Line 56:
 
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.
 
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.
  
ACP users' credentials are setup the same way as ACP on AnalyticaCloud.com. ACP maintains an internal database with the users' credentials stored. The internal database is actually an Analytica model file.  The passwords are encrypted using a one-way encryption algorithm.  What this means is that the passwords are encrypted and can be only used by ACP to see if sign-in credentials are correct, but cannot be decrypted or viewed. If a user forgets their password they should click '''Forgot your password?''' in the '''Sign on''' page (see below) to be emailed information to let them create a new one.
+
==Authentication==
 +
===Firebase===
 +
The standard authentication method uses [https://firebase.google.com/ 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 all these authentication methods:
  
:[[image:Forgot password acp.png]]
+
*Apache [https://httpd.apache.org/docs/2.4/programs/htpasswd.html password file]
 
+
*Windows SSPI authentication
ACP does not currently support other authentication systems like Windows or Kerberos. Please ask Lumina if you are interested in doing so.
+
*LDAP to on-premises Microsoft active directory.
 +
*Openid to Okta
  
 
==Installing ACP==
 
==Installing ACP==
 +
You will need a computer server running Windows server.
  
You will need a computer server running Window server and IIS. ACP is usually installed on a server via remote desktop connection by a Lumina technical support person a working with an IT person in your organization who has admin privileges on the server. These are the key steps:
+
===ACP Files===
 
+
The ACP files required are distributed as a "bundle" which is  a compressed archive like a "zip" fileThe bundle will be made for your particular server. When configuring ACP and Apache, you will extract the zip files into the applicable folders.
===1. Install ADE===
 
 
 
The first step is to install Analytica Decision Engine (ADE). You can download the ADE installer from the Lumina at http://lumina.com/support/downloads/ Usually you will want to use the ADE 64 bit edition (blue arrow below).  If your server is 32 bit (rare these days) then you should download ADE 32 bit instead.
 
 
 
:[[image:ADE Download.png]]
 
 
 
When installing ADE you will need a valid Activation Code which Lumina will provide you when you purchase a license.  If you want to run models using the Analytica Optimizer functions, you will need a license and Activation Code for ACP with Optimizer.
 
 
 
:[[image:ADE Installer Activation Key.png]]
 
 
 
=== 2. Configure IIS ===
 
Internet Information Services (IIS) is the Window's web server and ACP is installed as an "application". Once ADE has been installed, you need to configure the server to allow IIS to launch ADE.  From the windows start menu, run '''dcomcnfg.exe''' and then give the IIS user name (usually '''DefaultAppPool''') permission to launch ADE.  Here's an screenshot from a Windows 2008 Server illustrating the process:
 
 
 
:[[image:ACP dcomcnfg.png]]
 
  
Here's an example of installing ACP as an application on Windows 2008 Server with IIS 7: 
+
===Installation process===
  
:[[image:ACP IIS Add Application.png]]
+
* You will need to install this things on the server: Apache, Google Chrome, Sql Express or SQL Server, Analytica, C++ redistributables, ACP code, an SSL certificate compatible with Apache, PHP (if using Apache authentication).
  
===3. Install ACP Bundle===
+
* We recommend a non-admin Windows account for Analytica server, if at all possible. Using a Service Account is much more complicated depending on your security policies.  
  
The ACP files required are distributed as a "bundle" which is typically a compressed archive like a "zip" file.  The bundle will be made for your particular server.  When configuring IIS, a folder for installing ACP was chosen.  You will extract the zip files into that folder.
+
* When everything's installed, you create an SQL database, set up an ACP Group Account, and add your users.
  
===4. Set Windows Security===
+
* 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 these detailed steps [[To_install_ACP]].
  
Usually, you will need to set access permissions for users to the folder in which you have installed ACP.  Here is an example of setting up access permission in Window's Explorer, to give all Users access to the ACP folder:
+
==Optional ACP settings==
  
:[[image:ACP explorer security.png]]
+
For server admins, there are some  configuration settings which are not accessible to the user from the ACP GUI. For instance, turning off the visibility of certain menu items or changing the length of time for a session timeout. Most of the time these will be set during the initial install of ACP, but they can be configured later. See this page [[Customizing an ACP server]] .
  
===Updating ACP for a New Release===
+
==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 a few files to be copied into the ACP directory.
+
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==
 
==See Also==
* [[Analytica Cloud Player]]
+
* [[Analytica Cloud Platform]]
 +
* [[Customizing an ACP server]]
 +
* [[ACP_miscellaneous]]

Latest revision as of 00:26, 19 March 2024


Any user of Analytica, even the Free Edition, can share their models via the Analytica Cloud Platform (ACP) so that other people can view and run your model via a web browser. Lumina hosts ACP on a cloud server for individual and Group ACP subscriptions. An organization can also purchase a ACP license to install on a dedicated server computer. You can use any cloud service, such as Amazon Web Services, Google Cloud Platform, or Microsoft Azure. The advantages of a dedicated server are:

  • Reliably higher performance because the server is not shared with other organizations.
  • No limit on CPU time per session and the number of users--other than the capacity of your server computer.
  • Custom configuration of firewalls and security options by your IT team 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 Needs

The Analytica Cloud Platform software requires at least:

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

How to estimate RAM, disk needs

The amount of RAM, disk space, and number of cores you need depends on the memory and computation needs of your models, and how many users may use ACP simultaneously. You can estimate RAM needs by running the modelin Analytica on your desktop. 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 test performance on most cloud platforms inexpensively. Spin up a server, starting with a modest configuration. Then add extra RAM, processors, or disk space as needed. With elastic cloud services, you can even upgrade the server temporarily when you expect 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.

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

Running concurrently with IIS can be problematic, since both Apache and IIS listen to port 80. We recommend not using ACP on a server running a website with IIS.

  • Spreadsheets: Optionally, your ACP models may access Excel spreadsheet files to read and/or write. You can install Libxl, and standard library that supports all Analytica spreadsheet access functions. We recommend LibXL rather than using Microsoft Excel on the server, which can be quite unreliable.

ACP Security

We recommend configuring ACP to use HTTPS (rather than HTTP). HTTPS is the industry-standard protocol for transferring encrypted data over the internet. It is the same protocol used, for example, for online banking. To use HTTPS, you'll 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. That way no-one will be able to see your data and algorithms even if they do get access to the model. Open your model in Analytica and from the File menu select Save a copy in.... It displays 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 uses 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 all these authentication methods:

  • Apache password file
  • Windows SSPI authentication
  • LDAP to on-premises Microsoft active directory.
  • Openid to Okta

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 applicable folders.

Installation process

  • You will need to install this things on the server: Apache, Google Chrome, Sql Express or SQL Server, Analytica, C++ redistributables, ACP code, an SSL certificate compatible with Apache, PHP (if using Apache authentication).
  • We recommend a non-admin Windows account for Analytica server, if at all possible. Using a Service Account is much more complicated depending on your security policies.
  • When everything's installed, you create an SQL database, set up an ACP Group Account, and add your users.
  • 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 these detailed steps To_install_ACP.

Optional ACP settings

For server admins, there are some configuration settings which are not accessible to the user from the ACP GUI. For instance, turning off the visibility of certain menu items or changing the length of time for a session timeout. Most of the time these will be set during the initial install of ACP, but they can be configured later. See this page Customizing an ACP server .

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.