Enterprise Private Cloud Architecture
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
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
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
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
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.