It may be worth looking into Docker - it’s a lighter weight way to run multiple, separated instances of applications, compared to VMs. Generally speaking, you’ll have the best experience running it on a Linux host (which can, itself, be a virtual machine, in a real ‘nesting-doll’ type of situation). Once you’ve got Docker, I highly recommend using a GUI frontend like portainer to manage your actual containers. You can also pull down community-created Ignition templates: https://hub.docker.com/r/kcollins/ignition (at some point, we would like to have official Ignition docker images published, but no timeline on that).
You can even run database instances in separate docker containers, and easily wipe their data/reset them as needed.
There’s some startup cost, but (in my opinion) it’s easily worth it. I’m using an Ubuntu workstation, and I have at least 5 docker containers running all the time - two databases, a few Ignition instances on different versions, etc. That’s just for personal use - if you’ve got a beefy server, you can easily scale that to multiple users.