Welcome to the forums @taylorbrooks_vskill - great to have you on board.
Being the Infrastructure & Development Manager I feel I can answer this (to some degree - other opinions exist)
Prior to our Use of Node RED... .NET (Still is to a lesser extent), was the main framework in all our Automations.
For a number of years, this caused problems - we are not a software house,
we are a refrigeration system manufacturing company - Design, Build, Service.
.NET was a skill held by only 1 or 2 members in the I.T department, and problem solving + Implementation was limited given the lack of exposure to .NET.
I wanted to change this (and did), and migrated (most) of our automations to Node RED.
- This changed the support landscape massively, as.... well... its javascript, a blocker has just turned into a "Oh... its Javascript, I can do that", when it comes to understanding logic and reason.
We have integrations with.
- Microsoft Entra ID
- 3rd Party Service Provider APIs
- Van/Vehicle Tracking
- Client Systems
- Supplier Systems
- Internal System Manipulation
- A few more (we have a lot)
And these have transitioned into Node RED - and we are Sooo very happy with it.
What I (we) learned on the way - DONT put all your automations in one Node RED instance.
Use something like Flow Fuse, or create Node RED "Units"
- Having 1 system go down, means it wont affect others.
- Keep it departmental (whatever works for you), but keep in mind the importance of one system to the next.
Some of Our.... Node RED "Units" need external input - and for this we use CloudFlare + Azure.
As for failures - We send Stats to a central system (PRTG) - so we have a dashboard that details all the critical value endpoints - and if one is out of spec - we alert!!
Some of the "Oh S**T" alerts. -we use an SMS Provider
- What was 1-2 staff, can the whole team now check (they all know Javascript)
When developing a new system automation, what turned into "It will need to wait for X", has now become, "lets prototype it in Node RED, and get it done"
I will repeat, keep importance segregated, meaning 1 system, cant take out another.
Lastly:
Document your Nodes, so an engineer working on the flow, can understand the reasoning behind it, and backup your flows prior to significant changes- <- A MUST
What we also learned is the license applied to certain 3rd Party Nodes, DO READ THE TERMS especially in commercial environments.
If you use 3rd Party APIs' implement some from of throttling -A few examples are here in the forums, to control the pressure applied to API's that should be managed.
A simple error, could knock out your flow if not correctly engineered
I hope all this helps.