In general, there are some good practices to follow, below I'll list them:
1) Build, if you are using some transpiler, such as Babel or TS, it is recommended to buildar for JS in the version of your server.
2) Do not use Process Manager, such as PM2 or Nodemon, as they manage processes and open processes, I recommend that you use Kubernetes or Docker Swarm to cluster the application, they are more considerate and efficient in this regard, unless you have a application of a single server instance.
3) Have a loadbalancer
4) Avoid exposing your API publicly, always keep exposed Balancer forward,
5) Avoid clustering within your native Node application, it tends to consume more resources and generate complexity.
6) Make a URL even if not exposed to the health check audience, basically a URL that checks if all the services your application depends on are available or even your application.
References
link