I need a help regarding Node-red at enterprise level As I want to use Node-red to collect data from Siemens S7 PLC for my project I/O may vary from 10s to 1000s and I am gonna use Node-red on my desktop computer so I want to check anybody is working on Node-Red at enterprise level with such a large I/O and what are there opinion regarding Node-Red ?
Hi, developer of
node-red-contrib-s7 here. We use Node-RED to collect data from Siemens PLCs in the industry at levels like you mentioned very reliably. Te actual amount of variables will depend on their type, your network throughput and round-trip delay (the S7 communication protocol has a pretty big overhead), therefore I'd recommend to put your collecting device physically as close as possible to the PLC.
We develop and use ST-One for tasks like this, so you can have Node-RED running just beside the PLC, and from there on perform any analysis or send the data to wherever needed.
I use it in a large medical setting (handling routing for messaging, watchdogs, protocol translations, logging to database) and I've had quite a bit of succcess. One instance (we have several spun up) processes a couple million messages a month and chugs along just fine.
We use Node-Red as an Enterprise Service Bus (ESB) and Extract Transform and Load (ETL) tool to integrate 8 different cloud systems ... copying records between the systems via cloud APIs. Once we had our config down (there was some mucking about with PM2 on our Cloud VM), we've had zero issues with reliability[*see note].
As far as data volumes we mostly have to throttle node-red (delay node set to rate limit) so that we don't trigger usage restrictions on the webservices we are calling or hit issues with overwhelming databases with the number of transactions we were pushing through.
I am gonna use Node-red on my desktop computer
Note: you're not going to get "Enterprise" reliability running on a desktop computer but we had good luck running one of our process on a laptop for a couple of months with no reliability problems. If you are running it on a desktop ... I've had better luck running node-red on an Ubuntu Windows Subsystem for Linux (WSL) instance rather than the default windows install (but I think that was mostly due to the add on modules working better in that environment).
Might be even better to just get a Rasberry PI and a good power supply (lot's of discussion about that on this forum).
[* ] Note: while we've had near zero issues with Node-Red itself ... we've had some issues with modules added via the pallet not handling errors correctly (things like outages on the other side) ... so we couldn't rely on our catch nodes to catch everything and had to monitor the error out logs. In some cases we were able to fix the error handling in the module.
Wow, some great stories here. Really nice to see Node-RED being used in enterprise settings.
It would be great to see more blog posts about enterprise use of Node-RED so that more people had confidence in it. It would be particularly good to see posts describing their architecture and giving hints and tips. I know that isn't always possible due to commercial issues but still it would be great if a few more people could get the word out.
Using Node-RED as an ESB is an interesting idea and it would be good to know if you compared it against other tools before committing to it.
ETL use is a more common use for Node-RED I think?
Great all round and a nice thread.
I would also recommend using a Linux base OS for Node-RED as well. Generally fewer overheads and battle tested throughput.
Third-party modules may indeed be an issue. There are modules with poor documentation, stability issues, some affecting even the whole Node-RED. Therefore, whenever we need to use any new (for us, at least) node, we test it very well before putting anything in production. This same advice we give to our customers. Despite of that, Node-RED is awesome
Another thing that would be very nice would be to have more Node-RED talks and events. There have been some talks already, but public talks about successful use-cases would encourage people to use it as an enterprise-level tool.