Developer Support
Advocacy and Innovation
Latest posts
Comment l’IA générative impacte-t-elle l’expérience développeur?
Adlene Sifi explore l'impact de l'IA générative sur l'expérience des développeurs. Dans cet article, nous allons tenter de déterminer s’il existe un lien entre l’utilisation de l’IA générative (ex. : GitHub Copilot) et l’expérience développeur (DevEx). Nous souhaitons vérifier plus précisément si l’utilisation de l’IA générative a un impact positif sur l’expérience développeur. Nous tenterons même de vérifier s’il existe un lien de causalité entre l’utilisation de l’IA générative et l’amélioration de l’expérience développeur. Nous allons dans un premier temps commencer par définir ces deux concepts. ...
How does generative AI impact Developer Experience?
Adlene Sifi explores the impact of generative AI on developer experience. In this article, we will try to determine if there is a link between the use of generative AI (e.g., GitHub Copilot) and developer experience (DevEx). Specifically, we aim to verify whether the use of generative AI has a positive impact on developer experience. We will even try to see if there is a causal link between the use of generative AI and the improvement of developer experience. First, let's define these two concepts. What is developer experience? Is it a new buzzword? A market trend? Worse, is it a new marketing tactic...
Supercharge Developer Workflows with GitHub Copilot Workspace Extensions
David Minkovski takes you on a hands-on journey to extend GitHub Copilot beyond just being a code assistant — turning it into a true AI-powered teammate inside VS Code. Motivation It is 2025 and Software Developers are faced with an incredibly fast-paced high-tech landscape — full of innovation and automation around every corner. Even with the consideration of AI taking on many roles (and hopefully not our jobs just yet) we are constantly challenged with rising complexities of distributed systems, cloud-native architectures and cognitive loads as well as context switching and endless interruptions. I c...
AI-Powered Customer Support: The Ultimate Multi-Agent System
David Minkovski explores using Azure OpenAI and Rust to Build Intelligent and Scalable AI Systems Motivation For the past few months, I’ve had the pleasure of taking the front seat to some really fascinating and exciting AI projects, thanks to my amazing customers and colleagues at Microsoft. During these sessions, I noticed a common challenge: How do I use ChatGPT while keeping control? So, I thought to myself, why not write a little article to help? Let’s break it down and create a super simple “multi-agent” system. This system will handle everything from the initial customer support request to e...
Deploying WebJobs to Azure Container Apps
Debjyoti Ganguly walks through the process of migrating existing WebJobs to Azure Container App Jobs, highlighting the benefits and providing practical steps to implement this migration effectively Introduction As businesses scale, the need for a robust and scalable environment for running background jobs becomes essential. Azure Container App Jobs offer a modern, scalable, and containerized solution for running background jobs, providing significant benefits over traditional Azure WebJobs. This guide will walk you through the process of migrating existing WebJobs to Azure Container App Jobs, highlighting...
AI: The New Frontier for Developers
AJ Enns reflects on his journey as a new developer and the impact of AI as an integrated, coding assistant for improving developer velocity. The year is 2024, and AI has been around for a while. ChatGPT broke onto the scene and changed the world forever. As soon as I heard about it, the first thing I did was try to learn Blazor with the help of AI. Within 3 weeks, I had a working example in a language I did not know before, as a result I was hooked. How do I share my recent learnings and amazement? Working as a Developer Advocate, I quickly learned that both the Developer and the Business were not early ad...
Debugging a managed identity connection to Azure SQL in Azure App Service using containers
Dominique St-Amand explores how to debug a managed identity connection from a container-based App Service to Azure SQL. So you’ve been eager to deploy your containerized web application that you’ve been working on for a while, to Azure App Service. You follow the best security practices which means you’ve setup your connection to your Azure SQL database using a managed identity. Upon loading your application, you get a dreadful exception that you can’t connect to the database. You then wonder, is this a database permission problem or some another problem, such as the application cannot connect to the datab...
Autogen RAG
Linkai Yu explores the retrieval-augemented generation pattern with Azure OpenAI Assistants API. The Retrieval-Augmented Generation (RAG) pattern is the standard for integrating ground AI with local data. One powerful way to implement RAG is through the function call or tool call feature in the Function Call API. When examining the samples provided by the Azure OpenAI Assistant API Function Call, Completion API Function Call, or Autogen Function Call, they all require the function metadata to be specified in the code. Imagine you have hundreds of data I/O functions, ranging from SQL queries to microservice...
Boosting Azure DevOps Security with GHAS Code Scanning
Debjyoti Ganguly shares insights on the security benefits and configuration of GHAS Code Scanning with Azure DevOps. Boosting Azure DevOps Security with GHAS Code Scanning Code scanning, a pipeline-based tool available in GitHub Advanced Security, is designed to detect code vulnerabilities and bugs within the source code of ADO (Azure DevOps) repositories. Utilizing CodeQL as a static analysis tool, it performs query analysis and variant analysis. When vulnerabilities are found, it generates security alerts. CodeQL CodeQL is a powerful static analysis tool used for showing vulnerabilities and bugs in so...
Running Open AI Whisper on Azure
Monu Bambroo explores Whisper, a speech to text model from OpenAI that you can use to transcribe audio files. The model is trained on a large dataset of English audio and text. The model is optimized for transcribing audio files that contain speech in English. The model can also be used to transcribe audio files that contain speech in other languages. Whisper is an advanced automatic speech recognition (ASR) system, developed using 680,000 hours of supervised multilingual and multitask data from the web. This extensive and diverse data set enhances its ability to handle various accents, background noise, a...
Copilot Studio – Prompt Response Times
Tahir Naveed walks through how to measure prompt response times with Microsoft Copilot Studio and explores considerations that factor into the overall performance of these requests. Building custom copilots (GenAI chatbots) in Microsoft Copilot Studio is amazing. Especially with the new functionalities which were released in Microsoft Build 2024. What’s more amazing is when we can point the custom copilots to different kinds of external and internal data sources like public websites (external), Dataverse tables (internal), SharePoint etc. Today we will be looking at how to check the response time of a p...
VBScript deprecation: Timelines and next steps
Scripting options for web development and task automation are modernizing. To provide you with the most modern and efficient options, we are replacing VBScript with more advanced alternatives such as JavaScript and PowerShell. Find out what VBScript deprecation means for you and how you can get ready. What is VBScript? Visual Basic Scripting Edition, commonly referred to as VBScript, is a lightweight scripting language first introduced by Microsoft in 1996. The language has been available as a system component in Windows OS and has been widely used for automating tasks and controlling applications on Windows-ba...
Azure CI/CD: Govern seamlessly from start to finish
Debjyoti Ganguly shares insights on a resilient end-to-end cloud governance framework for Azure CI/CD pipelines. Hey there, tech enthusiasts! This article serves as a technical guide to implementing a resilient end-to-end cloud governance framework for Azure CI/CD pipelines. It is designed to be vendor-agnostic and aligns seamlessly with enterprise security objectives, considerations, and compliance requirements. Throughout this discourse, we will employ the Azure Role-Based Access Control (RBAC) model, a familiar concept utilized within the Azure Resource Manager framework. Decisive Process Deconstructi...
Azure Machine Learning Service for Kubernetes Architects: Deploy Your First Model on AKS with AZ CLI v2
Joseph Masengesho provides a step-by-step tutorial on how to deploy your first ML model on AKS. In a previous post, I provided a lengthy write-up about my understanding of using Kubernetes as a compute target in Azure ML from a Kubernetes architect’s perspective. In this post, I will offer a step-by-step tutorial that teaches you how to deploy your first ML model on AKS. As a disclaimer, I am not a data scientist; however, I work with customers who deploy ML workloads on Kubernetes. In this tutorial, we will deploy a trained regression model based on the MNIST Dataset, which consists of 60K handwritten digi...
How to visualize Semantic Kernel & Azure OpenAI plans using Mermaid
Jordan Bean explores how to visualize Semantic Kernel & Azure OpenAI plans using Mermaid. Using the function calling ability of Semantic Kernel/OpenAI is very exciting from an application development point of view. Instead of hard-coding paths though the system, Semantic Kernel & OpenAI can decide for themselves what plugins to call, the order of operations, parsing input & output, etc. However, it can be challenging to understand why the system decided to go down a path & all of the operations, prompts, function calls, etc. that occurred. Semantic Kernel provides a class that record...
Azure DevOps Pipelines: Discovering the Ideal Service Connection Strategy
John Folberth explores various configurations, decisions, and pros/cons that should be evaluated when deciding how your DevOps environment will deploy code into Azure. About This post is part of an overall series on Azure DevOps YAML Pipelines. The series will cover any and all topics that fall into the scope of Azure DevOps Pipelines. I encourage you to check it out if you are new to this space. Introduction When an organization is trying to configure their Azure DevOps (ADO) environment to deploy into Azure, they are immediately met with the dilemma on how their DevOps instance will execute the deploy...
Hands-On Azure Container Apps 101 — Deploying a scalable Go-Backend
David Minkovski shares a hands-on guide to explore the power and simplicity of Azure Container Apps and Azure Front Door as a great alternative to Azure Kubernetes Services and other Kubernetes implementations for developers. Motivation I am sure you have seen the world go crazy about Kubernetes and while this technology is amazing and has many benefits, the complexities of managing these clusters can be quite, how shall I put this…challenging. Well lucky for us Microsoft has come up with some real magic — Embrace the simplicity and power of Azure Container Apps and enjoy hassle-free web app deployment....
How to enhance your chatbot so it can retrieve data from multiple data sources & orchestrate its own plan with C# Semantic Kernel, planner & Azure OpenAI – part 4 (local development & deployment details)
In this multi-part series, Jordan Bean shares how to enhance a chatbot to retrieve data from multiple data sources and orchestrate plans with C# Semantic Kernel, planner, and Azure Open AI. In the previous post, I detailed how the demo app runs. In this post, let’s talk about some of the techniques & technologies I used to make the demo easy to deploy & run. Here is the link to the GitHub repo. Project Tye Project Tye is an open-source project that makes it easy to stand up a microservice-based application locally. It is easy to run any individual API or web app, such as running or . Ho...
How to enhance your chatbot so it can retrieve data from multiple data sources & orchestrate its own plan with C# Semantic Kernel, planner & Azure OpenAI – part 3 (demo app)
In this multi-part series, Jordan Bean shares how to enhance a chatbot to retrieve data from multiple data sources and orchestrate plans with C# Semantic Kernel, planner, and Azure Open AI. In the previous post, we talked about the implementation details of how the demo app works & how to set up Semantic Kernel, with the and Azure OpenAI. Now that you understand the code, let’s look at the demo application. Here is the link to the GitHub repo. Use case As a reminder, we are building a customer support chatbot for our fictional outdoor sporting equipment company. We want to be able to answer commo...
How to enhance your chatbot so it can retrieve data from multiple data sources & orchestrate its own plan with C# Semantic Kernel, planner & Azure OpenAI – part 2 (demo app implementation)
In this multi-part series, Jordan Bean shares how to enhance a chatbot to retrieve data from multiple data sources and orchestrate plans with C# Semantic Kernel, planner, and Azure Open AI. In the previous post, we discussed how the RAG pattern isn’t enough to answer complex user questions. We talked about using Semantic Kernel to orchestrate AI calls can allow AI to generate its own plan for answering questions from various data sources. In my GitHub repo, I have a sample application that demonstrates this idea. Azure Architecture In this example, all the APIs & web apps are hosted in Azure Con...
How to enhance your chatbot so it can retrieve data from multiple data sources & orchestrate its own plan with C# Semantic Kernel, planner & Azure OpenAI – part 1
In this multi-part series, Jordan Bean shares how to enhance a chatbot to retrieve data from multiple data sources and orchestrate plans with C# Semantic Kernel, planner, and Azure Open AI. As discussed in the previous post about Azure OpenAI, using the Retrieval Augmented Generation (RAG) pattern is a simple & effective way to enable Azure OpenAI to “chat with your data”. This pattern enables you to search your data with Azure Cognitive Search (a search engine), retrieve relevant snippets of information from your data, then add that additional information to your prompts to the Azure OpenAI service to...
Configuration of Data Movement between On-prem or private network to Azure Cloud
In this post, Yanzhong Liang (Microsoft Cloud Solution Architect) and Todd Shain (United Healthcare Group) share some learnings from the field, moving data between environments with Azure Data Factory. In this article, we will take a look at how to transfer files between your on-premises or private network and Azure cloud storage, automatically. Consider a scenario where researchers need to securely transfer small or large files, like databases, from virtual machines to Azure cloud storage for archiving and backup purposes. They also need to download result files or data to local machines, then upload t...
Effective Kubernetes for JakartaEE and Microprofile Developers
In this post, David Minkovski explores some best practices to get your deployment up and running on Kubernetes and Azure. Motivation Kubernetes has become one of the most loved solutions for managing containers. But can you tell me why people love it? Because it runs magic containers (essentially what you want) where you want. Whether on-premises or in the cloud (Azure), Kubernetes enables engineering teams to ship containers and scale and manage deployments and clusters easily. Let’s look at some of those benefits some other time, OK? I am sure you will find plenty of resources out there explaining why...
Azure DevOps Workload Identity Federation
With the recent arrival of the Public preview of Workload identity federation for Azure Pipelines, you may be wondering how to efficiently migrate dozens or even hundreds of ARM Service Connections to take advantage of these benefits. In this post, Emmanuel Knafo dives right in. Updating Your Azure DevOps ARM Service Connections To Use The Recommended Workload Identity Federation With the recent arrival of the Public preview of Workload identity federation for Azure Pipelines, you may be wondering how to efficiently migrate my dozens or even hundreds of ARM Service Connections to take advantage of these ...
Part 5 – Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process
John Folberth and Joe Fitzgerald share sample guidance for developing and deploying an Azure Data Factory into multiple environments. Introduction Part 1 Part 2 Part 3 Part 4 This section will build on that and include how to build/deploy larger Data Factories which leverage Azure Resource Manager Linked Templates for deployment. When Linked Templates Are Required Typically, users will not desire to use linked templates; however, there are explicit limitations of a single ARM template which may require one to dep...
Configuring Azure Blob Trigger Identity Based Connection
So want to connect your blob triggered function to a storage account, but you don’t want to put your connection string or secrets into the configuration? Andrew Redman explores how to do it in this blog post. What’s the problem? You want to connect your blob triggered function to a storage account, but you don’t want to put your connection string or secrets into the configuration. Prior to Azure Blobs extension 5.0.0, this was your only option, but not anymore. With these later versions you can now connect to your storage account using a managed identity. Here are the simple steps involved to make thi...
Part 4 – Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process
John Folberth and Joe Fitzgerald share sample guidance for developing and deploying an Azure Data Factory into multiple environments. Background This post is the next post in the series Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process. This also happens to overlap and is included in the series on YAML Pipelines. All code snippets and final templates can be found out on my GitHub TheYAMLPipelineOne. For the actual data factory, we will leverage my adf_pipelines_yaml_ci_cd repository. Introduction After reading parts 1-3 on Unlock the Power of Azure D...
Programmatically Create SAS tokens in .NET
Andrew Redman explores how to programmatically create SAS tokens using .NET. Introduction In today's digital landscape, data security and controlled access are critical concerns for businesses. Azure Blob Storage is a popular cloud storage solution, allowing you to store and manage unstructured data. To safeguard your data while granting controlled access to authorized users, one effective approach is to generate Shared Access Signature (SAS) tokens programmatically in .NET. In this blog post, we'll explore how to create SAS tokens in .NET, to enhance the security of your Azure Blob Storage. ...
Part 3 – Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process
John Folberth and Joe Fitzgerald share sample guidance for developing and deploying an Azure Data Factory into multiple environments. Introduction To see a complete introduction to this blog series, including links to all the other parts, please follow the link below: Part 1 - Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process Part 3 of the blog series will focus on: Access to all files is in GitHub. The YAML Pipeline Structure To create the YAML pipeline for publishing data factory artifacts and then deploying those art...
Azure DevOps Pipelines: Practices for Scaling Templates
John Folberth explores what is considered "good practices" when looking to leverage one repository consisting of YAML templates in this blog series. Introduction This article is part of a larger series on Azure DevOps Pipelines regarding leveraging YAML templating. As part of this series, I have had numerous requests or questions around what is considered "good practices" when looking to leverage one repository consisting of YAML templates. Objective The objective on what we are trying to achieve is create a structure by which we can create a task, job, stage, or variable template once and let...
Part 2 – Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process
John Folberth and Joe Fitzgerald share sample guidance for developing and deploying an Azure Data Factory into multiple environments. Introduction To see a complete introduction to this blog series, including links to all the other parts, please follow the link below: Part 1 - Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process Part 2 of the blog series will focus on: Configure Azure Data Factory Source Control After you have the Azure resources created Launch the Azure Data Factory Studio for the development instance, adf-demo-dev-eastus-001...
Load testing your applications using Azure Load Testing, JMeter and GitHub Actions
Dominique St-Amand shares an introduction on JMeter concepts and goes on to create a basic test plan to load test a sample application and run it through a GitHub Action workflow. I’ve been working with more customers that are starting to take testing (unit, integration, end to end and load testing) more seriously. You may ask, “Dom, really? I thought testing was trivial”. Unfortunately not. As we’re entering an era where businesses are producing software like never before, relatively speaking, these businesses are not software companies. They are seeking to prioritize the speedy creation of business value...
Part 1 – Unlock the Power of Azure Data Factory: A Guide to Boosting Your Data Ingestion Process
John Folberth and Joe Fitzgerald share sample guidance for developing and deploying an Azure Data Factory into multiple environments. Introduction In the fast-paced world of cloud architecture, securely collecting, ingesting, and preparing data for health care industry solutions has become an essential requirement. And that's where Azure Data Factory (ADF) comes in. As an Extract, Transform, and Load (ETL) cloud service, ADF empowers you to scale-out serverless data integration and data transformation with ease. Imagine being able to effortlessly create data-driven workflows that orchestrate data movem...
The Art of HTTP Connection Pooling: How to Optimize Your Connections for Peak Performance
Ramakrishna Thanniru, Engineering, Optum / United Health Group Pete Tian, Sr Cloud Solution Architect, Microsoft Migrating an on-prem system to the public cloud can be a daunting task. While many companies have successfully made the transition, some have struggled with unexpected issues. One common problem is the sudden decrease in transaction speed, which can lead to system crashes and frustrating downtime. The Ops team may find themselves scratching their heads when faced with messages such as "timeout exceptions" or "HTTP 504 Gateway Timeout" in the logs, unsure of how to address these issues. As ...
Hosting Option for OpenEMR in Azure
Cloud Solution Architect, Monu Bambroo, spotlights OpenEMR and various ways to host the service in Azure. OpenEMR is the most popular open source electronic health records and medical practice management solution. OpenEMR is designed to be used by healthcare providers and organizations of all sizes, from small clinics to large hospitals. It is a web-based application that can be accessed from any computer with an internet connection, making it easy for providers to access patient records from anywhere. Open EMR software is also fully customizable, allowing providers to tailor it to their specific needs and...
Azure DevOps Pipelines: Leveraging Stages with YAML Objects
John Folberth continues his series on Azure DevOps Pipelines, by Leveraging Stages with YAML Objects. Introduction By now we’ve covered the basics on tasks, jobs, stages, environments, variables and templates for jobs and tasks. It is now time to move towards stage templates. Additionally, to assist with templating we will cover one way to leverage YAML objects which is a key tool when templating up and keeping your pipelines DRY (Don’t Repeat Yourself). To follow along I am leveraging non-ADO code in from Azure IaC Flavors and YAML templates from TheYAMLPipelineOne Stages Recapping from a previous...