What is your Ignition Development Environment

I am setting up a development server and would like to know what others running. I have decided to go with Linux and installed Fedora with GUI (for easy use) on a machine with an i5, 32G of ram and 3 500G SSD's. One for operating another for database and the last for backups.

I have control over this machine to do what I want an I want it fairly easy to use and flexible since it's a test area. I am slowly learning CLI but since I don't use it all the time, I can never remember things and it's faster to use a GUI for things.

I installed Cockpit and have to VPN into the domain to get access to the web UI.
I have used VirtualBox in the past but think I am going to try QEMU. I have to be able to control the network because I want to use a NAT type connection so that I can set the tester up with the same IP without having a conflict on production network(domain).

Just wondering what others are using and importantly your pros and cons with it.

If it's dev, that's fine, for production ideally you want a separate box or VM for Ignition and your DB.

Type "history" in your CLI. This is your best friend, shows all commands since you ever started using it, even survives reboots. If the line you want to use again is 261, then type !261 and it will reenter that command for you.

Nice tip! Thank you.
I here lots being said about separating the database and Ignition. I was wondering if there were more reasons other than stability and managing the database?
The production server is Windows server. That is under IT and they are difficult to deal with sometimes. I usually have to learn about whatever I am dealing with to be able know if their difficulty is warranted or not. I still need to learn about windows IIS.

Two primary reasons:

  • Without careful configuration, DBs and Ignition will compete for resources, to the detriment of both.

  • Ignition has a very different CPU usage profile from a database. Ignition runs best when total CPU usage is low, which permits cores to tackle the many small workloads Ignition produces with low latency. (This is particularly important for PLC comms.) Databases run best when cores can run uninterrupted to complete the in-memory filtering and ordering tasks of a the various queries that the application demands. When co-resident with Ignition, a moderate DB workload will crush Ignition's response times.

The simplest way to ensure no interference is to run the two on separate, dedicated physical servers. A reasonable alternate in many cases is two separate VMs where the hypervisor is not overcommited (each VM has a pool of CPU cores that other VMs cannot steal). This latter situation looks really bad to IT, as it appears to be an energy-wasting un-optimized workload, and ignorant IT types will "fix" this for you.

4 Likes