Multiple Servers vs. Big Server

Can anyone speak to any scenarios where it would be better to go with multiple servers begin a load balancer a.k.a. the scaled out architecture (backend gateway with multiple frontend gateways) vs. one large server handling everything (clients, tags, device connections, etc.).

I don’t have any numbers at the moment for device connections or tags just yet but I’m trying to get an idea so I can get the right server setup now.

The servers will be cloud hosted.

That is the key. If you aren't using MQTT or other local OPC/UA servers, you need a scale-out architecture. Almost all normal OPC drivers for PLC protocols are extraordinarily latency-sensitive. Mainly because they don't buffer streams of requests and reply in streams, but handle requests one-by-one. When the network changes a request that normally takes 0.5 ms into a remote request that takes 20 ms, you crush your communications.

Ok, if all devices are using OPC-UA ignition drivers (Allen Bradley and Modbus Devices) then keep all in one server? Or no?

Another option we are considering is using MQTT. In webinars I’ve heard that it’s very lightweight so put the Cirrus Links modules for MQTT on the one large server.

Would those to scenarios be good for one large server vs multiple servers?

No. Not in the cloud. These drivers need to be local to perform properly.

You would put the "Engine" module on one big server (to receive all the data), but you still need MQTT data sources. Those need to be local to your PLCs. Ignition Edge MQTT perhaps. Or third party devices that do similar.

Understood. There is not any way for it servers to be local. And I am looking into devices that run ignition edge.

I ma leading towards the route of 1 backend (MQTT engine module) and 1 front-end gateway to start with.

Thank you for your input. This helps me ask more precise questions for my call with a sales engineer.

Another benefit of MQTT over OPC-UA or other routes is that it is relatively easy to scale up the MQTT separately from the rest of Ignition. You can move the broker off to one or more standalone servers, and size those separately without having to consider any other loads on them. We’ve found swapping MQTT broker software to be far less painful than swapping almost any other infrastructure.

NOTE: You still need MQTT Engine on Ignition to suck in the data. The broker portion is provided by MQTT Distributor or Chariot if you go with CirrusLink, or by 3rd party options like HiveMQ or Mosquitto.

How much SSD storage would you need for an Ignition system?

Just trying to get an idea on size to estimate server costs. From thr ignition sizing guide we are looking at 1-100 devices with 1-50 clients (perspective sessions only). So now just trying to figure out server sizing.

From comments above this will be a 2 server architecture with a backend using MQTT and front end with perspective. Alarming and reporting modules wherever they need to be.

We are going with this from the server sizing guide:

8 Cores (4 GHz+), 8GB memory, SSD

1-100 devices
75,000 tags (10% tag history change at max)
50 concurrent clients †

So how much SSD do we need?

For the Ignition System, few SSD. Ignition itself is 1.6GB I guess and with the load of project it will hardly grow an additional 1GB. I would be worry of storage of the database servers.

1 Like