Azure Weekly
Issue #462 - 14th April 2024
Starting off with AI: Optimize Azure OpenAI Applications with Semantic Caching and Build a serverless ChatGPT with RAG using LangChain.js. Two good tutorials: How to build a Copilot for Security API Plugin – Part 1 and Implementing a Blazor-based BFF in Azure Container Apps.
In Cloud Native App Dev: Deploy Kaito on AKS using Terraform, and Unified Kubernetes Management Across Clouds with Azure Arc, and Update Microsoft Sentinel Analytics Rules at Scale.
In Data and Analytics: Building a Real-Time medallion architecture using Eventhouse in Microsoft Fabric, two interesting posts about Cosmos DB: Initial testing of Mirroring Azure Cosmos DB Databases in Microsoft Fabric, and A new way to change a Partition Key in CosmosDB, and a look at Exploring Azure Storage Actions for Blob Storage.
Finally, I've written a blog post. We've been modernising a number of our internal line of business applications. Some we've migrated to Microsoft Fabric, some we've turned into Streamlit applications. But we have a number of complex web applications. We settled on a modern stack of ASP.NET Core + Razor + HTMX hosted in Azure Container Apps and it's vastly simplified the codebase and improved performance. One challenge was integrating HTMX's elegant Hypermedia approach with more traditional HTTP JSON API requirements for data visualisation like Chart.js. I created a POC last year to demonstrate how we could leverage HTMX's extensibility mechanisms to combine the two worlds. The result has worked well for us. I've written a deep dive blog post, called ASP.NET Core + Razor + HTMX + Chart.js and provided a GitHub repo with the POC.
⚙️ AI + Machine Learning
- Lu Zhang discusses Unlocking Advanced Document Insights with Azure AI Document Intelligence
- Sudarsan Lakshminarayanan explains how to Optimize Azure OpenAI Applications with Semantic Caching
- Nicholas Moore covers An Enterprise Design for Azure Machine Learning - An Architect's Viewpoint
- Yiyou Lin explains How to Customize an LLM: A Deep Dive to Tailoring an LLM for Your Business
- Freddy Ayala delves into Azure OpenAI and Call Center Modernization
- Chaitanya Belwal (@cbelwal) describes How to build a Copilot for Security API Plugin – Part 1
- Aditi Singh walks through Evaluating RAG Applications with AzureML Model Evaluation
- Farzad Sunavala talks about Leveraging Cohere Embed V3 int8 embeddings with Azure AI Search
- Yohan Lasorsa explains how to Build a serverless ChatGPT with RAG using LangChain.js
🔎 Analytics
- On Microsoft Fabric Blog, Meenal Srivastva walks through Introducing Trusted Workspace Access in Fabric Data Pipelines and Trevor Olson discusses Shortcuts to Google Cloud Storage, now available in Public Preview
- The Azure Updates Team announces General Available: Azure Synapse Runtime for Apache Spark 3.4 is now GA and writes about Native Delta Lake Output Now Generally Available in Azure Stream Analytics
- On Microsoft Fabric Blog, Matthew Hicks writes about the Public Preview of OneLake shortcuts to S3-compatible data sources
- On the MSSQL Tips site, Koen Verbeeck (@Ko_Ver) writes about Automatic Table Maintenance in Microsoft Fabric Warehouse - Checkpointing and Statistics - Part 2
- Denise Schlesinger walks through Building a Real-Time medallion architecture using Eventhouse in Microsoft Fabric
- On the Microsoft Mechanics show, Daniel Hidalgo explains how to Extend your data security to Microsoft Fabric
- On Microsoft Fabric Blog, Liliam Leme writes Fabric Change the Game: SQLDB mirror into Microsoft Fabric
- Justin Walker announces Call Record Insights for Microsoft Teams
🖥️ Compute
- On episode 374 of the Microsoft Cloud IT Pro Podcast, Scott Hoag (@ciphertxt) and Ben Stegink (@benstegink) cover Azure Trusted Launch Virtual Machines
🚢 Containers
- The Azure Updates Team highlights Azure Red Hat OpenShift April 2024 updates
- Paolo Salvatori explains how to Deploy Kaito on AKS using Terraform
- Pranay Bakre shows how to Deploy an Application to Azure Kubernetes Service
🗄️ Databases
- The Azure Updates Team announces Generally available: Defender for Cloud supports Azure Database for MySQL - Flexible Server, and General Availability: Azure Database for PostgreSQL - Flexible Server networking with Azure Private Link and Srini Acharya writes about General availability: Elastic Jobs in Azure SQL Database
- The Azure Updates Team announces Public Preview: Mirroring Azure Cosmos DB in Microsoft Fabric and Public Preview: Long-term retention for Azure Database for MySQL – Flexible Server
- Catalin Esanu talks about Microsoft Defender for Cloud Adds Full Coverage for Azure Open-Source Relational Databases
- Varun Dhawan talks about March 2024 Recap: Azure PostgreSQL Flexible Server
- David Engel explains how to Update: Security hotfixes released for ODBC and OLE DB drivers for SQL Server
- Artem Mikulich describes A new way to change a Partition Key in CosmosDB
- Pamela Fox explains how to Easily deploy a pgvector-enabled PostgreSQL server to Azure
- Kevin Chant writes about Initial testing of Mirroring Azure Cosmos DB Databases in Microsoft Fabric
- Rajesh Ranga Rao discusses Azure SQL Server Performance Check Automation
- Chandan Saxena walks through Joining Queries in Azure Data Factory on Cosmos DB Sources
🛠️ Developer Tools
- On the Visual Studio blog, Rhea Patel discusses Introducing the new Copilot experience in Visual Studio
- On Visual Studio Magazine - Blogs, David Ramel (@dramel) covers Copilot Chat Expands in Visual Studio Code and describes Microsoft Unifying Copilot Tools in Visual Studio 2022
- Laurent Bugnion (@LBugnion) talks about Optimizing your code with GitHub Copilot for Visual Studio and about Creating Tests with GitHub Copilot for Visual Studio
- Glaucia Lemos (@glaucia_lemos86) blogs about GitHub Copilot Can Do That Azure Developers JavaScript Day 2024
- Damien Caro announces a new login experience with Azure PowerShell and Azure CLI
🔩 DevOps
- On epsiode 292 of the Azure DevOps podcast , Jeffrey Palermo (@jeffreypalermo) is joined by Richard Hundhausen to talk about Product Ownership
- Didier Van Hoye describes how to Clear the Git commits and history from the local & remote master repository
- Zack Soenen writes Is My LLM Chatbot Ready for Production?
- Antti K. Koskela (@koskila) describes How to output all Environment Variables in Azure DevOps with PowerShell
- Thomas Thornton (@tamstar1234) walks through Deploying a content filtering configuration in Azure OpenAI studio using Terraform and AzAPI
⚙️ Hybrid + Multicloud
- Amy Colyer blogs about Windows Server Summit Wrap Up
- On the Azure Medium blog, Ivan Porta explains how to Unified Kubernetes Management Across Clouds with Azure Arc
- Kawula Dave writes about Advanced Troubleshooting Failed Replacement of Physical Disk Storage Spaces Direct S2D / Azure Stack HCI
- Thomas Maurer (@thomasmaurer) explains how to Automate on-premises Windows Server from the cloud using Azure Arc
- Rene van den Bedem blogs about VMware HCX Troubleshooting with Azure VMware Solution
🎭 Identity
- The Azure Updates Team describes Public preview: Backup and restore of virtual machines with private endpoint enabled disks, and New RBAC roles for Azure savings plan for compute now available and General availability: Azure SQL updates for mid-April 2024
- On the Azure Medium blog, Musunuru Sharmila discusses Mastering Azure AD RBAC Governance: Harnessing Administrative Units and PIM
🔌 Integration
- George Guirguis announces MQTT Last Will and Testament Public Preview in Azure Event Grid
- Harold Campos discusses Announcement Logic Apps In-app connectors for IBM Mainframe and Midranges Generally Available
- Sandro Pereira (@sandro_asp) writes Deleting A Logic App Without Log Analytics Configured? Export Run Details For Preservation And Analysis with PowerShell, and BizTalk WCF-SQL Adapter Error: Retrieval of Operation Metadata has failed while building WSDL at TypedPolling, and BizTalk WCF-SQL Adapter Error:Retrieval of Operation Metadata has failed while building WSDL at TypedProcedure – Invalid Object name and Logic App Consumption Visual Studio Deployment: Establishing connection with the service failed with code DMTSEncryptClusterCredentialsErrorCode
- Richard Fennell (@richardfennell) talks about Microsoft.Web/Connections Access Policies
- Panu Oksala describes How to receive Azure Updates directly into your Slack
- On the Data Exposed show, Anna Hoffman (@AnalyticAnna) is joined by Lance Delano, and Ritesh Pandey to discusses Power Apps and Azure SQL Together
- Brian Smith talks about Using Power Automate for Project Lifecycle Workflows in Project Online – Part 3
📚 Learning
- Daniel Calbimonte provides an AZ-500 Microsoft Azure Security Exam Study Guide
- Shirleyse Haley covers Key resources to prepare you for the Microsoft Copilot for Security launch
- Jason Sandys provides a Skilling snack: Windows Entra joined devices
⚖️ Management and Governance
- Kristopher Bash announces Microsoft Graph activity logs is now generally available
- The Azure Updates Team announces Public preview: Backup and restore of virtual machines with private endpoint enabled disks
- Rohit Mannan walks through ReIntroducing the Surface Management and Support Suite
- Stephen Sumner announces New Cloud Governance Guidance in the Microsoft Cloud Adoption Framework CAF for Azure
- Jose Fehse says Azure Monitoring Packs - V2 is out
- Vahe Minasyan blogs about Azure billing meters: What you need to know about the upcoming changes
- On episode 491 of the Azure podcast, the podcast team (@AzurePodcast) are joined by Amit Bajaj to talk about the Azure Service Retirement Workbook
🚌 Migration
- Gregor Reimling discusses 7 steps for a successful Azure migration
- On the Microsoft Mechanics show, Matt McSpirit (@mattmcspirit) ask Is Azure the right place to run Red Hat Enterprise Linux workloads?
- Michelle Gutzait covers Data Management Views DMVs Comparison for SQL Server 2019 and Azure SQL Database
🌐 Networking
- The Azure Updates Team talks about App Service virtual network integration multi plan subnet join and announces General Availability: Virtual private network VPN with Azure Managed Instance for Apache Cassandra
- Robert Smit (@Clustermvp) covers Azure Firewall: A Comprehensive Comparison and Best Practices
- Adam Torkar writes about Virtual Wan Traffic Flow Patterns
- Will Aftring writes Proxies, proxies everywhere but still no Internet. Overview of the Windows Proxies
🔐 Security
- The Azure Updates Team announces General availability: Extensible key management using Azure Key Vault for SQL Server on Linux
- Charbel Nemnom (@charbelnemnom) explains how to Update Microsoft Sentinel Analytics Rules at Scale
- Bojan Magusic describes How to better manage cost of API calls that Defender for Cloud makes to AWS
- Stefan Puzderca discusses Strategies to monitor and prevent vulnerable driver attacks
- Simona Kovatcheva writes The Ultimate Guide to Deciphering Azure Agents + Defender for Servers in three-part series: Part 1, Part 2 and Part 3
📦 Storage
- Shraddha Swadi describes How to troubleshoot blobfuse2 issues
- John Kilmister (@johnkilmister) covers Exploring Azure Storage Actions for Blob Storage
- Travis Roberts (@Ciraltos) discusses Geo-Redundancy for Azure Standard File Shares
🔗 Web
- Howard van Rooijen (@HowardvRooijen) writes about a simple modern web stack ASP.NET Core + Razor + HTMX + Chart.js
- The Azure Updates Team covers Run Azure Load Testing on Azure App Service web apps
- Andreas Helland walks through Implementing a Blazor-based BFF in Azure Container Apps
- Andrei Kamenev describes how to Secure GraphQL APIs with JSON Web Token validation and Authorization rules in Azure API Management
⚙️ Azure Virtual Desktop
- Jessie Duan talks about Azure Virtual Desktop for Azure Stack HCI now has autoscale