They are "lightweight containers" called "dynos" :)
Getting Started on Heroku with Node.js | Heroku Dev Center
Concept is very similar to Microsoft Azure CLI.
Deploying Node.js Apps on Heroku | Heroku Dev Center
Node.js | Heroku Dev Center
How Heroku Works | Heroku Dev Center
Dynos and the Dyno Manager | Heroku Dev Center
"A dyno is a lightweight Linux container that runs a single user-specified command. A dyno can run any command available in its default environment (what we supply in the Cedar stack) or in your app’s slug (a compressed and pre-packaged copy of your application and its dependencies).
For information about dyno pricing, see the Heroku pricing overview."
While the prices are very affordable for small "dyno" sizes,
larger sizes seem to be more expensive than on Azure.
Pricing - App Service | Microsoft Azure
a bit old comparison of "clouds"
Cloud platforms compared: Heroku, AWS, Azure, Digital Ocean, Google App Engine
while not quite slick as Heroku tutorials, Azure has a few "getting started" guides:
Get started with Node.js web apps in Azure App Service
Web App with Express (Node.js) | Microsoft Azure