How prevasive is Node-RED used in industry / what are the key commercial use cases?

Hello,

Iam looking for a platform to focus on in providing a plugin for an API specification technology I am developing and am wondering if Node-RED could be a good choice -- i.e. offer an attractive platform for commercializing a plugin ...

I would appreciate any feedback on this ...

thank you,

Dan

I can't say in general, hopefully one of the core devs will chime in to give a wider view. However, I have come across it multiple times and here are some examples:

  • Integrated into IoT tools and services to provide a measure of end-user control, integration and workflow. For example Siemens use it a fair bit.
  • Hitachi I know use it and have contributed core code - not entirely sure what they use it for.
  • French enterprise outsourcer ATOS make use of it for integrating disparate data sources (ETL). I've seen it use to help with log aggregation and single-pane reporting.

I'm sure there are many other examples.

Another for the list:

Official Samsung Automation platform uses it.
Allowing users to connect their Samsung Smart Appliances

  • Ovens
  • Hobs
  • Refrigeration Units
  • Driers/Washing Machines
  • TV's
  • Etc etc

Connecting them all together via a themed /Public Node RED instance (you sign up to connect your Supported Samsung devices, gaining access to your own instance that they host)

We also use it to automate critical operation data.

  • Vehicle Mileage Tracking/Automation (GPS units send us odometer readings)
  • Client WO Automation
  • Microsoft Graph API Automations
  • Soo many more in my business

Thank you Marcus,

From a commercial perspective, I prefer to find B2B use cases over consumer ones.

I may be wrong, of course, but it seems to me that selling to consumers is very hard given the great variety of needs -- and the impact is rather limited vis-a-vis typical business use case.

E.g. if my plugin directly or indirectly reducing downtime (say because API issues are quicker identified and resolved) then in home appliance its mpt as much of a business case than say downtime in an industrial operation that can cost literally millions per hour.

Do you think code red is mostly used as "one of" glue -- or is it also used to establish distributed/asynchronous systems that interact in complex ways to achieve business objectives.

At least for us - we use it to glue our systems with various service providers.

Examples:

Client Request Portal -> Node RED -> Internal Systems
(we are seen as a contractor amongst many on various Client Systems - Facilities Managment SaaS)

Provider Vehicle GPS Reporting Service -> Node RED -> Internal Systems

Internal HR System <-> Node RED <-> Microsoft Graph

And not to exclude the obvious: Its running my entire home :smile:

Surely that is Mrs Davies rather than Node-RED! :innocent:

3 Likes

Seeking permission to respond from the boss....

Yup - your right :rofl:

3 Likes

Does service-orientation come to play in Node-RED systems -- such as one system requesting or activating diverse operations in others while monitoring operations is also a key requirement.

A term i recently noticed is cyber-physical systems.

For us - Node RED plays a critical role here:

  • A client raises a WO on their Facilities Managment SaaS
  • At a schedule we pull down these Requests using Node RED using an API to that SaaS
  • This creates tasks in our own systems for our field teams

Once we complete said Task:

  • Our own systems send a web hook to Node RED
  • Node RED sends the event back to the Clients Facilities Managment SaaS
    (with buckets of metadata)
  • Client reviews (and normally happy :unamused:)
  • Client Systems usually then get triggered with various things i'm sure

We use Node RED as a connector between "us" and "them"
The important thing here: Node RED is a canvas, what you do with it, is based on imagination :smiley:

Whilst I can't answer for other Service providers, I hope I'm answering correctly.

Installed in Windows servers, or Linux. It is capable to run applications you create. Printer servers. Database apps, and many other purposes. Use with the web interface, single or multiple users can access and use the apps. I have used it to work as an interface between apps that would not connect to printers due to incompatibilities. I have developed Line apps that monitor barcode reader data, classify and reports from MSSQL live and historical data. Store data with MQTT by use of a MQTT Data Store broker. So, yes, Node-RED is quite capable of industrial apps. It is matured since and is probably even better than the apps I have created and put into use.

Why not MS Dynamics 365? Better DIY or cheaper? Just interested why you decided to use Node-RED? A company I'm currently engaged with settled for Dynamics

Probably because of the eye-watering cost of D365! We use that extensively but I only recommend it for purposes that warrant a Ā£1m+ overhead. :slight_smile:

1 Like

Could you elaborate what you mean by this ? Are you referring to platforms like apigee or moesif ?

Something like this but with some additions that helps deal with exceptions across the API.

I wonder if exception handing is a key pain point -- i.e. developers would be interested in a solution that streamlines that.

Hey Dan,

Yes, we have customers using Node-RED for API management. One of them brought the swagger node to my attention, which can help with the documentation.

Grey

Thank you, Grey,

Could you elaborate a bit on the use case, how exactly Node-RED used for API management.

There seem to be three issues here:

  1. How to manage API design and evolution (versioning)
  2. How to monitor API use in real time
  3. How to document APIs -- for human consumption (or is it for tooling?)

Does this make sense?

Btw, API monitoring is very interesting to me -- it seems my work could make a contribution there -- to streamline the correctness aspect --

How painful an issue is correctness ...

I would imagine its a big pain point since domain requirements constantly change ...

Dan

  1. I don't want to get over my ski's here, but managing different versions could be as simple as a switch Node that could direct to different versions within the Flow. This also goes in tandam with leveraging a CI/CD pipeline to assure that rollouts go smoothly. We can help with the latter part here at FlowFuse.
  2. It depends on the metrics you are trying to monitor and how, but that is the beauty of Node-RED. It can solve any problem you desire. e.g., send the data to another solution or store the data in the time series database and query the information with a different Node-RED runtime.
  3. The swagger node can help with this exact part for creating documentation for human consumption on how to use the API.

I hope this helps.

Thank you.

I was more wondering about the pain -- in solving issues and cost of solutions.

Typically there is the "functionality" -- Node-RED can do things.

And then there is the complexity -- time and cost -- of reworking a solution -- when requirements change -- and how often and how broadly such changes must be dealt with.

Depending on the scale of the solution, and the frequency of changes, the cost can be trivial or formidable.

I wonder where in this range customer deployments reside.

I think the work I am doing doesn't offer value in simple cases -- infrequent changes and/or simple adaptation to deal with changed requirements.

Its more useful when there are complex monitoring issues, many changes can happen, and they can happen relatively frequently (e.g. new deployed customer systems every several weeks, or even continuous deployment), and when changes can make API calls fail due to changed requirements.

Dan