Blog
Invoking a custom Web API in Azure AI Search for enrichment
Dec 14, 2025Hi everyone, I thought I would do another blog looking more closely at custom web APIs in Azure AI Search. We will not look at entirely securing them with authentication or anythin...
Using the MCP extension in Azure Functions
Dec 7, 2025This blog will explore the use of the MCP extension in Azure Functions. I will show you how to do the following:Create a simple MCP server that exposes a single tool called get_pet...
Why Azure Container Apps Should Be Your Go‑To for Azure Functions
Dec 5, 2025Running Azure Functions in Azure Container Apps (ACA) gives you the best of both worlds: the simplicity of serverless with the flexibility of containers. It’s a powerful way...
Consuming a Microsoft Foundry Agent programatically
Dec 4, 2025Hello everyone,In this post, I’ll walk through how to create prompt-based agents in Microsoft Foundry, publish them, and then consume them via Python. This approach provides...
Skillsets in Azure AI Search
Dec 3, 2025First - thanks for coming to this blog. I've made a promise to myself that I'll start blogging each week again! Many people use Azure AI Search for RAG-based applications...
Deploying applications on Azure Functions using Flex Consumption Plans
Dec 20, 2024In this blog, I will walk you through deploying code to Azure Functions using the Azure CLI and the Flex Consumption plan. Previous plans for Azure Functions offered several differ...
Using managed private endpoints in Microsoft Foundry
Dec 1, 2024In this blog, I will cover using private endpoints in Azure AI Foundry. At the time of this blog, you can only use a managed virtual network managed and provided by Microsoft. This...
Using Azure Functions with PowerShell to query Azure SQL
Nov 25, 2024(This blog has been in my drafts since 2022, but I thought it was worth posting!) - Yes, Azure Functions running PowerShell can query an Azure SQL database. This blog is not a prod...
Using VM applications and Azure Policy to deploy applications.
Nov 1, 2023Have you ever had an agent that needed to be installed on all virtual machines, and you wanted a way to do this automatically and the ability to view compliant and non-compliant re...
Azure Virtual WAN - Understanding Bypass Next Hop IP for workloads within this VNet
Sep 20, 2023Have you used Azure Virtual WAN and noticed this setting? Bypass Next Hop IP for workloads within this VNet? What exactly does this mean? In this short blog, I thought I would go t...
Routing traffic via an NVA in Azure Virtual WAN.
Aug 9, 2023Before we start this blog post, it's important to note that some customers may not require this since routing intent is now generally available (Link here: How to configure Vi...
What are Azure Policy Overrides?
Jun 29, 2023Before we start, I'd like to say that this functionaility is currently in public preview but is so powerful and helpful, especially when enforcing new policies across an envir...
Using Azure Bastion in Azure Virtual WAN
Jun 21, 2023So you've deployed Azure Virtual WAN and want to start using Azure Bastion for remote management to virtual machines that are in connected virtual networks to the Azure VWAN. ...
Looking at Azure Policy resource selectors
Jun 16, 2023So I recently did some work with Azure Policy, and we had a requirement to use the same policy but target different resources. I could have created a custom policy and used the fie...
Running commands on your virtual machines using VM extensions in Terraform
May 24, 2023A shorter blog post that explores using the custom script extension for both Windows and Linux Virtual machines in Terraform. It's slightly different for both operating system...
Creating a user licensing Azure Workbook using Azure Logic Apps and Log Analytics.
Apr 12, 2023Have you ever had a requirement to find out who has a particular license across an organisation? What about a quick view of user accounts that have been assigned licenses but are d...
Testing out Azure Policies Modify Effect
Mar 5, 2023This will be the first blog around Azure Policy. I'm hoping, but I don't promise to have a blog about all the policy effects Azure Policy can do and the best ways to run, deploy an...
Understanding access in Log Analytics Workspaces
Feb 27, 2023Sometimes customers will ask how we control log access in their Log Analytics Workspaces and ensure that only the correct users can access the logs for their resources. This is esp...
What is Azure attribute-based access control?
Feb 14, 2023ABAC is an authorisation system that allows granular access based on attributes associated with security principles, resources, etc. Allowing access through attributes provides fin...
Testing out Cross-Region Azure Load Balancer
Feb 9, 2023My first blog about a load balancer. (It's been on my list for a while), Many blogs already cover basic and standard internal and external load balancers, so I don't want to cover ...
Exploring Defender for Key Vault
Feb 3, 2023Another blog about a Defender product in Microsoft Defender for Cloud - Have you ever looked at Defender for Key Vault and thought, what is it? Luckily, you've come across this blo...
Using Microsoft Defender for DNS
Jan 18, 2023I never understood Defender for DNS's usefulness before writing this blog. Microsoft Defender for DNS provides another layer of protection for resources that utilise Azure DNS's Az...
Migrate to Azure Files using Robocopy
Jan 16, 2023This blog will be the first of a few about migrating from Windows server file shares to Azure Files. In this blog, we will be looking at using Robopy to achieve this migration. Man...
Looking at Azure Network Watcher
Jan 9, 2023Who doesn't like a tool that helps troubleshoot networking issues? Everyone wants a hand now and then, which is precisely what Network Watcher is about. Network watcher is just an ...
Investigating Service Endpoints
Jan 1, 2023This blog will explore service endpoints, how they work, and why you may want to use them to protect your cloud resources. Another blog will be created to explore other ways of doi...
Exploring Azure NAT Gateway
Dec 24, 2022This blog will explore Azure NAT Gateway. At a high level, Azure NAT gateway is a fully managed Network Address Translation (NAT) service. NAT gateway simplifies outbound Internet ...
Azure Virtual Desktop GPU Licensing - NVv3 Series Overview
Dec 20, 2022This short blog will cover important information about GPU licenses, specifically around VDI (Virtual desktop infrastructure) scenarios and some things to look out for. We will be ...
Azure Virtual Network Manager - Controlling virtual networks at scale
Dec 8, 2022We are discussing Azure Virtual Network Manager (AVNM). It's a service that interests me. So, let's explore and see what it's all about. If you don't know what AVNM is, it is a cen...
Azure Policy - Looking at the DenyAction Effect
Dec 4, 2022This blog will discuss the new Azure Policy effect currently in public preview called denyAction. I've only found out about this new effect from this YouTube video here that Micros...
Exploring Workspace Data Transformations in Azure Monitor
Nov 30, 2022In a previous blog, we looked at using Data Transformation Rules with the Azure Monitor Agent; this blog can be viewed here: Exploring AMA Data Collection Transformations in Azure ...
Azure VWAN routes, propagations and labels.
Nov 29, 2022This blog will go over Azure VWAN routing, propagations and labels. Our use case is simple, we have deployed Azure VWAN and one virtual hub. We have four spokes connecting to our h...
Exploring AMA Data Collection Transformations in Azure Monitor
Nov 17, 2022This blog will look at the Data Collection Transformations you can do with Data Collection Rules (DCR) and why they may benefit you. Transformations allow you to filter or modify i...
Microsoft Certified: Azure for SAP Workloads Specialty
Nov 14, 2022This is a quick review and study guide for the AZ-120 (Microsoft Certified: Azure for SAP Workloads Specialty). If you want to take this exam, a short description can be found belo...
Storing Bicep Modules in Azure Container Registry
Nov 10, 2022You can use Azure Container Registry (ACR) to create a private module repo to share modules within your organisation. You publish modules to that registry and give read access to u...
Storing secrets for Azure Functions
Nov 1, 2022Do you want to store connection strings, secrets or sensitive information in a Function App and ensure it's only accessible to the application? This is where we can use Azure Key V...
Azure Data Engineer - Study Guide
Oct 26, 2022I recently passed the Azure Data Engineer exam. This quick blog reviews the exam and what material I used to pass it. The exam is all about data services within Azure, and a quick ...
Sending performance counters to Azure Monitor Metrics.
Oct 21, 2022Using the Azure Monitor Agent and configuring a data collection rule to send performance counters to Azure Monitor Metrics allows you to collect performance counters from the guest...
Testing private endpoint network policies
Oct 20, 2022We now have the ability to use NSGs and UDRs with Private Endpoints within an Azure Virtual Network. This feature has been requested over the last couple of years, and it's finally...
Removing diagnostic settings at scale in Azure for Log Analytics Workspaces.
Oct 19, 2022Sometimes you may need to view all the diagnostic settings for your resources and where they are sending them. You may also have a requirement to remove these at scale. This blog w...
Using Azure Route Server with P2S VPN Gateway
Oct 19, 2022Recently I had a customer who wanted to use Azure VPN Gateway for P2S connections for end-users which would allow them to access Azure resources through a VPN, but they also had a ...