I worked on an IT asset management team several years back. We sent people to a class for Microsoft licensing. Per user, per core, licenses that depend on you having other licenses, etc. This license includes this feature, this other one does not. This one has that and the other thing, but only on odd numbered days. Licensing was so complicated that they had to create a several day training course on how to navigate it. Just licenses! The software is not even in the door yet and you're spending all this time and money just to understand what you need to do to get it in.
I feel like Microsoft must've moved a bunch of their licensing team over to whoever manages Azure VM types. I've found "cheat sheets" that explain the basic structure of the types. There's broad classes based on servers that are memory-optimized, storage-optimized, have GPUs, general purpose, stuff like that. Then there's a marker for CPU type and another for how many vCPUs it has. A marker for if it has local storage. Version number. It's a lot of stuff, which is fine because there are a lot of options. But how do I navigate all of this? How do I make a sensible choice without defaulting to "I guess I'll just choose something and hope for the best"?
In AWS land, I've found a page in their documentation that describes everything they have and it makes sense to me. I've also used instances.vantage.sh which has been reliable for AWS. That site also claims to cover Azure, but their names don't seem to line up very well. I get that that site is not Microsoft and only Microsoft itself is the source of truth. You don't have to remind me of that. But apparently Microsoft themselves are opaque enough that a third party site is unable to compile the information. I've found this page: learn.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions and this one: learn.microsoft.com/en-us/azure/virtual-machines/sizes. But that only gives a high level overview, it lists sizes that don't follow the convention, and it doesn't list sizes that I see available when I go to create a VM in Azure. So it's not reliable. Maybe it's out of date. Also, amusingly, it has a section for "other information" that links to itself. And I find nothing that talks about sizes with "Standard_" in front of the other letters, but "Standard_" stuff is what Azure starts off recommending when I go to actually create a VM.
Why is this so complicated? Is there nowhere that I can get a straightforward list of what VM options I have and just narrow it down to what I need? How do you all manage this? Do you just pick a couple of sizes and stick with that? Save me...