First impressions of Copilot for Azure

First impressions of Copilot for Azure
Photo by Judy Beth Morris / Unsplash

It seems a new Copilot service is launched almost every week. This time, it's time for Copilot for Azure. I guess it was previously called Azure Copilot, but there have recently been some naming convention tweaks, so here we are.

What is Copilot for Azure?

Copilot for Azure is a generative AI-based helper tool that sits on the right-most side of the Azure Portal. I'd estimate the intended audience for this tool to be IT pros, administrators, and developers. People generally spend time within Azure Portal and those who work with PowerShell, Azure CLI (shell scripts), and KQL queries.

We recently did a podcast episode with Tobias for the Ctrl+Alt+Azure show on Copilot for Azure. You can listen to it here.

How do you get access to Copilot for Azure?

Right now, Copilot for Azure is in a limited public preview. You can apply for access by filling out this form. During the preview, the service is free of charge. No further pricing has been announced.

Once enabled, it's per Entra ID tenant - so it will be usable for all subscriptions within the scope of that tenant.

Using Copilot for Azure

To access Copilot for Azure, click the Copilot button next to Azure Cloud Shell:

This will open a side panel to the right, taking away about 20% of your Azure Portal window:

You can ask anything, but obviously, this is limited to stuff around Azure. There's a mix of guidance (presumably from Microsoft Learn) and insights on your data.

Here's an example. I asked the following question:

First, it's educating me on how to use a KQL query to find out about this myself:

Notice there's a Run button to execute this for me. Even if I don't choose to run it, I get the following explanation next:

You'll notice a "1 of 10 requests" note, implying that the feature is limited to shorter conversations during the preview. Once you hit 10, you'll have to restart the chat and lose the historical "memory" of your session.

Impressions on Copilot for Azure

It's handy, for sure. At times, it's clueless – seemingly, the AI bit loses context, assuming you'll want to target your question toward a single Azure subscription and not all of them in scope. Sometimes, it gives a generic explanation of how something generally works in Azure. Other times, you'll get exactly what you need. I realize it's very early days for this capability, too.

For me, it's helpful when I need something a bit more advanced - like the following query to figure out which of these three VMs is utilized the least:

Initially, it seems to be going to an obvious solution:

But then it loses track and fails because some VMs do not enable proper diagnostics settings. If I run the KQL query, I get a syntax error for tonumber(), which I guess should be toint() instead, there is a bit of hallucination here and there, which we probably all expect to see now and then.

Once I fixed the query, I got the results I was hoping to get. It's still miles faster than writing out the query by hand. And it's plenty more frictionless than hopping to GitHub Copilot Chat to generate a generic query and modifying it to fit my needs within Azure Portal.

What can it do?

It can do plenty of things. Provide KQL queries, generate PowerShell and Azure CLI (Bash) scripts for you, and provide a templating guide.

I am trying to generate a Bicep template for adding a new NSG entry for one of the VMs in my environment.

Instead of getting what I wanted, I got a generic explanation of how to do this in Azure CLI:

So, in a way, it's right - this is how I would perhaps deploy the template, but I don't have it yet. So, it's back to GitHub Copilot Chat to do the heavy lifting for me:

Well, it is what I wanted, but it has way too much cruft - and I'd have to go back and forth a few prompts to get this cleaned. Or do it manually, like we did before generative AI.

Closing words

It's a great start! I can see myself using this occasionally. I often don't just need a singular thing - I work with strings of issues and need these tiny building blocks to resolve the more significant problems. This usually requires me to use many tools – curl, GitHub Copilot Chat, KQL queries, resources.azure.com, etc. Copilot for Azure cannot do this for me - I still need to actively Alt-Tab around everywhere to get those grains of sand in the correct order. Yet, I see this as an excellent start for the less vexing problems: finding information rapidly within the context of my environment.

Additional resources