So this is my in the trenches comparison:
- AWS documentation is excellent, Azure docs are weird and inconsistent and for some bits nonexistent.
- Azure API's are inconsistent and weird, but once you figure out they work relatively well. But the lack of documentation compounds confusion.
- Azure has a lot of very weird limitations that don't make any sense:
-- Default Centos images are 30GB osDisk and you can't resize them, you have to create your own images if you do want to.
-- You can have SSD's in 128/512/1024GB sizes and you pay for them in full, Spinning disks are billed per actual usage.
-- You have to store your osDisk image in the same storage account as your machine you are running (so you have to pay for your image the full SSD monthly price)
-- You have a VMSS (=Auto Scaling Group) and have a Load Balancer in front of it, your microservice connections fail if the load balancer routes the connection back to the same VM ... you now have to have another VMSS just for load balancing/service discovery.
- Their services labelled Beta are really more like Alpha quality.
- On the plus side, their ARM templates are richer and nicer to use than CloudFormation, however the lack of documentation for them kills all the advantages.
- When you jump all the hoops and get past the issues, the things work relatively well.