WTH is Azure Copilot?

Another day of the week, another Copilot has been released by Microsoft. This time, it’s the turn of Azure. Azure Copilot is an AI assistant designed to help you with your Azure subscriptions, but what can it do, and is it any good? Let’s take a look.

What is Azure Copilot?

Azure Copilot is an AI assistant that combines a Large Language Model (LLM) with the Azure resource model and the data in your subscription. Essentially, it’s an AI that knows about your Azure subscriptions, and so you can ask it questions about your Azure resources. Some areas where it can help include:

  • Explore your resources by running Azure Resource Graph queries or generating queries for you. If you’re like me and struggle to remember KQL syntax, you can give it a plain text query, and it will provide you with the KQL
  • Optimise Cost - Copilot has access to all your Azure cost data, so you can ask it questions about what resources are costing you and where you could make optimisations to reduce cost
  • Get insights into performance and metrics - using your Azure monitor metrics, you can ask questions about application performance, errors and even anomaly detection
  • Resource creation - you can ask Copilot to create a resource, and it can generate CLI commands to run them, but you can also ask it something like “create a low-cost VM, " which will give you CLI commands that use specific low-cost resources. You can even get it to run those commands for you.
  • Ask architecture questions - Copilot also has access to things like the Azure Well-Architected Framework and other architecture resources, so you can ask it questions about how to best design your Azure solutions
  • Support and troubleshooting - Copilot can get details of Azure health events or specific errors for your resources to help understand what is wrong.

Copilot works in the user’s context, so it can’t do anything you don’t have permission to do anyway and will only answer questions about resources you have access to.

How Does Azure Copilot Work?

First things, Copilot is in preview, and you need to enable it by filling in the form here. You enable Copilot at the tenant level, so every user in your tenant will have it enabled. You cannot enable it for select subscriptions.

Once enabled, you should see the Copilot icon in the portal.

Copilot Icon

Click on this to open the Copilot chat window where you can start the conversations.

Chat

We can ask it questions about our resources. Let’s start with something simple: I want to know if I have any VMs that I have left turned on in my demo sub. The first thing it does is generate a resource graph query that will get the information it needs, and then it uses that to answer my actual question, that I have no VMs running.

Answer 1

It also shows me the resource query it used so I can run it myself or save it for later.

Let’s look at the example I mentioned: creating a low-cost VM. First, I tell Copilot I want to create a low-cost VM. It goes off to the Azure docs, architecture centre, etc. and comes back with suggestions about how to lower a VM’s cost.

Low Cost VM

That’s great, but I want to avoid going through the effort of turning that into a VM, so I’ll ask Copilot to do it for me. Now it’s providing instructions with CLI commands to create not only on the VM but also all the resources I need for the VM to run, like resource group, vNet, etc.

Create VM Cli

VM Create Script 2

You’ll notice that it also provides some potential follow-up questions that I might want to ask. I don’t want to create that with CLI scripts; I want to use Infrastructure as Code, so I asked Copilot to create a Bicep template for me.

Bicep Template

And don’t worry, it did warn me about needing to change the password value!

Password change

So there’s just a few examples of what you can use Copilot for. To see more, have a look [here](Simplify IT management with Microsoft Copilot for Azure).

Why Would I Want To Use Azure Copilot

One reason to use Copilot is to save yourself time. If you need help remembering the correct KQL command to find the resources you want or need a CLI script to create a resource, get Copilot to do it for you.

Another reason is insight; Copilot has a view of all your Azure infrastructure, its cost, and its metrics, and it may be able to spot insights and join up data that you hadn’t. It can then use this data to offer suggestions for improvement or optimisation.

Finally, you can use Copilot as an Azure architecture expert. It has access to all the Azure docs and can answer questions that might take a lot longer to find the answer to manually.

What Issues Does Copilot Have?

Generally, I’ve been reasonably impressed with how Copilot has been able to answer the questions I asked, but it’s not without problems. When I asked it to generate some KQL that was more complex and less common, it answered the question, but the KQL wasn’t valid. When I told it that, it generated some more KQL, which still wasn’t valid. So Azure Copilot is no different to the other Copilots and GPT models in that it can make up answers and have hallucinations. You need to review the answers it gives carefully.

It’s also not the fastest. Some queries can take a good minute or two to run, especially if they generate a lot of data or run live queries. It’s not a huge deal, but it can get a bit frustrating.

Probably the biggest issue currently is the preview limitations. You are currently limited to 10 questions per chat and five chats per day. A chat is the shared history, so you lose all the previous context when you start a new chat. If you’re trying to do some work, asking several questions or revising your question to improve the answer, you can quickly run out of questions. I hope this restriction will be removed when Copilot goes to GA.