Set up the Remote CMS Host Computer

Remote CMS is available with SmartServer 4.4 and higher.

This section describes the hardware requirements and software components for setting up a Remote CMS system and consists of the following:

Hardware Requirements

Remote CMS requires the following minimum hardware requirements:

  • Quad core Intel seventh generation Core i7 or AMD second generation Ryzen 7

  • 16GB DDR4 RAM supporting 32 GB/s bandwidth

  • M.2 PCIe x4 NVMe SSD Drive supporting 3400Mbps sequential reads and 3000Mbps sequential writes

For a small system, Remote CMS can be hosted on a NUC-class platform. For a large system, Remote CMS can be hosted on a Dell-server class PC. See the Performance Considerations section below for a description of the Remote CMS test environments for a large and small system configuration. 

Cloned SmartServers are not supported in Remote CMS configurations. For cloned SmartServers, use Local CMS configurations.

Software Components

Remote CMS runs inside of a Docker container with all the necessary components, including:

  • Ubuntu 20.04 – LTS OS running inside of Docker container and serving all the rest components

  • Java 11 – LTS Java VM executing the Remote CMS application

  • Redis Server 5.0.7 – used as cache for datapoints processing

  • PostgreSQL 12.10 – SQL DB that keeps all Remote CMS data

  • ActiveMQ 5.13.3 – MQTT broker, 5.13.3 only

  • Spring Framework for SmartServer 4.4 and higher, and Karaf OSGi runtime environment for SmartServer 4.3 and prior (OSGi container that hosts Remote CMS Java application)
  • Jetty 9.4.43 (as part of the Karaf container) – HTTP web server

Communications between the SmartServer and the Remote CMS are accomplished using MQTT. The Remote CMS Docker container exposes the following two TCP ports to the host system. These ports are bound to all host system IP interfaces and available for inbound connections from anywhere. 

  • Port 443 – used for HTTPS access to Remote CMS web UI, REST API, and WebSockets (the port if not required for the URL)

  • Port 8883 – used for MQTTS access to ActiveMQ MQTT broker

Both these connections are secured and support TLSv1.3 with AES-256 encryption and X.509 server, signed certificates that prevent unauthorized users from monitoring SmartServer to Remote CMS traffic.

Remote CMS cannot connect to any external MQTT brokers to interact with custom applications. Instead, these applications should connect to the Remote CMS MQTT broker. 

Performance Considerations

For Remote CMS, the hardware that you use for the host computer will determine the performance limitations for your system. You can take into consideration the following Remote CMS test environments, for a large and small system configuration, as examples when selecting your Remote CMS host computer hardware:

Large System Configuration

  • Remote CMS host computer: Dell PowerEdge R6515 with AMD EPYC 723P 3.1GHz 8-core 16-thread processor, 32MB cache, 8GB DDR4-3200 RAM, and 2TB 7200RPM 6Gbps SATA hard drive
  • 10 SmartServers
  • 500 EPS
  • 4,200 edge devices
  • 20,000 blocks
  • 50,000 datapoints

Small System Configuration

  • Remote CMS host computer: Beelink SEI8 Mini PC with Intel i5-8279U 2.4GHz/Turbo 4.1GHz 4-core 8-thread processor, 6MB cache, 16GB DDR4-2400 RAM, and 500GB NVMe M.2 SSD

  • 1 SmartServer

  • 50 EPS

  • 200 edge devices

  • 2000 blocks

  • 2,000 datapoints

Once you have the necessary hardware and software components for a Remote CMS system, go to Install and Start the Remote CMS to continue with Remote CMS setup.