Welcome to AJTech! 👋

  • Hey, I’m Arash Jalalat, a DevOps Engineer passionate about new technologies, cloud, infrastructure, AI, security, and continuous improvement 🚀
  • I share practical guides on Azure ☁️, CI/CD (Azure DevOps & GitHub Actions), Terraform 🏗️, Containerization 🐳, and AI 🤖. From application development to Infrastructure as Code, I explore innovative techniques and share real-world insights.
  • 📌 I hope you find my posts helpful!
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
NotebookLM overview

How to summarize a Git repository using NotebookLM

Exploring NotebookLM’s Audio Overview Feature Context Recently, Google introduced an exciting new feature for NotebookLM: Audio Overview. For those unfamiliar, NotebookLM is a personal AI-powered research assistant (powered by Gemini 1.5 Pro) designed for efficient summarization and note-taking. By uploading your documents, whether PDFs, websites, or text files, NotebookLM analyzes and organizes the content. This allows you to interact with it in various ways. The Audio Overview feature, in particular, caught my attention. It essentially creates a podcast-like experience where two AI hosts discuss your research topic in real time. This conversational format offers a unique way to engage with your content, which can make complex topics more accessible and enjoyable. What’s even better? You can guide the discussion by providing specific instructions, ensuring the conversation focuses on aspects most relevant to you. ...

November 11, 2024 · 2 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

Extract text from image to AI project

In today’s digital age, extracting text from images has become a common task in various domains, from document digitization to text analysis. Optical Character Recognition (OCR) engines like Tesseract have played a significant role in making this process efficient and accessible. However, improving the accuracy and usability of OCR systems remains a challenge. In this blog post, we’ll explore (based on two examples) how to enhance text extraction from images using Tesseract in conjunction with OpenAI’s Generative AI capabilities. ...

March 18, 2024 · 5 min · Arash Jalalat
Semantic kernel overview

Semantic Kernel with C# minimal API

Are you keen on exploring the fusion of Artificial Intelligence (AI) and minimal APIs in the world of C#? If so, you’re in the right place! In this article, I’ll walk you through the integration of Semantic Kernel, an open-source SDK facilitating Large Language Models (LLMs) integration, into a minimal API built using ASP.NET Core in .NET 8. By using the power of OpenAI’s GPT-3, we’ll go on a journey to create a plugin that crafts narratives based on user input. ...

December 17, 2023 · 4 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