Joao Paulo Costa
An experienced technologist focused on Azure, Microsoft 365, and Automation
๐ Biography
João is an experienced cloud-focused technologist working across Microsoft Azure, Microsoft 365, Hybrid Identity and Automation. With a strong background in infrastructure, modern management and cloud security, he specialises in designing and supporting secure, scalable and efficient cloud architectures using Azure services, Entra ID, Intune, Exchange Hybrid and governance frameworks. João regularly shares knowledge with the community, publishing practical technical articles, deep-dive explanations and real-world troubleshooting insights on his blog (getpractical.co.uk), focusing on Azure architecture, automation, enterprise scenarios and best practice guidance. Driven by clarity and simplicity, João is passionate about empowering others, helping engineers and organisations get more value from the Microsoft Cloud, and contributing to a stronger, collaborative technical community.
โจ High-Impact Contributions 5
Published a technical blog post demonstrating how to use Azure AI Foundry agents with Content Understanding to process and extract insights from legacy documents. The solution shows an end-to-end architecture where documents are ingested via Blob Storage, processed using Logic Apps, analysed with prebuilt AI models, and stored in Cosmos DB for downstream use. The article includes lifecycle handling for both success and failure scenarios, making the approach suitable for real-world environments. The goal was to provide a practical, reproducible pattern to transform unstructured documents into structured, actionable data using Azure AI services.
Published a technical blog post on designing a safe and deterministic approach to Azure App Registration secret rotation, focusing on implementing automation with guardrails rather than relying on reactive processes. The article explains why traditional approaches based on monitoring and manual rotation introduce risk, even in well-managed environments. It introduces a design pattern where Azure Key Vault acts as the single source of truth, using metadata to track active credentials and enable safe, predictable rotation workflows. The solution includes a practical architecture using Azure Functions, Managed Identity, Microsoft Graph, and Key Vault, with a step-by-step flow covering validation, conditional rotation, and secure secret lifecycle management. The goal was to provide a real-world, production-ready pattern that ensures secrets are rotated only when required, without impacting running workloads, and that can safely operate unattended.
Authored and published a technical blog post demonstrating a working Azure Model Context Protocol (MCP) Server integrated with Azure AI Foundry. The post walks through a real, hands-on lab where an AI agent securely queries live Azure resources (subscriptions, resource groups, storage accounts, Log Analytics, and Activity Logs) using Managed Identity and Azure Container Apps. This content focuses on Azure Core Infrastructure and governance scenarios, highlights current limitations of MCP (preview from v2.0 onwards), documents troubleshooting, and provides architectural guidance for future AI-driven Azure operations.
In this blog post, I introduced a PowerShell-based solution called Azure Health Check that helps organisations quickly audit and visualise the overall health and hygiene of their Azure environments. The script connects to Azure through Microsoft Graph and Azure Resource Graph APIs to gather information on governance, security, compute, storage and networking resources, then generates a dynamic HTML report with risk indicators, heatmaps, and charts. The goal was to provide the community with a free, practical tool that saves time during assessments and improves visibility across large environments. Since publishing, the post has received positive feedback from engineers and architects who used it to identify configuration issues and improve governance standards in their Azure tenants.
Description: I wrote a guide on Get Practical showing how to use Azure Performance Diagnostics (PerfInsights) to find and fix high memory pressure issues on Azure VMs. I explain the steps from installing the diagnostics tool via portal to interpreting the report, so people can solve VM slowness and performance degradation. Impact: Many people struggle when their VM gets slow or uses too much memory but don’t know where to start. This post helps them see exactly what to do, without RDP or complex scripts, and builds confidence in troubleshooting performance issues. It reduces guess-work, saves time and makes Azure VM operations more reliable for readers.