Regarding the use of VMs, which I think is absolutely essential for medium to long term project maintenance, please be aware that some compilers such is Microchip's XC series are not supported under a VM unless you purchase a VM licence (a further $1k or so) on top of the server-distributed licence.
Apart from real support from Microchip techs, there's no need for a licence for Microchip compilers because they are using GCC which is free.
So, if it's only for the sake of unlocking the optimizations of the compiler, you can perfectly legally patch them yourself without the need of a licence.
Patching takes only 5 minutes.
It took a lot longer than 5 minutes to find all the right information the last time I tried a couple of years ago. In addition, Microchip histroically have fiddled with the way they do things meaning that any process that might've worked in the past sometimes doesn't work in newer releases. In the end I considered it not worth the effort to fanny about and renew my compiler licences when I need to. I've renewed them all this year, but this was the first time for over two years I've needed to.
I'm not excusing the compiler pricing and licensing model they use, just that sometimes life is too short. I simply found that the cost of renewing the compiler license was less than the cost of time lost to build my own, so it was a simple commercial decision.