Microsoft Azure: First Impressions (pt. 1)

  • Sorry to be a Debbie Downer right off the bat, but Azure is slow. The machines run fine, but resource creation and deletion is S-l-o-w with a capital S. It doesn’t matter how you interface with Azure, either. Whether using the CLI or the portal, be prepared to wait a long time for things to happen. Azure’s slowness is my biggest complaint about the service so far; it’s maddening enough that I don’t want to use Azure.
  • Want to use a service? You have to subscribe to it, first. With Amazon, if you want to use a service for the first time, just use it.
  • You can only have four cores running at once with your demo account? I ran into unexplainable errors creating a VM and was redirected to when I finally figured out how to run the ‘az” command with the “ — debug” flag.
  • I really like the idea of resource groups. You can delete the resource group and — so far — everything within the resource group gets deleted, unlike AWS Cloudformation where sometimes things get orphaned. This idea sort of terrifies me, as well. It’s too easy to wipe out an entire infrastructure if it’s all in one resource group.
  • The concept of VM extensions ( is cool as hell. Think of VM extensions as pre-blessed user-data for AWS EC2 instances. Granted, some of the extensions are questionable — who needs to back up a supposedly immutable instance? — but one must remember that a large share of Azure customers lift and shift their crusty legacy crap into the cloud and completely miss out on DevOps. Examples of VM extensions include configuration management agents like Chef, Puppet (eww), and Powershell DSC, Datadog (!), and anti-malware agents.
  • There seems to be a dearth of VM types available in different data centers. For example, I was entirely unable to spin up a Windows VM in the Central US region last evening. Sometimes, just playing around in the console, there will be three different sizes of VMs to spin up, while other times there will be only one.
  • Availability zones are a public beta feature, in 2018. From what I’ve done with Azure so far, it seems like the Microsoft team has different ideas about high availability than Amazon’s approach. For instance, there are availability sets, which span fault domains and update domains. A fault domain is all of the VMs that are connected to the same power source and/or physical network switch. An update domain is a collection of VMs that are affected by (lower-level?) system restarts.
  • Networking is…weird. See availability zones, above. You can take advantage of AZs for some services, but virtual networks isn’t one of them. I have no idea how subnets align with availability zones within a region. I tried to create multiple VMs in different availability zones, in the same subnet, thinking that maybe AZs spanned one big Layer 2 domain, but that’s not the case. The VMs just wouldn’t spin up.
  • Some of the examples I’ve been following actually encourage the use of static IPs, which boggles my mind. With AWS, it would make sense to create an elastic network interface to bind to Active Directory Domain Controllers, and then change the DHCP option set for a VPC to point to these “static” IPs, so there’s definitely a use case for static IP, but applying static IPs to load balancers is bizarre.
  • There’s no need for NAT gateways. Microsoft has three distinct means of providing outbound Internet access to VMs in a virtual network:
  • I haven’t played with DNS yet, or I have only played with it a little bit, but there appear to be bugs in the Azure CLI? I can create an Azure DNS zone in the portal, but I can’t create one using the ‘az’ command.
  • There isn’t an equivalent service to Amazon’s ACM, that I’m aware of. Nor do you store your SSL certificates in their IAM equivalent. Free SSL certificates are kind of a big deal.




Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Google Data Analytics Professional Certificate: My Review and Study Notes

Lambdas — The foundation of functional programming

InvArch Is The Future  Recently, InvArch has released Big updates regarding the names and…

What are the use cases of a Jupyter Notebook in data science?

Web Frameworks for Python- Django & TurboGears

Java turns 25-Brief Timeline

Version controlling and NoSQL

How Long Should Powerup Effects Last?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Greg Swallow

Greg Swallow

More from Medium

Sharing your Azure infrastructure components with your DevOps teams

Hello Azure: An Introduction to Cloud Computing

How to Recover/Restore a deleted Azure Git Repository?

(Granular) Diagnostic settings via Azure Policy