- Azure is generally slow, both in terms of the API and the machines themselves.
- The cheaper machines with one CPU actually provide a very small percentage of an actual CPU's computing time.
- It takes minutes to create a VM and all of its resources.
- Same with deleting it.
- Deletion of connected resource must be conducted in specific order, or the resources must be disconnected first. e.g. cannot delete a NIC while it is assigned to a VM.
- VMs seem to be created one by one, even if the calls to create them were made in parallel.
- No sensible API lifecycle management. They just cut off a new version with a timestamp in module path, resulting in many, many versions to choose from.
- This results in so much code that the Go lead developer comes over and scolds them: https://github.com/Azure/azure-sdk-for-go/issues/1969