Enterprise Private Cloud Architecture

Wolfram Enterprise Private Cloud (EPC) runs on a Linux kernel using CentOS version 6. While alternative operating systems are currently not supported, it should be possible to use containerization technology, such as Docker, to make any potential OS mismatches irrelevant.

Notebook Model

The front end JavaScript model of an open cloud object (see Chapter 7) is synchronized with a server-side model, which lives in the Java cloud application and—crucially—occupies memory in the Java Virtual Machine. The larger the number of open notebooks, the more memory is tied up by the application.

Data and Metadata

Metadata for cloud objects is stored in a MySQL database, the Cloud Store, while the actual contents (cells, data and dynamic elements) are read from a Network File System (NFS). Neither of these resources is directly exposed to the user.

Web Kernel Manager

At the same time that the notebook is opened, a Wolfram Engine (kernel) is associated with it. Each EPC instance has a web kernel manager that is responsible for the lifecycle of every kernel in the system. This includes creation, assignment of metadata, evaluation and release or destruction of every type of kernel: session kernels, task kernels, deployment kernels and data paclet kernels. More on the kernel lifecycle can be found in Chapter 5.

Authentication

By default, authentication to EPC is provided by an internal service built into the Tomcat server. Optionally, as of Wolfram Cloud Version 1.49, Keycloak middleware can be used to delegate authentication tasks to the client’s own authentication service, e.g. LDAP.