Using a Windows VM in Azure as a replacement for Dual Booting/Local VMs

As a electronics/design engineer cum software developer, I use a Macbook Pro running MacOS. For anyone familiar with MacOS and it’s never-ending battle to sparsely support all games and design productivity software, it would be needless to mention that running my suite of design/editing tools on MacOS was a pain.

Previously, I tried my best to switch to mostly Unix supporting open source variants of my design tools, such as KiCAD for PCB design and FreeCAD for 3D modelling. But some tools, are just no replacement for professional tools such as the Autodesk Suite. Not to mention, in many undergrad level EEE modules, board logic design IDEs (like Vivado for Xilinx FPGAs) only support Windows.

As such, it is the burden of students to either dual-boot, run a local VM, or get an additional Windows PC. Knowing the performance bottleneck for my 8GB RAM and 256GB SSD Macbook running VMs and professional productivity software, I wanted to find an alternative solution to this problem.

That’s when I stumbled upon Windows VM support in Azure. Azure allows an individual to spin up high performance Window 10 VMs, with any compute/RAM configuration one might desire, and only pay for the duration of the time the compute resources are used (usually on the order of a couple of cents/hour). So I thought that it might be viable to use a combination of a remote Windows VM and RDP (Remote Desktop Protocol) to run productivity software remotely without performance bottlenecks.

And, Microsoft offers 200 dollars in free Azure credits to try it out so I had nothing to lose anyway.

After the short process of provisioning my Windows VM in Azure itself, I realized, that other than the compute platform itself, I would also have to pay a monthly fee to preserve disk storage which is also something on the order of 10 bucks/month. Additionally, the reservation of a static IP when the main compute platform is inactive/unprovisioned, also costs more per month. These charges are still pretty reasonable for the 16GB of RAM and 4 CPU cores I am getting.

You also need to setup a local RDP client using one of Microsoft’s provided apps. The Windows Remote VM itself, comes pre-configured with RDP support, so there is zero configuration to be done on that end.