The best thing about the Scale Out Architecture is that it is easy to scale up Ignition as your system grows. In the image below, we added more front-end Gateways to help handle an increase in clients, and a Load Balancer to automatically distribute the clients between them.
When utilizing Scale Out, an Ignition Gateway is given focus due to it's placement. There are two possible types:
- Tags & I/O: Also known as a Back-End Gateway, is responsible for communicating with the PLCs, and executing tags. They share their local tags with the Front-End Gateways via a Remote Tag Provider, and are generally responsible for recording history. Additionally, alarms can be added to tags locally, and exposed elsewhere in the system.
- Front-End Gateway: Sometimes called a Visualization Gateway, this gateway is responsible for hosting the clients, allowing the Back-End Gateways to focus solely on PLC communication and history.
With this type of architecture, both types of gateways will need database access: the Tag & I/O gateways need to be able to store data, while the Front-End gateways need to query the data out.
Scaling Out the Databases
Multiple on-site databases may also be utilized with this architecture. This typically involves configuring a database cluster.
Why Use the Scale Out Architecture?
Scale Out is utilized in large systems to distribute the workload across multiple servers. This is in contrast to a 'Scale Up' ideology where you have a single powerful server manage the whole system.
In this architecture, each server only deals with a small part of the overall system. Should a server fault, only that part of the system is hindered, allowing other parts in organization to continue uninterrupted. Applying Redundancy to the the Tag & I/O servers is ideal to maximize uptime.
Pooled Resource Usage
Since multiple servers are working together bottlenecks are reduced. A massive amount of work can be performed in this system without slowing down other servers.
Improving performance in this architecture is simple: add another gateway where appropriate. Because the system is spread out in purpose, it's easy to determine which kind of gateway to add. A Back-End Gateway would help if you're adding new PLCs, and a Front-End Gateway will help when more clients need to be active at a time.