Microsoft: "Use our cloud and get infinitely scalable compute."
Also Microsoft: "No, not like that!"
Microsoft has quietly banned cryptocurrency mining from its online services, and says it did so to protect all customers of its clouds. The Windows and Azure titan slipped the prohibition into an update of its Universal License Terms for Online Services that came into effect on December 1. That document covers any "Microsoft- …
If you do that, coin mining is hopelessly uneconomic on a general purpose CPU
Given energy costs coin mining seems uneconomic on any hardware....and that's before you factor in the possibility that your 'investment' will vanish in a poof of smoke when a crypto exchange experiences an unfortunate event.
Far better to invest in something far less risky.
Seeing as your here, I've got a load of tulip bulbs I could do you good deal on if you're interested....
The moment people realised money could be made, the economics moved fast to favour those who could use the cheapest electricity, and made it uneconomical for everyone else. With electricity costs through the roof at the moment, I can't see how it is economical for anyone except those with surplus power to burn (maybe some renewables at peak production?) who can do it "for free", and that doesn't factor in hardware costs.
Way back in the dim and distant, you could "mine" bitcoin using a plug in USB stick that looked like a big pen-drive.
I have a couple in a drawer somewhere. I ran them for a couple of years, consuming maybe a few tens of watts, which is a rounding error in my electricity bill, then stopped, because the time between getting block rewards from a mining pool (of something like 0.00001 BTC) was getting into months. At the time, the sum total of all the BTC I'd "mined" was something around £75, and my hardware and energy costs were probably double that.
It's also worth pointing out that I did this as a curiosity, without a massive financial outlay, and not expecting to make money back from it.
Because of the BTC inflation since (over a period of more than a decade), that £75 of BTC is now worth a couple of grand. Not a massive amount, and I've "spent" about half of it (mostly exchanging for Amazon vouchers, or buying stuff from Pimoroni who accept BTC), but I do have something to show for it, just about, over a looooong timescale. However, with this sort of strategy, unless you were to sink lots of money into it, speculatively, early on, you'd hardly be making a living from it. I do wonder how the massive BTC farms in places like China do turn any sort of profit, especially now, when the hash rate is going up and up, and the hardware now needed isn't exactly cheap (we're talking peta-hash, not the mega-hash scale mining of 2007).
On the whole, I think the only way you could (potentially) make money on it now is to sit on some BTC you already have, and wait for the next "halving" when the price will (probably) jump again. I think there are going to be a few more of these, IIRC, abut 4 years apart, by design. That relies on knowing what is going to happen in the future, and the past is, of course, no guide to that. The price may well have fallen to zero before then.
"coin mining is hopelessly uneconomic on a general purpose CPU"
Correct. Basically anyone who is intentionally doing it is using the VMs they've got with lots of GPUs attached. Those cost more, which is probably why Azure has accepted miners before, but with the crash in prices, they've probably had some people not paying their bills as suggested in the article.
Meanwhile, if someone is doing CPU mining, then it's probably that someone is using unauthorized resources, from an external attacker having found a way in to an untrustworthy admin who thinks the increased CPU usage won't be noticed.
"There is something wrong with a price model that doesn't cover electricity and cooling costs"
Was my thought too, but bare metal servers also don't bill power and you don't see providers mass-banning crypto. Okay it's harder to police, for one of the many reasons why bare metal is just better, but you could write it in your ToS anyway just to cover your rear, if this was a thing. End of the day price appropriately, if you're that thin on margin that those costs matter, which is possible, maybe you should be looking at your business model or figuring a way to charge for wall power usage.
But yeah it probably is that despite the above, plus it could be argued about life-shortening various components.
No, running crypto mining in the cloud where you're paying for your compute isn't going to be cost-effective. How could it be?
So it follows that pretty much any cloud crypto mining is *probably* someone doing something they shouldn't, on someone else's dime. Folks with access to their company's Azure subscription who thought they'd do a bit of unofficial mining that they don't have to pay for, etc.
There are definitely specific use cases where you might want to do crypto mining, e.g. creating a dev environment for testing, and for those instances you ask and are granted permission.
For everything else, blocking it seems kinda sensible. MS aren't stupid, this is being done to protect people.
Microsoft over sell capacity on servers and don't want anyone to actually use what they pay for, it's as simple as that.
Mining crypto uses all the CPU horse power it can, therefore if you oversell capacity it will affect other users.
It probably also exposes issues with your CPU scheduler when you have a hog on your over sold machine.
This seems likely the explanation. You can't really have the load that you pay for, they assume you'll use less. Like broadband provision.
Not that I think it would be a sensible thing to do, of course - but bitcoin is just a compute load. How is it any different than someone who wants to compute Pi : it's the customer's decision as to whether the service is worth the cost. If the provider is making that decision then they've underpriced on the assumption you overprovisioned and they want to hide it.
I'd say that if I'm buying "compute" from a cloud provider, I'd like to pay for exactly the compute I use, and the provisioning should be invisible to me.
Sold by the processor cycle, if they have oversold and under-specced, then they are selling something they don't have. Equally, if I have provisioned a server, and it's not doing anything, I shouldn't be charged for anything other than the costs incurred by having it provisioned and sitting there, powered up, doing nothing.
"A server sitting there, powered on and doing nothing, is not really "doing nothing" there are stull CPU cycles running. It's only doing nothing when it is turned off."
Turned off, or running Linux. Windows is the only OS I run where 11% CPU is the average use when sitting idle. Multiple trackers, telemetry and file index exe running continuously that you cannot turn off or kill. I have three Edge processes running and I never use that frikking POS browser.
"Not that I think it would be a sensible thing to do, of course - but bitcoin is just a compute load. How is it any different than someone who wants to compute Pi : it's the customer's decision as to whether the service is worth the cost. If the provider is making that decision then they've underpriced on the assumption you overprovisioned and they want to hide it."
Treating mining as any other workload seems to have been the policy for a while. That they've accepted people mining on provisioned resources for years suggests that it was probably fine. This means one of two things:
1. They didn't underprovision for years, but they decided to start doing it now. Doesn't seem likely they'd change now.
2. They have another reason. The article suggests one: they're seeing miners stop paying the bills because the value proposition has changed for them. As those miners would have rented some of the most expensive boxes available, those would be some large unpaid bills. I can see why taking some losses and looking at having to file a lot of claims to recover unpaid bills would convince someone in finance that maybe we should cut off this kind of work entirely.
There's a third reason:
3. If mining becomes unprofitable, the miners will stop using the hardware that has been provisioned for it. Microsoft are then left with a lot of expensive hardware geared to a certain type of compute load that there isn't a market for (i.e. they have massively over-provisioned). They will lose money on this, because even if it is powered off, it's taking up space in a data centre, and if they unplug it, it's taking up space in a warehouse, and both of those things cost money to maintain. Mining workloads are a very narrow and specific type of workload, so those looking for more generalised compute capacity will need something else.
I think the actual reason may be a bit more subtle. Microsoft know that mining on cloud hardware isn't cost-effective. What they're actually worried about is that it might become so, if, for example, the cost of certain cryptocurrencies spikes. What they don't want is for someone to jump on there and immediately buy up all of their capacity, to mine while the price is high, and turn a quick profit, at the expense of their other customers. This sort of spike in demand would be reputationally very bad, because of this impact on other customers, who might start to question the wisdom of relying on "someone else's computer" for their workload.
How is selling capacity to customers who 'turn a quick profit' not exactly what cloud providers do?
Seriously. If a cloud customer was not making more money with the cloud - versus an on-prem data center - they would not be there in the first place. It is not Microsoft's responsibility to determine how much profit that cloud customer can make.
It is exactly that. However, there is a world of difference between maintaining a capacity overhead, of, say 10%, to cope with reasonably foreseeable increases in demand, and building more capacity as it is needed, and having all of that capacity instantly swallowed up, so that nobody else has any headroom. Crypto-mining has the potential to go from close to zero demand to very high demand in a matter of hours, and then back down to zero demand again as market conditions change. The provider either has to provision enough overhead to cater for this, and have that hardware stood idle at times of low demand, or run the risk of losing all of their overhead capacity at the drop of a hat.
It's much easier (and fiscally sensible) for them to say "nope" to crypto-mining, and cater for the known average growth rate for demand, and plan to provision data centres when they know they are likely to be needed.
In reality, I would expect all cloud providers to be doing their best to quantify anticipated demand, probably to a high degree of accuracy, and then to work out what the error margins are for that, and provision just over exactly that amount, and no more. That way, they minimise costs and maximise acceptable contingency.
"In reality, I would expect all cloud providers to be doing their best to quantify anticipated demand, probably to a high degree of accuracy, and then to work out what the error margins are for that, and provision just over exactly that amount, and no more."
That plan did not survive the meeting with sales.
It is simply credit risk management. Miners have high default risk due to their lack of tangible assets other than the extremely volatile crypto. Most miners using third party resources to make money need to bet that the crypto will increase in value overtime and thus they will tend hold-on to the crypto. If you allow them to mine without paying in advance or posting cash colateral in advance for resources capped in advance, you run the risk of finding after the fact that they have racked up massive invoice that they can’t honor because the crypto took a downturn and nobody is willing to lend to them to meet their short-term obligations. The most common outcome is for them to default in all their obligations leaving the cloud provider hanging with in the best cases only recourse to a bunch of highly devalued crypto with liquidity problems.
I thought my cloud environment was private and only accessible to me. Everything is encrypted, multiple levels of authentication, lose your keys & lose your access, we don't have any back doors...etc.
How will M$FT - at their level - know the difference between computing Pi to the nth level and cryptocurrency mining? They aren't supposed to be able to see inside my tenant, right? This can only be enforced if they can see inside my environment, in which case all semblance of privacy, security, and data integrity just flew out the window.
Either this exposes an issue for cloud data centers (dare I mention FedRAMP), or this is a bravo-sierra EULA condition that is unenforceable.
Mining algorithms tend to have a very specific and recognisable pattern of activity (which is how NVidia managed to do the whole LHR thing on their video cards).
Microsoft wouldn't need to know the exact details of your workload to be able to spot suspicious patterns, and investigate further. This might go as far as saying to you, "your pattern of activity looks very much like crypto mining. It couldn't be crypto mining though, because we don't allow that, and you wouldn't break your EULA. Do you mind telling us what you are actually using it for."
You'd have to be ready with a plausible answer, because "go away it's none of your business" is going to look extremely suspicious, and you might then find that Microsoft decide that they don't want you as a customer any more.
They don't actually have to prove anything either way, that would be down to you. Because "cloud" is just "someone else's computer", and they're perfectly free to say to you, "once your current contract is up, I don't want to let you use my computer any more".
OK, but...
1) OK, if other cloud providers are prohibiting it, then I guess go ahead. And I could see barring it due to the likelihood of non-payment.
but...
2) I also expect cloud plans to have (this was quite clear on the few AWS things I've looked at) "you get x units of CPU time, then get y amount of processing power after that" (essentially, they structure the plans so unless you're really paying enough to pay for using some CPU power 24x7 all month, you eventually get throttled down to a lower speed.) If it was a concern over capacity I would really hope Microsoft would just structure their plans like that, and then using a cheap plan for mining would simply be unattractive since you would not get the CPU power to do it 24x7, and plans with full CPU power 24x7 would be too costly to do it with.