ExtendSim CloudExtendSim Cloud provides access to models located on self-hosted servers for analysis by internal or external users. These Client-side users can configure scenarios, run, and obtain results from models remotely without installing the ExtendSim application on their own devices. Different models/scenarios can be run in parallel on any number of processors on any number of servers for any number of users.

The Cloud customer develops their own frontend, using the provided http API to communicate with the ExtendSim backend servers. This API fully supports spawning multiple ExtendSim instances on the server, loading models, configuring and running scenarios in parallel, and bringing results back to the users. Access to models posted on the servers can be restricted by Client login credentials.

The ExtendSim Cloud license offers several advantages.

  • Remote web access.
  • Scalable computing power.
  • Access to the power of ExtendSim for non-simulationists.
  • Centralized feature updating.

ExtendSim Cloud is a great solution for organizations that:

  • Want to provide remote access to models without having to deploy the ExtendSim software.
  • Prefer centralized control and management of ExtendSim models.
  • Need scalable computing power for running one or more models for one or more Clients simultaneously.
  • See value is providing standardized frontends to analysts.
  • Don’t require analysts to learn simulation.
  • Prefer a web-based approach to software deployment.

Technical Overview

Cloud Architecture

The Client frontend communicates directly with the Cloud Services Manager (CSM) via the ExtendSim http Cloud API. The CSM processes client requests to launch ExtendSim instances and run scenarios by opening, configuring, and running copies of reference models that have been stored on the server. The CSM then automatically stores run results on the server as JSON files that can be piped back to the frontend upon request. Importantly, the CSM can move very large data sets into and out of ExtendSim models and back and forth between Server and Client.

The server consists of the following components:

  • Developed in node.js, the CSM is a continuously running service that always responds to requests from Client frontends. The list of APIs for communicating with the CSM is described in the ExtendSim Cloud User Guide.
  • The maximum number of ExtendSim instances allowed to run in parallel on the server is limited by how many have been purchased. When the number of jobs to run models exceeds the number of available ExtendSim instances, the CSM queues these jobs on a FIFO basis.
  • MongoDB is used to store client information such as user groups, credentials, scenarios, etc.

The Cloud frontend is developed by the customer to provide custom interfaces tailored to specific needs. It can be developed in any http compatible language, e.g., Python, JavaScript, C#. Alternatively, ExtendSim Cloud ships with a general-purpose browser-based Scenario Manager, but it typically serves as a template for how to communicate with the CSM.

End-user Clients are organized into groups with authenticated login credentials so that access can be restricted to specified models. Additional security during user sessions is provided by using JWT Tokens.

ExtendSim Cloud uses a License Manager (rlm.exe) to control the number of instances of ExtendSim that are running. The License Manager can be installed on either a separate License Server or on the same device being used as the Cloud Server. The number of running instances is limited by the ordering document’s maximum number of concurrent instances and the number of cores on the Cloud Server.

Capabilities and Limitations of ExtendSim Cloud

  • Push inputs -- from a web page or a custom client application -- to any ExtendSim model that they have been given authentication access to on a server.
  • Remotely trigger a simulation run for that ExtendSim model on a server using the inputs pushed from a Client machine.
  • Receive the results from that model on a Client machine.
  • There are no limits to the size of the model you can run using an ExtendSim Cloud license, how many runs you can do, or how long the runs are.
  • Like the Analysis RunTime product, the ExtendSim Cloud app can call COM DLLs and use COM for control of/by other applications.
  • Can run and analyze Reliability models with an unlimited number of event cycles.

Limitations:

  • ExtendSim Cloud does not allow the building of models or of blocks, nor can one change the structure of a model.
  • The licensee is responsible for developing the front end interface.

Pricing

Pricing for a subscription to ExtendSim Cloud is based on the number of concurrent instances of ExtendSim generated:

  • Up to 4 instances = $10,000/year
  • Up to 32 instances = $25,000/year
  • Unlimited instances = $40,000/year