# Important to my work future, Can i use nod-red to make REST API for big websites

**URL:** <https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375>\
**Category:** General\
**Created:** [26 March 2022 16:10 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375 "2022-03-26T16:10:25Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![xtwiny](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/xtwiny/32/59115_2.png) [@xtwiny](https://discourse.nodered.org/u/xtwiny)\
**Post date:** [26 March 2022 16:10 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375/1 "2022-03-26T16:10:25Z")

</div>

Dear node-red community  
my question is can I use nod-red to make REST API for big websites, like ERP system for a university, I have used node-red for one year and I love it, making for example

- The basic system (stores - sales - purchases - accounts)
- Garage system and personnel affairs
- Import and documentary credits system
- Production and Manufacturing System
- customer management system
- students management system
- teacher staff management system
- notice: that the API will be used by about a million people ???

---

<div class="post-metadata">

**Author:** ![krambriw](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/krambriw/32/5429_2.png) [@krambriw](https://discourse.nodered.org/u/krambriw)\
**Post date:** [26 March 2022 16:17 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375/2 "2022-03-26T16:17:46Z")

</div>

Unclear what all your use cases are - better spec from you is needed - but one thing to consider before you even think starting, Node-RED _does not_ have a multi-user & multi-tenant support that I would assume is needed when reading the lines you typed. Do you mean you wish to run Node-RED as a layer between end users and all those already present systems listed?

---

<div class="post-metadata">

**Author:** ![xtwiny](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/xtwiny/32/59115_2.png) [@xtwiny](https://discourse.nodered.org/u/xtwiny)\
**Post date:** [26 March 2022 17:22 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375/3 "2022-03-26T17:22:29Z")

</div>

thanks for replying @krambriw  
Look I mean I want to make a website, for example, I want to make a forum like "Node-red" forum that use a single database, and users will make a post and reply by using REST API has built by node-red, via http, https ... etc requests, I built CRUD by VueJS templates on server port: 80 and requests go to Node-red REST API on the same server on port: 1880 via Http and https requests and then Node-red response the processed data (Using Node-red as a backend to make processes), I will use nodes in node-red to interact with database methods like (SELECT, INSERT .... etc), write or remove files on the server using node-red ... etc, (nodes benefits) that's what i mean they will using node-reds node via http, https request only not logging to node-red flow editor. I want to use it as a back-end REST API, Am i explaining the issue well?

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [26 March 2022 17:51 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375/4 "2022-03-26T17:51:46Z")

</div>

There is a LOT to your request. And not a simple yes/no answer.

_Could_ it? Yes. _Should_ it? That is a much harder question.

As Walter has said, Node-RED is not really geared up for handling multi-user authentication/authorisation. That may be best done externally to Node-RED (e.g. via a reverse proxy). So Node-RED won't be the only component if you do decide to use it. Security for any web application is fraught with complexity and very easy to get wrong. Please don't underestimate the effort involved.

Then there is the fact that Node-RED, being a Node.js application, may be tricky to scale. It is possible but it may not be simple. So you will need to be prepared to do some testing at scale and learn a lot about how to make performant Node.js applications at scale.

> [@xtwiny](#):
>
> via Http and https requests

There should be no use of port 80 or HTTP outside the server itself (or possible outside the secure network the server is on).

> [@xtwiny](#):
>
> I want to use it as a back-end REST API, Am i explaining the issue well?

Yes, well enough.

I don't want to put you off completely but I'll point out 1 last time that you are adding a LOT of complexity by using Node-RED and will actually be getting very little value from it.

That is not putting down Node-RED, simply acknowledging that it is complex. It is great at what it does but it isn't a miracle worker. It is designed to be a generic low-code application platform. Easy of entry is paramount, performance less so.

So Node-RED is an excellent tool for prototyping what you want. And it is certainly possible that it could be performant enough - but that is far from a foregone conclusion. It is dependent on things like:

- How many users
- How many users will use the service at the same time
- How active are those users
- When active, how many calls to your API's will the users be making
- How complex are the API calls
- How much data will the API be handling

I'm sure other people can think of other questions but that should give you an idea anyway.

---

<div class="post-metadata">

**Author:** ![xtwiny](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/xtwiny/32/59115_2.png) [@xtwiny](https://discourse.nodered.org/u/xtwiny)\
**Post date:** [26 March 2022 21:18 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375/5 "2022-03-26T21:18:48Z")

</div>

thanks a lot @TotallyInformation for replying, the question is how can I measure the performance of node-red applications to know if it's good for my project or not?

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [26 March 2022 23:03 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375/6 "2022-03-26T23:03:30Z")

</div>

The usual way is to set up a simulation. Put together a representative system and simulate a reasonable set of clients. Measure the resource utilisation on the test system. From there extrapolate to the expected number of users, etc.

---

<div class="post-metadata">

**Author:** ![xtwiny](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/xtwiny/32/59115_2.png) [@xtwiny](https://discourse.nodered.org/u/xtwiny)\
**Post date:** [26 March 2022 23:28 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375/7 "2022-03-26T23:28:46Z")

</div>

thanks a lot @TotallyInformation , I've spent time searching in the forum and I found a similar discussion

[https://discourse.nodered.org/t/node-red-use-as-a-full-stack-backend/50392/15?u=xtwiny](https://discourse.nodered.org/t/node-red-use-as-a-full-stack-backend/50392/15)

my question is: can node-red REST API handle a million users or more but must use multiple instances?  
can you explain to me how it's done?  
I searched for node-red multiple instances and i found something like that  
node-red -p 1881 -u /home/_ **/** _/_ **/** _  
node-red -p 1882 -u /home/_ **/** _/_ **/** _  
node-red -p 1883 -u /home/_ **/** _/_ **/** _  
is thats mean i make different clone my node-red API in many folders and make it working in different paths?  
if its a true, how it does working?  
if solving is correct , how can i do that?

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [27 March 2022 00:36 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375/8 "2022-03-27T00:36:11Z")

</div>

You are asking questions for which you need professional help not a free forum.

---

<div class="post-metadata">

**Author:** ![xtwiny](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/xtwiny/32/59115_2.png) [@xtwiny](https://discourse.nodered.org/u/xtwiny)\
**Post date:** [27 March 2022 11:06 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375/9 "2022-03-27T11:06:53Z")

</div>

@TotallyInformation i see , thanks for replies and your time 🤝

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [26 May 2022 11:07 UTC](https://discourse.nodered.org/t/important-to-my-work-future-can-i-use-nod-red-to-make-rest-api-for-big-websites/60375/10 "2022-05-26T11:07:40Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
