DevOps Learning Weekly

Weekly: Microsoft Azure

Took an online introductory course (Udemy) on Microsoft Azure AZ-900 because lo-and-behold, my team has chosen the Azure platform for our translation services (will write more about this next time).

As someone who has been 99.99% working on the AWS platform and Linux systems in general, Azure feels pretty foreign because most of the concepts seem to tie into the Windows systems more so than anything else.

  • Access control? Active Directory
  • RBAC? Active Directory
  • Networking? Virtual networks
  • Pricing? Subscriptions
  • Compliance? Almost everything under the roof

The main difference I find between AWS and Azure is that: AWS is a loose collection of services that are “grouped” through networking, Azure is a logical collection of services that are “grouped” by “folders” of resources.

It’s slightly difficult for me to wrap my head around cause I’m so used to thinking of the services grouped by the network that they are part of, but Azure “forces” you to deploy them into Resource Groups, which is pretty much just a “folder” for most intention and purposes.

That said, I think most cloud computing concepts are rather transferable between different Cloud Providers. They all have a common goal of providing a highly available, fault-tolerant, scalable, cost-effective service, just with slightly different approaches to them, and how much of that complexity they expose to you.

One of the things I find very interesting is that Azure tells you about their strategy of updating their systems in their datacenters (rolling updates to protect against update failures), which is very reminiscent of Windows Update in general.

Generally, I like azure

I think how Azure handles services is very Microsoft-like. Many of the things are managed out of the box for you. There are sensible defaults where you can setup pretty much any basic service just by following their guides. There are not a lot of very complicated nested options that I could see in my brief time with it.

The services all seem to be really well integrated with each other. Everything feels like it has been planned and designed to work with each other. This sounds like a “given” but this is not the case with AWS. In fact, a lot of times many of the features that AWS has seem very first-cut or minimally viable. There has been many times where some simple solution that would have prevented workarounds only came after a few months or even years after the core service has launched on AWS.

However, credit where credit is due, there is always a workaround on AWS by combining the right services.

I have no idea how Azure would hold up in the long term, whether it is really more polished and less workarounds are required. It’s unlikely that I would find out anytime soon as my current team has no intention of shifting more workloads to Azure.

Did the online course help?

In the general knowledge area, yes.

But I was unable to setup Terraform on Azure for various reasons. They were all blockers out of my control, but due to my inadequate understanding, it took a much longer time to seek help (approval) from the correct parties.

That said, I was still able to complete my task of setting up the Translation endpoint with API keys for my team to use; albeit manually.

In summary, Azure seems straight forward enough that I could start deploying services without too much effort. While it’s a pain to do multi-cloud infrastructure, I’m glad that I had the opportunity to try out something like this.

Leave a Reply