3 ms·
My main problem with Azure is all the artificial restrictions they have between 'SKUs'. In GCP and AWS you can, for the most part, mix and match components. AWS
by outworlder 4y ago
My main problem with Azure is all the artificial restrictions they have between 'SKUs'. In GCP and AWS you can, for the most part, mix and match components. AWS announces a new EBS volume type, you can be pretty much assured it will work with any instance type there is. Maybe some are more optimized than others, but if you want to attach them, they will work.
Not so much on Azure. Need to match your 'premium' instance with your 'premium' storage. And even when you use the correct SKUs(and correct instance types and whatnot), there are many limitations. For example:
"Premium SSD v2 limitations
Premium SSD v2 disks can't be used as an OS disk.
Currently, Premium SSD v2 disks can only be attached to zonal VMs.
Currently, Premium SSD v2 disks can't be attached to VMs in virtual machine scale sets.
Currently, taking snapshots aren't supported, and you can't create a Premium SSD v2 from the snapshot of another disk type.
Currently, Premium SSD v2 disks can't be attached to VMs with encryption at host enabled.
Currently, Premium SSD v2 disks can't be attached to VMs in Availability Sets.
Azure Disk Encryption isn't supported for VMs with Premium SSD v2 disks.
Azure Backup and Azure Site Recovery aren't supported for VMs with Premium SSD v2 disks.
"
AWS has very few artificial limitations. New disk type launched? Want to use as part of an Auto-Scaling group? Knock yourself out. Want that as a boot disk? Sure. Encryption? Available.
And that's only an example on the storage side. Compute, storage and networking are the bread and butter, and one of the very first services you would expect in the cloud today - before all the abstractions are added on top.
Many of those limitations are not very well documented. You end up learning about then when your Terraform code runs (assuming Azure APIs didn't throw cryptic 400 errors).
Then there's all the hidden surprises. I'm pretty much used to attaching a load balancer (any type) to any instance with no issues whatsoever – on AWS. Imagine my surprise when I added a private load balancer to an Azure instance and it lost internet connectivity! I understand all the SNAT B.S. now, but it feels like a very thin layer over a network appliance. And not what you expect in the cloud.
Maybe the more specialized Azure services (Active Directory, AKS) are a better value proposition. But compute, networking and storage? Go AWS or, even better, GCP. GCP will give you seamless VM migrations(none of this scheduled maintenance stuff), easy access to anycast load balancers. AWS will give you a myriad instance types and storage options, and decent networking. All of them except Azure will give you multiple availability zones everywhere.
- larrybud 4y ago(Disclaimer: I work at Microsoft) I don't think it's fair to generalize about limitations of Premium SSD V2 disks. This service is brand-new and still in preview; literally was announced today https://azure.microsoft.com/en-in/blog/azure-premium-ssd-v2-disk-storage-in-preview/ https://azure.microsoft.com/en-in/blog/azure-premium-ssd-v2-... Services in preview are just that, preview, and may not be fully featured yet. I would expect many/most of these limitations to be removed by the time the service reaches GA (just speculating, I don't have any specific knowledge of the service)
- odysseus 4y agoAWS does have a couple of annoying un-configurable limitations: * There is a Global Accelerator idle timeout of 340 seconds for TCP connections * And a Global Accelerator idle timeout of 30 seconds for UDP flows. These timeouts are not customer or support-configurable. Many customers have requested configurable Global Accelerator timeouts and AWS at least has a feature request open for it, but we have no way of knowing how or if they're prioritizing that.