Node.JS + SQL Server + MongoDB + Redis on cloud

My typical requirement is I want NodeJS application which interacts with SQL Server, MongoDb and redis on cloud.

Since this application will be using legacy database I cannot replace SQL Server.

NodeJS + MongoDB + Redis supported very well on Heroku.

NodeJS + MongoDB + SQL Server supported very well on Azure. (Redis support is there but via vm)

What are the recommendations for using all the components together?

In your case, it basically comes down to the decision, if you need Redis or not. While it's possible to get Redis running on Windows, or - as you mentioned - via a VM (potentially running on the same system, I assume?). Running it natively on Windows is not supported, and judging by a few experiments, I wouldn't recommend it for production-use either.

If you simply use Redis as a session-storage, you might as well put that part on MongoDB, and thus use the Azure-Solution. If you need Redis for anything else, you might end up with a scenario like me:

We're running Node.JS+REDIS+MongoDB on Linux, and MSSQL runs on a separate Windows-Machine. The connection from Node.JS to MSSQL is done via ODBC/FreeTDS, which performs well for the requirements I have (all other solutions in fact didn't work very well).

Reason we went for that was simply, that we at one point will remove the SQL-Server from the setup, once the transition is fully done.