Things I like and dislike about Azure

4 minute read

So yes - I’ve started using Azure. And no - this is not the same as AWS. And here’s why. This is going to be a totally subjective opinion based on my short experience I had with it and comparing it to my favourite cloud provider (AWS). I admire Microsoft for trying to keep up with AWS and for quickly deploying new services. I like to also have a choice, cheaper and innovative services (especially the ones for containers like AKS), but I’m also very picky at the same time. I spent a couple of days so I don’t have full knowledge on all of the features, however I can already tell which things are good and which are done better on other, major platforms.

What I like

Web Interface

It looks really nice and I like nice looking dashboards :-) It is colourful, not as minimalistic as AWS, but really useful. I especially like this fancy way of putting your favourite widgets as tiles - it really shows they care for those cloud geeks as well :-)

Login from CLI

I like the way they handled login part after you type az login - it is really nice feature that doesn’t require storing keys, secret keys or any other confidential data on your disk. It is very convenient and fast when you start managing it via cli. Awesome!

CLI is pretty good

For people like me managing via code is essential. CLI tool for doing it with Azure is pretty good. It’s good I don’t have to learn Powershell and I can use my good, old bash for interacting with it.

Resource groups

This is similar to GCP projects and is also very convenient. After you’ve done playing with your test/lab environment you just delete whole resource group and that’s it - no more searching for orphaned resources, no tagging policies - simple and clever.

Single Sign On

This feature is available for organisations that use Office365 and their subscription is associated with their existing accounts. I like SSO cause that just make life easier. Oh - and it also allow me to be even more lazy!

What I dislike

Confusing VM sizes names

It’s not even close to AWS naming scheme which is far, far more intuitive. Come on - for general purpose machines you have names such as:

B, Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7

Dsv3?? Dv3?? A0? Seriously Microsoft? And I’m also not a fan of CamelCase naming - I’m lazy and don’t want to use shift if I don’t have to.

Terraform support

Although I know Microsoft works with HashiCorp to provide better support for Azure (they have a team of people working on azurerm provider) currently Terraform doesn’t work as smoothly with Azure as it does with AWS. As an example - there’s a known bug that requires you to re-run your plan to get IP address of your machine in output. It works well on AWS or GCP and is commonly used by many modules.

Poor cloud-init support

Who wants to use some waagent (WALA) on Linux virtual machines when you have a standardized way of bootstrapping your vm and it is called cloud-init. I know it’s available on some of vm images available - the documentation clearly states that Currently Azure Stack does not support the provisioning of RHEL 7.4 and CentOS 7.4 using cloud-init. I’ve also had some problems with Terraform and bootstrapping using custom-data and couldn’t troubleshoot it in reasonable amount of time, but it’s just me. On every cloud platform I’ve used it works out of the box.

Please Microsoft - stop trying to invent your own methods and standards for solving problems, especially for those from Open Source world - they have probably been already solved by well-known, tested and open-source solutions

Premium storage

You know that you’re using enterprise cloud whenever a premium options are available. It cannot be some tiers, but a sophisticated names that distinguish it from options for not-so-enterprise customers (i.e. too poor or stingy). Cheap marketing trick that probably works or is even considered as necessary for Azure target groups.

Slow support

How much does it take to wait for possibility to pay Microsoft more for their cloud? 2 hours? 1 day? How about 9 days? I’ve tweeted about how I waited 9 days for my cpu core quota increase. 9 WHOLE DAYS for simple quota increase (from 10 to 30 in case you may ask whether it was some huge case requiring thorough investigation from support). Insane! On AWS for simple tickets like this I got it resolved in a couple of minutes.

Update 29.3.2017 I got an answer for another quota increase request from 10 to 30 cores in North Europe region and that’s what I got:

Europe North region has seen unprecedented demand for the D/DSv3 and E/ESv3 Series SKUs and we have expedited the new capacity refresh. Till new capacity arrives, we are prioritizing our existing customers with approved quota to ensure that they get the best experience from the platform and hence we are restricting new customers/backlogging new quota asks.

They don’t have enough resources… Specifically they can’t let me use additional 20 cores there.

Things I cannot comprehend

Jsons. Jsons. Jsons are everywhere and they are horrible to read. Have you tried “decrypting” deployment template? Nightmare.

Leave a comment