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 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.
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)
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.
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.
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
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.
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.
The swagger node can help with this exact part for creating documentation for human consumption on how to use the API.
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.