Wednesday, February 7, 2018

Learning Azure while mining cryptocurrency

One of the things that I advocate when it comes to learning new technologies is to find a use for it that interests you. Typically, that means find a problem you need to solve as I have said here:

Scratch your own itch

I used this approach to learn about Azure many years ago as I detailed here:

I finally get Azure

I continue to try all sorts of things in Office 365 and Azure but I thought I’d share this experience of using Azure to mine cryptocurrencies.

Warning, warning, spoiler alert – it isn’t profitable from what I can see to use Azure to do cryptocurrency mining. In 24 hours I managed to mine $8 and it cost me $50 in Azure credits. Not a good ROI, however what I learning during that same period was huge.

My aim was to determine how well Azure IaaS faired when it came to mining and what was the optimal family of VMs to use. I settled on using Minergate as the software to do the actual mining. Yes, there are better options when it comes to mining software but Minergate is free, is a simple install and can be set up in a few minutes. Minergate allows you to mine multiple coins, but for this experiment I stuck to just trying to mine Monero.

image

I then proceeded to run up various Azure VMs, install the Minergate software and complete a benchmark. I then set the machine to mining and looked at the Hashes/sec as a second data point.

You can see the results from the table above. The winner was the NC12 VM, even though it was the most expensive to run per minute.

So why do I have two entries for NC12 machines in the table above and why are the results so different? Interestingly, when you run an N series VM in Azure it doesn’t include the drivers for the GPUs. Thus, without installing the drivers you get a plain old CPU server. You’ll find the GPU drivers here:

Set up GPU drivers for N-series VMs running Windows Server

As you can see from the above table, with the GPU drivers loaded the benchmark jumps 3x fold!

Obviously, the more CPUs and GPUs you throw at crypto mining the better results you are going to get and that’s why I reckon the DS5_V2 promo machine is also a good option. The downside here is that the promo pricing won’t last forever in this machine. If the pricing goes up, then it will become less economic to mine.

All in all an interesting experiment and learning experience for me. I will continue to fiddle with crypto mining on Azure down the track and try stuff like using Linux instead of Windows as the OS and maybe look at some clustering options. However, my personal take away is that crypto mining on Azure isn’t economically viable and given that Azure rolls up costs like electricity into a single per hour cost, I don’t see how it can work economically for an individual if they use their own on premises hardware. I’m sure some people do make money mining crypto at home but, at this point, I can’t see how it can truly be profitable.

image

Another Azure activity I saw in action was the Security Center which flagged Minergate as malware on my VMs. I’ll now sit down and start playing with this more.

Azure, always interesting but for crypto mining not really profitable (yet!).