MCP Server design

Building an MCP Server with Azure Functions: Extending GitHub Copilot in the Cloud

Introduction I’ve been experimenting with the Model Context Protocol (MCP) for a while now, and it’s changed how I think about extending AI assistants like GitHub Copilot. Then, Microsoft recently released a stable version of the new MCP trigger for Azure Functions. It made building a cloud-native, serverless MCP server incredibly straightforward. As soon as I saw it, I had an idea: what if I could use this to build a simple, cloud-based tool to save and retrieve notes directly from Copilot? ...

November 6, 2025 · 5 min · Arash Jalalat
Knowledge session of DevOps

Ask GitHub Copilot for code review in your .NET project

In this blog post, I’ll share my experience building a .NET 8 Azure Function App that retrieves a user profile via the Microsoft Graph API. The function app is designed to run in Azure and return the user profile of the logged-in user via Microsoft Entra-ID. While the technical implementation was exciting, the interesting part of this journey was using GitHub Copilot as a code reviewer through Pull Requests in GitHub. It became generally available on April 4th. I’ll walk you through the process, share my thoughts on Copilot’s feedback, and highlight areas where it shines and where it could improve. ...

April 22, 2025 · 5 min · Arash Jalalat
Azure Bicep deployer function

Boost your Azure Pipeline with Bicep's deployer() function

Context Last month Microsoft released its newest Bicep version v0.32.4 which includes an interesting function called deployer(). This function can retrieve the ObjectId and TenantId of the deploying Service principal. This can be very helpful in certain cases such as assigning tags to Azure resources or to assign a role to the deploying Service principal. In my experience you have strong Infrastructure as Code (IaC) setup when you combine both Bicep with Azure Pipelines for deploying resources to Azure. Let’s have a look what we can do with the new deployer() function. ...

January 13, 2025 · 4 min · Arash Jalalat
Azure resources overview

Building and deploying a chatbot with Azure Functions OpenAI Extension and model GPT-4o mini

Introduction In this blog post, we will explore how to integrate Azure Functions with the OpenAI extension. This integration allows you to use triggers and bindings with the powerful capabilities of OpenAI within your serverless functions. We will walk through the setup, configuration, and deployment of an Azure Functions project that uses the OpenAI extension, using Bicep templates for infrastructure as code. Prerequisites Before we begin, ensure you have the following tools and resources: ...

August 5, 2024 · 7 min · Arash Jalalat

Azure Functions on Container Apps

Recently, I created my first video about Azure Functions on Azure Container Apps, which you can find below. I also made a GitHub repository where you can find the source code, allowing you to set up the Azure Functions on ACA yourself.

June 18, 2024 · 1 min · Arash Jalalat
ADO Terraform Azure

Smooth Sailing with DevOps: Deploying Azure Storage Account using Terraform and Azure YAML Pipelines

Introduction Hi 👋 my fellow tech enthusiasts. As a DevOps Engineer, I often find myself navigating the complex waters of IT challenges both at work and during my free time. Today, I want to share a recent journey into the world of DevOps where we’ll be deploying an Azure Storage Account using Terraform and Azure YAML Pipelines. So, grab your virtual life vests, and let’s embark on this adventure. Why Terraform and Azure YAML Pipelines? Terraform, an Infrastructure as Code (IaC) tool, is a powerful choice for provisioning and managing cloud resources. When combined with Azure DevOps YAML Pipelines, it becomes an even more powerful force for automating deployments, ensuring consistency, and facilitating collaboration within your DevOps team. ...

October 29, 2023 · 4 min · Arash Jalalat

Azure Workload identity federation with Azure DevOps

About 2 months ago I wrote a blog post about workload identity federation with GitHub Actions. When an application needs to access cloud based resources it often needs to think about authentication and authorization. Using workload identity federation there is no need to use any keys or secrets. For example, Google Cloud Platform and Microsoft Azure are providing this great feature. And now this feature has also been released for Azure DevOps! This means that organizations can now take advantage of this to provide an even more secure way to connect to Azure from Azure DevOps, or rather Azure Pipelines, via a Service Connection. ...

October 1, 2023 · 6 min · Arash Jalalat

Azure Workload identity federation with GitHub Actions and user-managed identity

Usually when running software workload (e.g. script or container-based applications) an identity is involved for authentication and access resources. Software workload running inside Microsoft Azure can use a Service Principal or (User)-Managed Identity. However, when running software workload outside Azure most of the times we have to use credentials (like secrets or certificates) in order to access Azure AD protected resources such as Azure Key Vault or Azure Storage. This can pose a risk since secrets needs to be stored somewhere and regularly rotated to improve security. ...

July 17, 2023 · 5 min · Arash Jalalat

Use (User)-managed identity with Azure Identity library to connect to Azure DevOps

With the recently introduced service principal & managed identity in Azure DevOps by Microsoft it is now possible to replace the less secure Personal Access Token (PAT) to connect to Azure DevOps resources. These resources can be accessed via the Azure DevOps API such as Work Items, Pipelines and Repositories and is used by many automated processes. An example could be to use an Azure Function app. In this article I want to show how you can connect to Azure DevOps with a user managed identity with the use of Azure Identity library. This library is recommended if you intend or if you are working with C# codebase. The user managed identity is an Azure resources which can be easily managed in Azure. ...

May 12, 2023 · 3 min · Arash Jalalat