NDM is stable and it works really good. We have a bunch of CentOS servers and some RedHat machines - no incompatibility issues so far. I'd argue about PM2 adding his own Node.js version dependency to the deployment workflow. This is the same with NDM too. PM2 has some more stats like uptime etc, PM2 runs virtually anywhere where Node.js runs. But we had 0 troubles with NDM on our CentOS machines and it's launched pretty fast after restarting our machines. PM2 took ~2 seconds longer, which isn't a big deal but if every second counts to not violate SLA's then 2 seconds can be very important ;-)