Technology stack required to run virtual labs in a browser

Sites like CBT Nuggets have virtual labs ( or even the Self-Paced Hands-on Labs from Microsoft run within a browser (

I am curious to know, what technology stack do they use to be able to run a VM environment within a browser?

I want to set up such an environment in the cloud (Google, AWS, Azure) for some courses I teach where I can provide the student with a link and they can access the pre-built lab environment within a browser to follow my course/instructions.

If anyone can point me in the right direction it will be much appreciated.