Microsoft Screws Azure Customers and Its Own Advocates Alike
lastweekinaws.com
lastweekinaws.com
Having read the actual detailed article what seems to be happening is that some customers buy "on-premises licenses" without mobility rights, and MSFT used to let them use those licenses on outsourced hardware. But people were using those licenses to just put their deployments on general cloud services- which is not what the license was intended for. The license was intended for fixed, outsourced bare metal hardware.
Basically, MSFT is just catching up to the fact cloud services exist and you're going to need a specific license if you want to run the software on the cloud. Now, apparently this author finds this surprising, but given that the license he's complaining about is an "on premises" license it sounds more like MSFT were being generous by letting customers use the licenses on outsourced hardware, and never intended it to be carte blanche for running your "on premises" license in the cloud - which is very obviously not on your premises.
What it sounds like is happening at the moment is Amazon is running a shit tonne of MSFT software without any MSFT licenses. Which sounds pretty cheeky to me.
But you forgot to tell us WHY it is acceptable for Microsoft to charge their customers a premium for using their fully purchased licenses on a cloud provider of their choice rather than dedicated physical hardware. And why it is ok for Microsoft to create an artificial monopoly for these licenses via Azure Dedicated Host.
Microsoft sold licenses that could be used this way, customers used them this way, and now Microsoft wants to double-dip asking their customers to pay twice just to actually use their already owned licenses.
> What it sounds like is happening at the moment is Amazon is running a shit tonne of MSFT software without any MSFT licenses. Which sounds pretty cheeky to me.
That's not what is happening. People are buying Windows Server licenses and running them on compute that they rent from AWS. Until this change, that was completely inside the terms of Windows Server licenses (if for no other reason that they've been pushing hypervisor-based Windows Server virtualization for almost ten years).
Why is it okay for Apple to legally restrict OS X from running inside a VM or on a PC?
Welcome to price differentiation.
In fact, it's so not okay, that I don't play ball and I use hacks to get my 1080 support virtualization and pass-through.
It's also not okay for Apple to restrict what hardware I can run their software with. I have run hackintoshes and OS X VMs.
I voice my support and concern for these vendors' policies appropriately by using my wallet. The policies you listed are not okay.
Voting with your wallet would be not using anything from NVidia and Apple to start with, including the business opportunities it might entail.
That's RMS thinking. If you don't mind, I'll expand on it. Voting with your wallet includes not paying into third party workarounds because their existence depends on the bad actors to exist (in some cases).
However, I think NVIDIA is still leading the industry (AMD is catching up fast, but still lags behind) and I want to support their hardware development. However, I make it clear what kind of relationship I expect from them by virtualizing my Geforce instead of buying a Quadro. I also support open-source driver initiatives and abhor NVIDIA's practice of not releasing hardware schematics if they aren't going to open source the driver. It's a complicated issue.
In fact, it's so not okay, that I don't play ball and buy Radeon. Vote with your wallet.
(1) rent a VM with a license bundled into the per-minute/per-hour rate
(2) bring-your-own-license on "dedicated hardware"
(3) pay for software assurance
Looks like Microsoft is now phasing out (2), so now basically anyone who isn't large enough to have software assurance has only one price: the all-inclusive per-vm per-hour/minute rate.
It's not okay.
How is this anti-competitive? How is this customer-unfriendly?
In Universe A they sell only the most powerful version of the product for 1x price and them make some money.
In Universe B they sell the most powerful for 1x AND a slightly less powerful version for 0.9x price and they make MORE overall profit.
I'm not saying that's a bad thing. There are customers who will want to pay less and not need the most powerful product.
I fail to see how the company in Universe B is morally worse than those in Universe A. One could argue they are superior, in that they offer more choices.
Breaking up the total price of a product by it's component features and then creating variants of the sold product with certain features enabled vs disabled and hence having different total prices is one fair way of create products that are tailored to customers needs.
When pricing individual features, the prices may not correlate relative to each other. There may be factors like which features are most used by which segment of customers and how valuable the feature is to that segment customer and hence how much they are willing to pay.
Demanding that all the features should be sold at the lowest total cost doesn't make sense. We don't do this in any other domain.
But profits are somewhat besides the point: I'm saying simply that some policies are not customer friendly. Whether or not you consider that to be good or bad may very well depend on whether you are a customer or a shareholder.
Btw obviously I’m not talking about software. Im not talking about pricing things with no marginal cost.
Even if that were true, so what? Some customers are willing to trade less features for less money. It doesn't matter that other features are present but disabled. Those customers got exactly what they paid for. They're not getting cheaped out on.
The second part sounds kinda like “They don’t know they got screwed, so it’s completely fine”.
Scenario 1: Product has 3 features at x Price. New license is created with 4 features at price x+y
Scenario 2: Product has 3 features at x+y Price. Slimmed down license is created for a product 3 features at x price.
People applaud the former order, and cringe at the latter, but (at least in this artificial description, after the second option is available, the scenarios are equivalent. But something about loss aversion seems to trigger a moral sentiment.
As to what something is worth, surely the cost of production is not the sole factor.
Of course they would lose profit on the customers that would pay for X instead of .8X. "if i can buy the same hardware at 20% less cost why would I buy it at the full cost?"
But yes, the EULA restricts running macOS on non-Apple hardware.
They have not addressed or fixed this "bug", and instead point consumers to their ridiculously expensive Quadro cards, which are prohibitively expensive not to mention overkill for most consumers.
This "bug" can be fixed in some hypervisors, for example in KVM, by spoofing certain system information.
> Some vendors will sell chips with reduced function because it permits them to sell chips with defects that disable only specific functions, where the rest of the chip is fine.
If one is able to get a less expensive, albeit less powerful, device for cheaper, is there any difference?
But that was never what was really going on, all these were the same CPU design, except that when yield rates for the FPU weren't so good Intel disabled it and sold those as the 486SX. When sales of the 486SX outstripped supply of dodgy FPU 486DXs Intel removed the FPU altogether from new ones. Meanwhile the 487DX wasn't "upgrading" anything, it just disabled the 486SX and replaced it with a full CPU.
A customer is buying X features for Y dollars. It doesn't matter if certain other features are there and disabled, because that's not what the customer paid for.
Software does this all the time as well. Say you get the first three levels of a game for free. You have to pay to get an unlock code for all ten levels. Is it unfair that you really got the whole game for free and that you are being kept from accessing it unless you pay?
If you get the features you pay for, then the transaction was legitimate. Fin.
Meetings, sprint ceremonies, interruptions I've come to deal with as baggage that comes with the territory. But when I have to blow the dust off my olde Microsoft Licensing Nits and Pitfalls Tome and play license-lawyer again, that really sucks the life out of me.
Windows Server is a great product and I want to pay great money and use it without worrying about where in the cloud it's floating. Why even cut a distinction about what kind of machine is hosting your product, virtual or metal? Nevermind even talking about who owns that machine being an issue.
If that's the case, just use the windows license that's provided to you when you spin up an instance with your cloud provider. This is only for people using dedicated instances.
As a consumer, if you don't like it, you can always migrate away from Windows.
Because they wrote and own the software you are interested in licensing. If you don't like the license, don't run the software.
Microsoft has the leverage that open source projects like Redis and Elastic wish they had on AWS (and why those open source projects are updating their licenses to combat AWS' profiting off of their work).
As someone else has mentioned, Apple restricts how and where you can run OSX/MacOS. I don't think thats going to stop people from using OSX/MacOS out of principle (typo corrected).
If they stop people making money from it, it's not open source any more.
Spend a bit of time using a FOSS stack and stop creating anything new on the legacy proprietary stuff, it will solve itself.
Goodness knows there are a lot of other cloud options than Microsoft. If you're tightly coupled with one vendor you're gonna be at their mercy.
For most software deployed on a windows server, there is no compatible OS. There's no real choice.
Or rather, you can use the on-prem license in the cloud, but only on dedicated hardware?
If so, Azure Dedicated Instances would be able to use that form of the license, but why not AWS which also has a dedicated hardware option?
> Azure Hybrid Benefit for Azure only
[0]: https://www.microsoft.com/en-us/licensing/news/updated-licen...
Isn't that kinda the opposite?
Seems perfectly clear to me:
“Microsoft has introduced a preview of Azure Dedicated Host, which provides a physical server hosted on Azure and not shared with other customers.”, ref
Microsoft has introduced it's own dedicated hardware.
“Alongside this new service, the company has made licensing changes that will make Microsoft software more expensive for some customers of AWS, Google and Alibaba.”, ref
And made it more expensive for “running Windows Server on any cloud that isn’t Azure”.
ref: https://www.theregister.co.uk/2019/08/05/microsoft_licensing...
I think most developers would tend to agree.
Also as they pretty much turned a blind eye on this practice for years now they just created the perception that it is fine and legal. I absolutely can't blame people for getting mad at them changing their minds now. Either have a clear stance on it right from the start or deal with the backlash. That is, we still have to wait and see if/how much there'll actually be...
Slightly related to this: it was quite remarkable how long it took Microsoft to understand and accept that one OS install doesn't equal one (physical) machine. Even back in the old days when you just wanted to have a master hdd image to clone to all your workstations there was no official way to do this. Third party tools did voodoo black magic after dumping the image to the hdd. So it's not that surprising it took them so long to react here... Dynamically spinning up as many identical Linux VMS as you want and have them execute some container? Maybe network boot them? Crazy talk in Windows land for a long time.
I very much doubt they are just catching up. This was planned for years (if not a decade).
The thought process being, as everyone virtualizes their compute to the cloud, any cloud, make it easy for them to stay on their existing Windows license. Well, they couldn't prevent it anyway. So in fact, they actively encouraged it. This way you don't lose that customer forever (as they transition to Linux or other, but generally Linux). The customer is happy, the move is endorsed by MS, they only have to deal with the one transition and they can decide freely on cloud provider, which feels like freedom. Part of the plan being, hope the customer moves their Windows workload to Azure, with an expectation that it would be least-effort.
Now that the bulk of the shift (to cloud) has occurred, differentiate the licensing.
IMHO this is a trumped up complaint about change. Microsoft did in part bring this uproar upon themselves by making the scheme complicated, but at least part of that was unavoidable (given that they want to make moar monies).
Please note:
> Multi-tenant hosts are not affected.
which is likely most uses. It's only dedicated hosting (and only for "listed providers") that are affected. And Azure is included. The apparent escape valve of Azure Hybrid Benefit isn't much of one ... you have to pay for the AHB and you have to have software assurance. The same as on the other providers. This is how they will (rightly) escape any claims of anti-competitive behavior.
In a nutshell, for customers that care enough to want a dedicated (vs multi-tenant) host, which BTW Azure hasn't ever had before, that's the kind of customer that cares enough to closely mind their licenses. MSFT is now going to insist on collecting the annual software assurance fee from those customers. This is probably motivated by the ease of spinning up new cloud instances, vs new on-premise hardware. With cloud, it's oh so easy to exceed your paid-for license usage. At least if they force the software assurance fees, they collect a larger fraction of fees.
TFA is a low information rant, and even declares itself as such:
> The longer version is complex, nuanced, and exceeds my attention span
Any other cloud hosting provider, say Rackspace, can be used with on-premise licenses.
Hopefully the US Government doesn't deem Windows Server a monopoly or they're in deep trouble.
Not that I'm saying NodeJS backend with Website/Electron frontend is bad, but ASP.NET backend with WPF frontend seems great as well, just with more enterprise-oriented trade-offs, support cycles longer than one year but no cross-platform support (yes, ASP.NET core is a thing now, but that's a very recent development).
And compared to the cost of engineers I don't think many companies are that worried about spending 50% more on infrastructure.
Well, it certainly "runs" on Linux, but there are many limitations and bugs.
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-...
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-...
And this is typical when porting a flagship application to its non-original OS. I've seen similar issues with Oracle on Windows.
Wait, there are people who genuinely believe this?
Also, them open-sourcing a lot of their tools seems to back that effort up:
VSCode
TypeScript
.NET Core
Powershell Core
Just to name a few.
They really don't stand to gain much by open-sourcing their tools, though, besides developer goodwill, which is something that they sorely needed to remain competitive in today's market.
This is why there is Free software -- free as in choice, not free as in beer -- so users don't get locked in or forced into something other than a simple purchase.
I once interviewed at a young fintech company that proudly said they're Microsoft-first company (ie they use .net stack, azure, outlook and ms teams etc)
I was an exclusive Microsoft developer for almost 20 years until I started doing cloud deployments to AWS 2 years ago. Before then, server costs were someone else's problem. Now I’m doing a combination of .Net Core, Python, and JS/Node.
I realized that everything gets worse when you add Windows to any cloud solution - licensing costs, resource requirements, (I can do at lot with a very small Linux instance, Windows not so much), performance, startup times, easy scripting and automation, etc.
It gives me more of a reason to tell companies to move as far away from Windows on the server as possible.
I still develop on Windows,C#/.Net Core is my favorite language, don’t know much about Linux, and all of my “Linux deployments” are serverless with Docker/Fargate or Lambda.
I don’t have to worry about “server administration”, the one thing that kept me on Windows. We use managed services.
Are they not simply closing the loophole where direct customers are paying more?
I don't think that AWS/GCP guarantee that you are on a specific host for any period of time, and I think that in many scenarios, you cannot move Windows Server workloads more than once in any 30-day period. I think Microsoft's position is that customers on these platforms are likely breaking that rule.
That said, those same rules apply to ESX and HyperV, and Microsoft doesn't blacklist vMotion because it can violate an agreement. Many people see these sorts of actions as a part of a pattern where Microsoft is leveraging the existing license rights to drive Azure. That's how they are providing Windows Server 2008 extended security updates as well.
Also, not sure what huge risk you are talking about here besides licensing pricing?
Now there's a pile of legacy on top of Windows which is unavoidable but at this point I couldn't possibly consider building a product from scratch on top of something which has been basically a 20 year long bad trip. I will also push for everything to be moved off their platforms at every available opportunity.
On numerous occasions the pure frustration caused by MSFT has nearly made me quit the industry entirely.
To confirm, everything is greener on the other side. I do that too.
The many business risks of being 100% tied down to a single provider (Microsoft). Licensing is one, but also what would happen if Microsoft decided to kill off a service that your product depends on? You'd have to invest in finding an alternative and rewriting your software. Or what if Microsoft sells that service to another company which is actually directly competing with you, and then decides to stop providing third party access, or looks at your usage metrics/data to gain a competitive advantage over you. Or maybe Microsoft gets an incompetent CEO which drives the company to bankruptcy, and Windows and all their services you depend on are sold to hundreds of different companies which you now need to deal with.
Building your software on Linux or BSD means you don't have to worry about any of that since you own everything. It's like you're getting vertical integration for free. It's a no-brainer.
I don't disagree that MS could do any of what you mentioned but I'm not sure AWS/GCP etc wouldn't be as likely to as well.
It's not like AWS and Windows are for the cost conscious.
MS will probably transform into a bit like Apple for enterprises.
To me, that's all that's happening here. And the licenses purchase buy customer in the past weren't intended for Cloud Workloads. Sure, it didn't outline that you CANT use on AWS, GCP, etc. but that wasn't the intent.
So everything we host is Azure. We are a relatively small outfit, but a fair chunk of our 'stuff' is customer-facing. We haven't had any negative experiences yet at all and it's been a few years now.
The government does. Though AWS and IBM are also used. In other words, entries outside the bubble.
https://www.forbes.com/sites/jeanbaptiste/2019/08/02/amazon-...
Also if your stack is .NET you definitely need Windows Server. Even Amazon has some things built on .NET/Windows Server (woot.com)
I am running it in ubuntu production environment for an App i made. Very stable.
The .net core project indeed runs fine on Linux in AWS. It's a great success story for us.
The ASP .NET projects I maintain have a budget that doesn't easily allow us to just migrate them to .net core. There are some hairy legacy libs and code in there that would also prove challenging to resolve too.
There's also the question of SQL server. It's not so much of an issue when you're dealing with Azure, but SQL server on Linux isn't ready for prime time yet IMO.
It should absolutely be done, any company with old .net framework solutions that are not actively looking at moving them to .net core is being foolish.
But lots of companies are foolish.
If it only were that easy to move to Core. I thought I could sneak that transition into a few projects but there are a ton of little obstacles that make such an effort lots of work.
The fact that you can target .net standard with framework means TODAY you can sequester your framework specific things behind DLL's and put everything else on .net core officially.
I honestly think there's going to be a huge consulting/freelance market for it soon.
I wasn't trying to imply that it's easy, just that everyone should be planning out how to do it so they can do it slowly over the next few years rather than all at once in panic mode.
Props to MS for ensuring the two can live side by side the way they have. It makes the transition a LOT easier if you're smart enough to start it early and let it have a long tail.
I've personally done this a few times already.
-ish, from what I've heard of colleagues struggling with it.
Advanced features like the SQL agent and SSIS/SSAS/SSRS came later but the latest edition has pretty much reached parity across Windows and Linux.
>Three years ago, Mark Russinovich, CTO ofAzure, Microsoft's cloud program, said, "One in four [Azure] instances are Linux." Then, in 2017, it was 40 percent Azure virtual machines (VM) were Linux. Today, Scott Guthrie, Microsoft's executive vice president of the cloud and enterprise group, said in an interview, "it's about half now, but it varies on the day because a lot of these workloads are elastic, but sometimes slightly over half of Azure VMs are Linux." Microsoft later clarified, "about half Azure VMs are Linux."
And how did you actually come to that conclusion?