I'd say the best way to host NodeJS apps nowadays is using FaaS (Function as a Service) providers such as AWS Lambda, Firebase Cloud Functions, Azure Functions... So that you don't have to pay for the time your app is not running and since the cost os based on app requests, you can scale your cost together with app usage.
In order to make deployment easier and decouple your app from the provider, you can use some framework like Serverless (serverless.com)