<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Azure Archives | DMC, Inc.</title>
	<atom:link href="https://static.dmcinfo.com/blog/tag/azure/feed/index.xml" rel="self" type="application/rss+xml" />
	<link></link>
	<description></description>
	<lastBuildDate>Wed, 02 Sep 2026 18:35:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://static.dmcinfo.com/wp-content/uploads/2025/04/site-icon-150x150.png</url>
	<title>Azure Archives | DMC, Inc.</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Azure AI: Computer Vision Solutions</title>
		<link>https://static.dmcinfo.com/blog/36209/azure-ai-computer-vision-solutions/</link>
		
		<dc:creator><![CDATA[Riley Spering]]></dc:creator>
		<pubDate>Tue, 22 Jul 2025 20:20:01 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=36209</guid>

					<description><![CDATA[<p>Computer vision refers to artificial intelligence systems that can perceive the world visually. These systems can be applied to camera input, images, or video. There are several problems that can be solved with the help of Azure’s AI Vision Service. With both facial recognition and optical character recognition the possibilities are endless!&#160; At DMC, we [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/36209/azure-ai-computer-vision-solutions/">Azure AI: Computer Vision Solutions</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Computer vision refers to artificial intelligence systems that can perceive the world visually. These systems can be applied to camera input, images, or video. There are several problems that can be solved with the help of Azure’s AI Vision Service. With both facial recognition and optical character recognition the possibilities are endless!&nbsp;</p>



<p class="wp-block-paragraph">At DMC, we pride ourselves on our technical skillset. AI solutions are just a part of our <a href="https://static.dmcinfo.com/services/application-development">application development services</a>. From IoT solutions to custom software from scratch, we are ready to tackle any project that comes our way. In this post, we will introduce the fundamentals of Azure AI Vision, facial recognition, and optical character recognition. We will also talk about what an AI Vision solution might look like from DMC.&nbsp;</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="488" height="291" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-ai-vision-diagram.png" alt="Azure AI Vision Diagram" class="wp-image-39172" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-ai-vision-diagram.png 488w, https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-ai-vision-diagram-300x179.png 300w" sizes="(max-width: 488px) 100vw, 488px" /></figure>



<h2 id="h-what-is-azure-ai-vision-nbsp" class="wp-block-heading">What is Azure AI Vision?&nbsp;</h2>



<p class="wp-block-paragraph">Creating solutions that can “see” the world and interpret it is a core area of artificial intelligence. Computers don’t exactly have eyes, but they are capable of processing info from videos, images, or live camera feeds.&nbsp;</p>



<p class="wp-block-paragraph">The architecture for computer vision models is complex and requires <strong>significant </strong>amounts of training and resources to perform at a high level, i.e. identify objects correctly with confidence. With Azure AI Vision, we can create complex models much quicker and easier than producing one from scratch. While these existing models can be functional out of the box, we can build on top of them to create <strong>custom models</strong> that fit your exact needs!&nbsp;</p>



<p class="wp-block-paragraph">Using these models can be done with ease by provisioning an Azure AI Vision resource in an Azure Subscription, which allows us to use the Azure Portal to easily manage and modify your AI solution.&nbsp;</p>



<h2 id="h-what-can-azure-ai-vision-do-nbsp" class="wp-block-heading">What Can Azure AI Vision Do?&nbsp;</h2>



<p class="wp-block-paragraph">Azure AI Vision offers several image analysis capabilities which include:&nbsp;</p>



<ul class="wp-block-list">
<li>Extracting text from images using Optical Character Recognition (OCR)&nbsp;</li>



<li>Generating captions and descriptions of images&nbsp;</li>



<li>Common object detection&nbsp;</li>



<li>Tagging visual features&nbsp;</li>



<li>Detecting and recognizing faces&nbsp;</li>
</ul>



<p class="wp-block-paragraph">Let’s dive deeper into these capabilities, starting with the ones that fall under facial recognition.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="494" height="456" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-AI-facial-recognition-diagram.png" alt="Azure AI facial recognition diagram" class="wp-image-39173" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-AI-facial-recognition-diagram.png 494w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-AI-facial-recognition-diagram-300x277.png 300w" sizes="(max-width: 494px) 100vw, 494px" /></figure>



<h2 id="h-facial-recognition-nbsp" class="wp-block-heading">Facial Recognition&nbsp;</h2>



<p class="wp-block-paragraph">Facial recognition is one of the most powerful capabilities of Azure AI Vision, enabling systems to detect, analyze, and identify human faces in images or video feeds. This technology has a wide range of applications, from enhancing security systems to personalizing user experiences. Azure AI Vision provides robust facial recognition tools that are both accurate and easy to integrate into custom solutions.&nbsp;</p>



<h3 id="h-how-facial-recognition-works-nbsp" class="wp-block-heading">How Facial Recognition Works&nbsp;</h3>



<p class="wp-block-paragraph">Azure’s facial recognition capabilities rely on sophisticated machine learning models that analyze facial features in images or video frames. These models detect faces by identifying key landmarks, such as the eyes, nose, and mouth, and then generate a unique facial signature based on these features. The process involves several key steps that ascend in complexity:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Face Detection</strong>: Identifies the presence of faces in an image or video and determines their locations within the input</li>



<li><strong>Facial Attribute Analysis</strong>: Extracts attributes like age, gender, facial hair, or even emotional expressions (e.g., happy, sad, neutral)</li>



<li><strong>Face Identification</strong>: Matches detected faces against a database of known faces to identify individuals to a known group</li>



<li><strong>Face Verification</strong>: Confirms whether two faces belong to the same person by comparing their facial signatures</li>
</ul>



<p class="wp-block-paragraph">Azure AI Vision’s facial recognition APIs make it simple to integrate these capabilities into applications. The service also supports real-time analysis, making it ideal for applications like live surveillance or interactive kiosks.&nbsp;</p>



<h3 id="h-use-cases-for-facial-recognition" class="wp-block-heading">Use Cases for Facial Recognition</h3>



<p class="wp-block-paragraph">Facial recognition opens a variety of possibilities for businesses and organizations. Some potential use cases include:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Security and Access Control</strong>: Implementing facial recognition for secure building access or device unlocking, replacing traditional keycards or passwords</li>



<li><strong>Retail and Marketing</strong>: Analyzing customer demographics and emotions in stores to tailor marketing campaigns or improve customer experience</li>



<li><strong>Event Management</strong>: Streamlining check-in processes at events by identifying attendees through facial recognition</li>
</ul>



<p class="wp-block-paragraph">At DMC, we are confident in our ability to leverage Azure’s facial recognition capabilities to build tailored solutions for clients across industries. Whether it’s enhancing security protocols or creating personalized customer interactions, our team is equipped to fine-tune these models to meet specific requirements while ensuring high accuracy and reliability.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="497" height="193" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-OCR-diagram.png" alt="Azure OCR diagram" class="wp-image-39174" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-OCR-diagram.png 497w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-OCR-diagram-300x116.png 300w" sizes="(max-width: 497px) 100vw, 497px" /></figure>



<h2 id="h-optical-character-recognition-ocr-nbsp" class="wp-block-heading">Optical Character Recognition (OCR)&nbsp;</h2>



<p class="wp-block-paragraph">Optical Character Recognition (OCR) is another cornerstone of Azure AI Vision, enabling systems to extract text from images, scanned documents, or video feeds. This capability is designed for digitizing physical documents, automating data entry, and making content searchable. Azure’s OCR technology is highly accurate and supports a wide range of languages and formats, making it a versatile tool for our clients.&nbsp;</p>



<h3 id="h-how-ocr-works-nbsp" class="wp-block-heading">How OCR Works&nbsp;</h3>



<p class="wp-block-paragraph">Azure’s OCR functionality, powered by the Read API, processes images or PDFs and converts text within them into machine-readable data. The process involves:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Text Detection</strong>: Identifying regions in an image that contain text, regardless of orientation or font style</li>



<li><strong>Text Recognition</strong>: Converting detected text into digital characters, preserving formatting where possible</li>



<li><strong>Language Support</strong>: Recognizing text in multiple languages, including handwritten and printed text</li>



<li><strong>Layout Analysis</strong>: Understanding the structure of the document, such as paragraphs, tables, or lists, to maintain context&nbsp;</li>
</ul>



<p class="wp-block-paragraph">The Read API is designed to handle complex scenarios, such as noisy images, low-resolution scans, or text in mixed languages. Developers can easily integrate OCR into applications by calling the API and receiving structured JSON output containing the extracted text and its coordinates.&nbsp;</p>



<h3 id="h-advanced-ocr-features-nbsp" class="wp-block-heading">Advanced OCR Features&nbsp;</h3>



<p class="wp-block-paragraph">Azure AI Vision’s OCR goes beyond basic text extraction. Some advanced features include:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Handwritten Text Recognition</strong>: Extracting text from handwritten notes or forms, which is particularly useful for industries like healthcare or education</li>



<li><strong>Form Recognition</strong>: Automatically extracting key-value pairs from structured documents like invoices, receipts, or IDs&nbsp;</li>



<li><strong>Multi-Page Document Processing</strong>: Handling large documents, such as contracts or reports, with consistent accuracy across pages</li>



<li><strong>Real-Time OCR</strong>: Processing live camera feeds to extract text instantly, ideal for applications like license plate recognition</li>
</ul>



<h3 id="h-use-cases-for-ocr-nbsp" class="wp-block-heading">Use Cases for OCR&nbsp;</h3>



<p class="wp-block-paragraph">OCR is a game-changer for organizations looking to streamline operations and reduce manual work. Some practical applications include:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Document Digitization</strong>: Converting paper-based records, such as medical charts or legal contracts, into searchable digital formats</li>



<li><strong>Automated Data Entry</strong>: Extracting information from invoices, receipts, or forms to populate databases without human intervention</li>



<li><strong>Accessibility</strong>: Enabling text-to-speech systems to read printed text aloud for visually impaired users</li>



<li><strong>Logistics and Transportation</strong>: Reading shipping labels or license plates in real time to improve supply chain efficiency</li>
</ul>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="990" height="502" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-computer-vision.png" alt="azure computer vision" class="wp-image-39177" style="width:544px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-computer-vision.png 990w, https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-computer-vision-300x152.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-computer-vision-768x389.png 768w" sizes="(max-width: 990px) 100vw, 990px" /></figure>



<h2 id="h-real-world-solution-enhancing-security-with-azure-ai-vision" class="wp-block-heading">Real-World Solution: Enhancing Security with Azure AI Vision</h2>



<p class="wp-block-paragraph">To illustrate the power of Azure AI Vision, let’s explore a high-level example of how DMC could leverage this technology to solve a security problem for a client.&nbsp;</p>



<h3 id="h-the-challenge" class="wp-block-heading">The Challenge</h3>



<p class="wp-block-paragraph">A large corporate campus with multiple buildings wants to enhance its security measures and streamline access control. The client faces two key issues:&nbsp;</p>



<ol class="wp-block-list">
<li><strong>Unauthorized Access</strong>: The current keycard-based system is vulnerable to lost or stolen cards, allowing potential unauthorized entry to sensitive areas.&nbsp;</li>



<li><strong>Incident Reporting</strong>: Manual logging of security incidents, such as identifying individuals in surveillance footage, is time-consuming and prone to errors.&nbsp;</li>
</ol>



<h3 id="h-the-solution" class="wp-block-heading">The Solution</h3>



<p class="wp-block-paragraph">DMC proposes a comprehensive Azure AI Vision solution that combines facial recognition, OCR, and object detection to address these security challenges. The solution includes:&nbsp;</p>



<p class="wp-block-paragraph"><strong>Secure Access Control</strong>: Using Azure’s Face API, the system verifies employee identities at entry points by matching their faces against a secure database of authorized personnel. The system operates in real time, granting or denying access within seconds.&nbsp;</p>



<p class="wp-block-paragraph"><strong>Automated Incident Logging</strong>: Azure’s OCR capabilities are integrated into a security management platform that processes surveillance footage and incident reports. The system extracts text from identification documents or name badges captured in footage, cross-referencing with employee records to log incidents accurately. Object detection identifies potential security threats, such as unrecognized items in restricted areas.&nbsp;</p>



<p class="wp-block-paragraph"><strong>Security Analytics Dashboard</strong>: A centralized dashboard provides real-time insights into access logs and incident reports, powered by Azure’s facial recognition and OCR data. Security teams can monitor entry patterns, flag suspicious activities, and generate reports for compliance audits.&nbsp;</p>



<h3 id="h-implementation" class="wp-block-heading">Implementation</h3>



<p class="wp-block-paragraph">To build this solution, DMC provisions an Azure AI Vision resource within the client’s Azure Subscription. The development process includes:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Custom Model Training</strong>: Fine-tuning Azure’s facial recognition models with a dataset of employee images (with consent) to ensure high accuracy in identification under various lighting and angle conditions</li>



<li><strong>OCR Integration</strong>: Configuring the Read API to extract text from identification documents, badges, or signage in surveillance footage, supporting multiple formats and orientations</li>



<li><strong>Object Detection</strong>: Training a custom object detection model to recognize specific items (e.g., bags, devices) that may pose security risks</li>



<li><strong>Security Platform Development</strong>: Building a web or desktop platform that integrates the Face API, Read API, and object detection models, with a user-friendly interface for security personnel</li>



<li><strong>Security and Compliance</strong>: Implementing end-to-end encryption for all data, including facial signatures and extracted text, and ensuring compliance with privacy regulations according to state and federal guidelines. Human-in-the-loop oversight is incorporated, allowing security staff to review and intervene in real-time decisions.</li>
</ul>



<h3 id="h-benefits-nbsp" class="wp-block-heading">Benefits&nbsp;</h3>



<p class="wp-block-paragraph">The solution delivers measurable results for the corporate client:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Enhanced Security</strong>: Facial recognition ensures only authorized personnel access restricted areas, minimizing risks from lost or stolen keycards.&nbsp;</li>



<li><strong>Operational Efficiency</strong>: Automated incident logging reduces manual work and improves the accuracy of security reports.&nbsp;</li>



<li><strong>Proactive Monitoring</strong>: Real-time analytics enable security teams to detect and respond to potential threats quickly.&nbsp;</li>



<li><strong>Scalability</strong>: The Azure-based solution can be expanded to additional campus locations or integrated with other security systems.&nbsp;</li>
</ul>



<h2 id="h-ethical-considerations-nbsp" class="wp-block-heading">Ethical Considerations&nbsp;</h2>



<p class="wp-block-paragraph">While facial recognition and image analysis is a powerful tool, it’s important to address ethical considerations. Privacy, consent, and data security are critical when deploying these solutions. Azure AI Vision adheres to strict compliance standards, and at DMC, we prioritize responsible AI practices, ensuring that facial recognition systems are implemented transparently and with user consent. As a registered partner with Microsoft, we are committed to responsible AI practices in deploying both facial recognition and OCR solutions in accordance with their general guidelines.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">We ensure responsible use and integration of visual AI solutions by:&nbsp;</p>



<ul class="wp-block-list">
<li>Thoroughly assessing Azure AI Vision’s capabilities to ensure they align with client needs, while performing sufficient testing to understand its capabilities and limitations</li>



<li>Respecting individuals’ privacy by collecting data only with explicit consent and using it solely for authorized purposes</li>



<li>Incorporating human-in-the-loop oversight to enable real-time intervention, maintaining human decision-making to prevent harm</li>



<li>Prioritizing security through robust controls to protect data integrity and prevent unauthorized access</li>
</ul>



<p class="wp-block-paragraph">More information on <a href="https://learn.microsoft.com/en-us/azure/foundry/responsible-ai/computer-vision/image-analysis-guidance-for-integration" type="link" id="https://learn.microsoft.com/en-us/azure/foundry/responsible-ai/computer-vision/image-analysis-guidance-for-integration" target="_blank" rel="noreferrer noopener">Microsoft’s guidelines on responsible used of AI Image Analysis</a> can be found in their documentation provided.&nbsp;</p>



<h2 id="h-why-dmc" class="wp-block-heading">Why DMC?</h2>



<p class="wp-block-paragraph">At DMC, we combine technical expertise with a deep understanding of our clients’ business needs. Our experience with Azure AI Vision allows us to deliver tailored solutions that drive real value. Whether it’s enhancing customer experiences, automating processes, or unlocking new insights, we’re ready to help our clients succeed.&nbsp;</p>



<h2 id="h-let-s-recap" class="wp-block-heading">Let’s Recap</h2>



<p class="wp-block-paragraph">Azure AI Vision is a transformative technology that empowers businesses to “see” and understand the world in new ways. With capabilities like facial recognition and OCR, it opens endless possibilities for innovation. At DMC, we’re passionate about harnessing these tools to solve complex challenges and deliver measurable results. From automation to agriculture, our team is equipped to build custom AI solutions across industries that meet your unique needs. </p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step">Unlock the Power of Azure AI Vision and Transform Your Data.</h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">DMC&#8217;s <a href="https://static.dmcinfo.com/services/application-development/" data-type="page" data-id="434">Application Development</a> experts can leverage Azure AI Vision, computer vision, and general <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/ai-and-data-analytics/" data-type="page" data-id="698">AI capabilities</a> to automate processes and uncover actionable insights.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/36209/azure-ai-computer-vision-solutions/">Azure AI: Computer Vision Solutions</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Azure AI: Knowledge Mining Solutions</title>
		<link>https://static.dmcinfo.com/blog/36190/azure-ai-knowledge-mining-solutions/</link>
		
		<dc:creator><![CDATA[Riley Spering]]></dc:creator>
		<pubDate>Thu, 03 Jul 2025 08:00:00 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=36190</guid>

					<description><![CDATA[<p>Knowledge mining is a field of artificial intelligence that pertains to extracting key insights from unorganized data. Like data mining, which finds patterns and correlations, knowledge mining takes things to the next level by also contextualizing knowledge across a wide range of data formats. Azure AI Search allows us to do this on existing knowledge [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/36190/azure-ai-knowledge-mining-solutions/">Azure AI: Knowledge Mining Solutions</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Knowledge mining is a field of artificial intelligence that pertains to extracting key insights from unorganized data. Like data mining, which finds patterns and correlations, knowledge mining takes things to the next level by also contextualizing knowledge across a wide range of data formats. Azure AI Search allows us to do this on existing knowledge bases to help organize and enhance your business.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">At DMC, we pride ourselves on our vast technology skillset. AI solutions are just a part of our <a href="https://static.dmcinfo.com/services/application-development">application development services</a>. From IoT solutions to custom software from scratch, we are ready to tackle any project that comes our way. In this post, we will introduce the fundamentals of Azure AI Search, AI Enrichment, and Multimodal Search. We will also talk about what an AI Search solution might look like from DMC.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="715" height="512" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/Knowledge-Mining-Microsoft-Azure.png" alt="knowledge mining illustration" class="wp-image-39164" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/Knowledge-Mining-Microsoft-Azure.png 715w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Knowledge-Mining-Microsoft-Azure-300x215.png 300w" sizes="(max-width: 715px) 100vw, 715px" /></figure>



<h2 id="h-what-is-azure-ai-search-nbsp" class="wp-block-heading">What is Azure AI Search?&nbsp;</h2>



<p class="wp-block-paragraph">Azure AI Search is a Microsoft-owned and managed, cloud-based service that enables applications to have enterprise-grade information retrieval. The service has the traditional characteristics of a search service, such as indexing, keyword search, and knowledge stores. However, Azure AI search can enhance your search capabilities using AI Enrichment, Multimodal Search, and more! All these features live in the Azure ecosystem, making it easy to scale and apply a secure solution that fits your needs.&nbsp;</p>



<h2 id="h-what-can-azure-ai-search-do-nbsp" class="wp-block-heading">What Can Azure AI Search Do?&nbsp;</h2>



<p class="wp-block-paragraph">Azure AI offers several standard features of a search service, with the addition of AI capabilities. In this article, we will take a deeper look at AI Enrichment and Multimodal Search. Other features exist such as:&nbsp;</p>



<ul class="wp-block-list">
<li>Indexing&nbsp;</li>



<li>Vector and hybrid search&nbsp;</li>



<li>Full-text search&nbsp;</li>



<li>Full Lucene query syntax search&nbsp;</li>



<li>Relevance scoring&nbsp;</li>



<li>Semantic ranking&nbsp;</li>



<li>Knowledge stores&nbsp;</li>
</ul>



<h2 id="h-ai-enrichment" class="wp-block-heading">AI Enrichment</h2>



<p class="wp-block-paragraph">AI Enrichment in the Azure AI Search service takes raw, unstructured data and transforms it into structured, searchable content using other Azure AI Services such as Computer Vision and Language Processing. What this means is that we can take inputs, such as PDFs and text files, and extract meaningful information from them so they can be accurately retrieved in response to a search query.&nbsp;</p>



<h3 id="h-how-ai-enrichment-works" class="wp-block-heading">How AI Enrichment Works</h3>



<figure class="wp-block-image size-full"><img decoding="async" width="625" height="222" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/ai-enrichment-png-webp-628A_226-10-15-2025_12_14_PM-1.png" alt="Diagram of how AI enrichment works" class="wp-image-39167" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/ai-enrichment-png-webp-628A_226-10-15-2025_12_14_PM-1.png 625w, https://static.dmcinfo.com/wp-content/uploads/2025/07/ai-enrichment-png-webp-628A_226-10-15-2025_12_14_PM-1-300x107.png 300w" sizes="(max-width: 625px) 100vw, 625px" /></figure>



<p class="wp-block-paragraph">The process for AI Enrichment can be broken down into three phases:&nbsp;</p>



<ol class="wp-block-list">
<li>Date Importing&nbsp;</li>



<li>Enrichment and Indexing&nbsp;</li>



<li>Output Exploration</li>
</ol>



<p class="wp-block-paragraph"><strong>Data Importing </strong>is the step where an indexer connects a data source with unstructured documents and pulls them into the search service.&nbsp;</p>



<p class="wp-block-paragraph"><strong>Enrichment and Indexing </strong>is the largest and most complex step of the process. Enrichment starts with the indexer opening files and extracting key data from them, such as dates, keywords, or any other customizable entities. During this process, an “enriched” version of the document is created. This enriched document can either be temporary or stored for future reuse. The indexer then applies field mappings, which are paths between the source data and search index. We also create a path between the enriched data and search index.&nbsp;</p>



<p class="wp-block-paragraph">In the final step, <strong>Output Exploration</strong>, we start to see the end goal of setting up this service, which is to be able to navigate a previously unsearchable data source. This can appear in the form of a simple search bar or passed onto a chatbot that can dynamically retrieve the enriched data and present it in a user-friendly, conversational format.&nbsp;&nbsp;</p>



<h3 id="h-use-cases-for-ai-enrichment" class="wp-block-heading">Use Cases for AI Enrichment</h3>



<ul class="wp-block-list">
<li><strong>Knowledge Management</strong>: Extract entities and key phrases from internal documents to support advanced search</li>



<li><strong>Customer Support</strong>: Enrich support tickets with metadata to improve query routing</li>



<li><strong>Research Analysis</strong>: Process academic papers or reports to extract insights for searchable archives</li>
</ul>



<h2 id="h-multimodal-search" class="wp-block-heading">Multimodal Search</h2>



<p class="wp-block-paragraph">Multimodal search is the ability to ingest, understand, and retrieve information across multiple content types, including text, images, video, and audio. This enables us to search using more diverse methods such as similarity search and hybrid queries, which we will talk about more in this section.&nbsp;&nbsp;</p>



<h3 id="h-how-multimodal-search-works" class="wp-block-heading">How Multimodal Search Works</h3>



<p class="wp-block-paragraph">Multimodal Search uses AI to vectorize and index non-text content, enabling similarity search and hybrid queries. The process involves the following steps:&nbsp;</p>



<ol class="wp-block-list">
<li>Content Ingestion&nbsp;</li>



<li>Vectorization&nbsp;</li>



<li>Index Storage&nbsp;</li>



<li>Query Processing&nbsp;</li>
</ol>



<p class="wp-block-paragraph"><strong>Content Ingestion </strong>is where we extract data from text, images, PDFs, and more via indexers.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph"><strong>Vectorization </strong>uses AI models to convert unstructured content into vectors. Vectors are used to capture semantic or visual features of data. They are essential in getting accurate return results when querying for non-text elements, such as visual features.&nbsp;</p>



<p class="wp-block-paragraph">The process of storing the vectors and their associated metadata for fast retrieval is the <strong>Index Storage </strong>step.&nbsp;</p>



<p class="wp-block-paragraph">Finally, <strong>Query Processing </strong>is where a user’s search input is matched against relevant vectors so that semantically similar results can be returned.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">So, what is the end goal of multimodal search? While the overall goal is to expand your organization’s knowledge sharing and storage capabilities, the two primary added features are similarity searches and hybrid queries.</p>



<h4 id="h-similarity-search" class="wp-block-heading">Similarity Search</h4>



<p class="wp-block-paragraph">This technique leverages vector embeddings to find content that is conceptually or visually like a query, rather than relying solely on exact keyword matches. For example, a user uploading an image of a red dress can retrieve similar dresses based on visual features like color and style, even if the textual descriptions differ. Similarity search enables semantic and visual matching across diverse data types.&nbsp;</p>



<h4 id="h-hybrid-queries" class="wp-block-heading">Hybrid Queries</h4>



<p class="wp-block-paragraph">Multimodal Search supports hybrid queries that combine similarity search with traditional keyword search for more comprehensive results. By merging results using <a href="https://learn.microsoft.com/en-us/azure/search/hybrid-search-ranking" target="_blank" rel="noreferrer noopener">Reciprocal Rank Fusion</a>, Azure AI Search ensures that both semantic relevance and exact matches are considered. For instance, a query like “blue sneakers” can retrieve results based on both the text description and vectorized images of sneakers, providing a balanced and highly relevant output.&nbsp;</p>



<p class="wp-block-paragraph">With these two query processing features, an application can answer questions like &#8220;What is the process to approve a purchase order?&#8221; even when the only description of the process lives inside an embedded diagram in a PDF file.&nbsp;</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="804" height="516" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/query-processing.png" alt="diagram of query processing" class="wp-image-36215" style="width:500px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/query-processing.png 804w, https://static.dmcinfo.com/wp-content/uploads/2025/07/query-processing-300x193.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/query-processing-768x493.png 768w" sizes="(max-width: 804px) 100vw, 804px" /></figure>



<h3 id="h-use-cases-for-multimodal-search-nbsp" class="wp-block-heading">Use Cases for Multimodal Search&nbsp;</h3>



<ul class="wp-block-list">
<li><strong>Conversational AI</strong>: Enable chatbots to answer queries using text, images, or PDFs from a knowledge base&nbsp;</li>



<li><strong>E-Commerce</strong>: Allow users to upload product images to retrieve descriptions or reviews</li>



<li><strong>Healthcare</strong>: Query medical images and patient records for diagnostics</li>



<li><strong>Media Analysis</strong>: Search video or audio archives alongside text for comprehensive insights</li>
</ul>



<h2 id="h-real-world-solution-enhancing-a-knowledge-base-using-azure-ai-search" class="wp-block-heading">Real-World Solution: Enhancing a Knowledge Base using Azure AI Search</h2>



<p class="wp-block-paragraph">To demonstrate the power of Azure AI Search, let’s explore a high-level example of how DMC could leverage this technology to solve a knowledge organization problem for a client.&nbsp;</p>



<h3 id="h-the-challenge" class="wp-block-heading">The Challenge</h3>



<p class="wp-block-paragraph">A multinational consulting firm needs a search solution to help consultants quickly access industry trends, regulations, and internal best practices. Their knowledge base includes thousands of PDFs, images, and internal reports across multiple languages, but traditional search tools deliver irrelevant results and struggle with non-text data. This leads to countless hours spent manually searching documents, impacting productivity and client response times.&nbsp;</p>



<h3 id="h-the-solution" class="wp-block-heading">The Solution</h3>



<p class="wp-block-paragraph">DMC proposes that the firm implement Azure AI Search with AI Enrichment and Multimodal Search to create an intelligent search platform. By enriching and vectorizing their knowledge base, this enables consultants to retrieve accurate, contextually relevant content using text or image queries, streamlining research and improving client outcomes. This solution would include:&nbsp;</p>



<p class="wp-block-paragraph"><strong>Complete Knowledge Base Ingestion: </strong>Using Azure’s pre-built indexers vectorize and index a pre-existing knowledge base to make it easier to navigate.&nbsp;</p>



<p class="wp-block-paragraph"><strong>Enhanced Data Retrieval: </strong>With AI Enrichment and Multimodal Search, the search service can quickly and accurately retrieve information based off a query.&nbsp;</p>



<h3 id="h-implementation" class="wp-block-heading">Implementation</h3>



<p class="wp-block-paragraph">To build this solution, DMC provisions an Azure AI Search resource within the client’s Azure subscription. The development process includes:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Data Ingestion</strong>&nbsp;
<ul class="wp-block-list">
<li>Store PDFs, images, and reports in Azure Blob Storage, ingested via Azure AI Search indexers</li>
</ul>
</li>



<li><strong>AI Enrichment Pipeline</strong>&nbsp;
<ul class="wp-block-list">
<li>Apply Optical Character Recognition (OCR) to extract text from scanned PDFs and images (e.g., charts, infographics)&nbsp;</li>



<li>Use entity recognition to tag regulations, companies, and dates in documents</li>



<li>Employee translation skills to index multilingual content for global teams</li>
</ul>
</li>



<li><strong>Multimodal Search Setup</strong>&nbsp;
<ul class="wp-block-list">
<li>Vectorized images and text using Azure OpenAI and Computer Vision models</li>



<li>Configured hybrid search to combine keyword and vector queries for comprehensive retrieval</li>
</ul>
</li>



<li><strong>Deployment</strong>&nbsp;
<ul class="wp-block-list">
<li>Integrate the search solution into the firm’s internal portal using Azure SDKs, supporting text and image-based queries</li>
</ul>
</li>
</ul>



<h3 id="h-benefits" class="wp-block-heading">Benefits</h3>



<ul class="wp-block-list">
<li><strong>Improved Relevance</strong>: Semantic ranking and vector search increases result accuracy</li>



<li><strong>Time Savings</strong>: Reduced research time by accessing insights via intuitive searches&nbsp;</li>



<li><strong>Multimodal Flexibility</strong>: Image-based queries (e.g., uploading a chart) can now retrieve related documents, enhancing usability</li>



<li><strong>Global Accessibility</strong>: Multilingual indexing supports seamless search for international teams</li>



<li><strong>Scalability</strong>: Using Azure as the foundation, the service can scale easily with the firm’s needs and goals</li>
</ul>



<h2 id="h-responsible-ai" class="wp-block-heading">Responsible AI</h2>



<p class="wp-block-paragraph">AI Enrichment and Multimodal Search rely on Azure AI models (e.g., Computer Vision, Language Service, Azure OpenAI) that may process personal or sensitive information.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">To uphold privacy and fairness, it is essential to consider the following:&nbsp;</p>



<ul class="wp-block-list">
<li>Ensure input data complies with applicable privacy laws and regulations. Avoid processing sensitive personal data without explicit consent or legal basis.&nbsp;</li>



<li>AI models may inadvertently reflect biases in training data, potentially affecting entity recognition or image analysis. Regularly evaluate outputs for fairness and adjust configurations (e.g., custom skills or filters) to minimize biased results.&nbsp;</li>



<li>Clearly communicate to users when AI-generated outputs, such as extracted entities or vectorized content, are used in search results, ensuring they understand the role of AI.&nbsp;</li>
</ul>



<p class="wp-block-paragraph">See the information on Microsoft’s guidelines on <a href="https://learn.microsoft.com/en-us/legal/search/transparency-note?context=%2Fazure%2Fsearch%2Fcontext%2Fcontext&amp;tabs=enrichment" type="link" id="https://learn.microsoft.com/en-us/legal/search/transparency-note?context=%2Fazure%2Fsearch%2Fcontext%2Fcontext&amp;tabs=enrichment" target="_blank" rel="noreferrer noopener">responsible use of AI Search</a>.&nbsp;</p>



<h2 id="h-why-dmc-nbsp" class="wp-block-heading">Why DMC?&nbsp;</h2>



<p class="wp-block-paragraph">At DMC, we blend our years of expertise with the Azure ecosystem with a client-centric approach to deliver transformative cloud-based solutions. Our deep knowledge base enables us to craft tailored platforms that unlock actionable insights and streamline operations. As a <a href="https://static.dmcinfo.com/about/partners/microsoft-solutions-partner/">Microsoft Solutions Partner</a>, we are committed to responsible AI practices. We ensure ethical, secure, and scalable solutions that align with your business goals, empowering you to stay ahead and succeed.&nbsp;</p>



<h2 id="h-let-s-recap" class="wp-block-heading">Let’s Recap</h2>



<p class="wp-block-paragraph">Azure AI Search is a powerful platform for intelligent search that uses AI Enrichment and Multimodal Search. AI Enrichment processes unstructured data into searchable, structured content, enabling applications like knowledge management and multilingual search. Multimodal Search extends this to images and audio, supporting cross-modal retrieval with similarity search and hybrid queries. Responsible AI practices ensure ethical use by addressing privacy, bias, and accuracy concerns. In our real-world example, a consulting firm could leverage these features to build an efficient search solution, boosting productivity and client satisfaction. For organizations seeking to unify diverse data and enhance discovery, Azure AI Search delivers expert results.&nbsp;</p>



<p class="wp-block-paragraph">At DMC, we’re passionate about harnessing these tools to solve complex challenges and deliver measurable results.</p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step"><strong>Unlock Answers Faster with AI-Powered Search.</strong></h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">From document enrichment to multimodal search experiences, DMC&#8217;s <a href="https://static.dmcinfo.com/services/application-development/" data-type="page" data-id="434">Application Development</a> expert creates solutions that improve productivity. Learn more about our <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-azure-cloud-solutions-and-services/" data-type="page" data-id="734">Azure</a> capabilities.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/36190/azure-ai-knowledge-mining-solutions/">Azure AI: Knowledge Mining Solutions</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Remote Attach Debugger to Process in the Cloud</title>
		<link>https://static.dmcinfo.com/blog/17712/remote-attach-debugger-to-process-in-the-cloud/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Mon, 13 Mar 2023 21:37:34 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[remote process]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/17712/remote-attach-debugger-to-process-in-the-cloud/</guid>

					<description><![CDATA[<p>This blog will show you how to remotely debug code that has been deployed to Microsoft Azure as a Function App. During one of the project stages, for various reasons, I was not able to deploy additional logging to see the parameters that were being retrieved from a database. You might think that I could&#8217;ve [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/17712/remote-attach-debugger-to-process-in-the-cloud/">Remote Attach Debugger to Process in the Cloud</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">This blog will show you how to remotely debug code that has been deployed to <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/microsoft-azure-cloud-solutions-and-services">Microsoft Azure</a> as a Function App.</p>

<p class="wp-block-paragraph">During one of the project stages, for various reasons, I was not able to deploy additional logging to see the parameters that were being retrieved from a database. You might think that I could&rsquo;ve simply run the code locally and seen the results there, but locally I had no access to the database due to the client&rsquo;s firewall configurations.</p>

<p class="wp-block-paragraph">The only plausible solution was to attach the debugger to the code that was running on the cloud. Seemingly, there are two main solutions in the 2022 Visual Studio, and it took me a little longer than I wish it did to connect to a remote process. To save you some time, I have summarized the&nbsp;steps I took while trying to review possible edge cases that might help you with troubleshooting.</p>

<p class="wp-block-paragraph">I put this guide together for both solution options, but I do have to warn you that&nbsp;even though the Publisher seems like a better, faster, and easier option, it did not work for my case, and I had to resort to the more manual option (which I, personally, prefer anyway).</p>

<h2 class="wp-block-heading">Both options must enable remote debugging.</h2>

<p class="wp-block-paragraph">Firstly, you will navigate to the &ldquo;General settings&rdquo; subpage of the &ldquo;Configuration&rdquo; tab of your Function App and enable remote debugging. Enabling this setting allows you to connect a remote debugger to the code running on the cloud.</p>

<p class="wp-block-paragraph" style="text-align: center;"><figure class="wp-block-image"><img decoding="async" alt="Enable remote debugging in Azure Function App configuration" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/1_remote_debugging_Azure_Function_App.png"  /></figure><em>Image 1. Enable remote debugging in Azure Function App configuration.</em></p>

<h2 class="wp-block-heading">Option 1 &ndash; &ldquo;Attach to Process&rdquo; in the Debug drop-down menu.</h2>

<p class="wp-block-paragraph">1. For option one, you will navigate to Visual Studio and select &ldquo;Attach to Process&rdquo; under the &ldquo;Debug&rdquo; option of the top bar menu panel. This item has a handy shortcut: Ctrl+Alt+P.</p>

<ul class="wp-block-list">
 <li><a href="https://learn.microsoft.com/en-us/visualstudio/debugger/attach-to-running-processes-with-the-visual-studio-debugger?view=vs-2022" target="_blank">Microsoft documentation on &ldquo;Attach to running processes with the Visual Studio debugger&rdquo;</a></li>
</ul>

<figure class="wp-block-image"><img decoding="async" alt="Select “Attach to Process” in the drop-down menu or use a Ctrl+Alt+P shortcut" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/2_Attach_to_Process.png"  /></figure>

<p class="wp-block-paragraph" style="text-align: center;"><em>Image 2. Select &ldquo;Attach to Process&rdquo; in the drop-down menu or use a Ctrl+Alt+P shortcut.</em></p>

<p class="wp-block-paragraph">2.&nbsp;You will have to provide the connection target, which you can find in the &ldquo;Overview&rdquo; of your Function App. The target is the URL to your Function Application with an appropriate Visual Studio port. Don&rsquo;t forget to omit the <em>https://</em> part of the URL.</p>

<figure class="wp-block-image"><img decoding="async" alt="Copy the target URL from the Function App Overview page." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/3_copy_target_URL.png"  /></figure>

<p class="wp-block-paragraph" style="text-align: center;"><em>Image 3. Copy the target URL from the Function App Overview page.</em></p>

<p class="wp-block-paragraph">3.&nbsp;Visual Studio port is determined by its version (taken out of official <a href="https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugger-port-assignments?view=vs-2022" target="_blank">Microsoft documentation</a> as of January 2023):</p>

<p class="wp-block-paragraph" style="text-align: center;"><figure class="wp-block-image"><img decoding="async" alt="Visual Studio Version Port chart" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/4_1_Visual_Studio_Version_chart.png"  /></figure></p>

<p class="wp-block-paragraph">Note: I <strong>could not</strong> attach to a process using port <strong>4026</strong> because remote debugger ports on Microsoft Azure App Services are configurable, and they do not use the default ports associated with your version of Visual Studio. They use port <strong>4024</strong> for the remote debugger.</p>

<ul class="wp-block-list">
 <li><a href="https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugger-port-assignments?view=vs-2022" target="_blank">Microsoft documentation on &ldquo;Remote Debugger Port Assignments&rdquo;</a></li>
</ul>

<figure class="wp-block-image"><img decoding="async" alt="Use the target URL with an appropriate Visual Studio port" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/4_connection_target.png"  /></figure>

<p class="wp-block-paragraph" style="text-align: center;"><em>Image 4. Use the target URL with an appropriate Visual Studio port.</em></p>

<p class="wp-block-paragraph">4. Without clicking anything, press Enter after you are done inputting the connection target. This will prompt a window for your credentials. This part is a little misleading because, in my case, the authentication window automatically prompted me to give my laptop credentials, but those are not the ones you want to put in here. Instead,&nbsp;select the &ldquo;More choices&rdquo; option and then hit &ldquo;Use a different account.&rdquo; This will prompt for a username and a password &mdash; which you can find in Azure. Disregard the &ldquo;Domain&rdquo; part of the window as it will get populated automatically if you use the correct username.</p>

<p class="wp-block-paragraph" style="text-align: center;"><figure class="wp-block-image"><img decoding="async" alt="This is step 1 in navigating to a window where you provide credentials to connect to your application" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/5_credentiatls_to_connect_application_step_1.png"  /></figure>&nbsp; &nbsp;&nbsp;&nbsp;<figure class="wp-block-image"><img decoding="async" alt="This is step 2 in navigating to a window where you provide credentials to connect to your application" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/6_more_choices_pin.png"  /></figure>&nbsp;</p>

<p class="wp-block-paragraph" style="text-align: center;"><figure class="wp-block-image"><img decoding="async" alt="This is step 3 in navigating to a window where you provide credentials to connect to your application" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/7_username_password.png"  /></figure></p>

<p class="wp-block-paragraph" style="text-align: center;"><em>Images 5, 6, 7. (Left to right, top to bottom) These are steps 1, 2, and 3 in navigating to a window where you provide credentials to connect to your application.</em></p>

<p class="wp-block-paragraph">5. The credentials you are going to use to connect to remote processes can be found in the &ldquo;Deployment Center&rdquo; of your Function App. Navigate to the &ldquo;FTPS credentials&rdquo; subpage and copy the username and password exactly into the window that prompted you for credentials. You can also add user scope, but I did not see the necessity for it for my case.</p>

<figure class="wp-block-image"><img decoding="async" alt="Find credentials in the deployment center of your application" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/8_find_credentials.png"  /></figure>

<p class="wp-block-paragraph" align="center"><em>Image 8. Find credentials in the deployment center of your application.</em></p>

<figure class="wp-block-image"><img decoding="async" alt="Use the credentials to attach the debugger to your target" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/9_enter_credentials.png"  /></figure>

<p class="wp-block-paragraph" align="center"><em>Image 9. Use the credentials to attach the debugger to your target.</em></p>

<p class="wp-block-paragraph">6. If the connection successfully establishes, you will see various processes that you may be able to attach to. Since my application is an Azure Function App, I was only able to attach to <em>dotnet.exe &#8211; .NET Core Host</em>. I have seen online that, to attach the debugger to a Web App, you might have to use the <em>w3wp.exe &ndash; IIS Worker Process</em>.<em>&nbsp;</em></p>

<figure class="wp-block-image"><img decoding="async" alt="This is a view of processes to attach to" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/10_view_of_processes_to_attach_to.png"  /></figure>

<p class="wp-block-paragraph" style="text-align: center;"><em>Image 10. This is a view of processes to attach to.</em></p>

<p class="wp-block-paragraph">7. Once attached, you should be able to successfully set a breakpoint in your code. Since the app runs on cloud, there is a slight latency, and it might take a little longer for the code to hit the breakpoint or for you to set it &mdash; but it is almost negligible. If the breakpoint doesn&rsquo;t get set or if you encounter other issues along the way, check out <a href="https://dynamics-chronicles.com/article/how-remote-debug-azure-function" target="_blank">this blog</a> I used when&nbsp;troubleshooting.</p>

<h2 class="wp-block-heading">Option 2 &ndash; Visual Studio Publisher</h2>

<p class="wp-block-paragraph">1. If you have used the Publisher before,&nbsp;you might not even need this guide, that&rsquo;s how straightforward this method is. If not, let&rsquo;s look at how you can use the new features of Visual Studio to your advantage.<br />
Firstly, you will have to create a Publishing Profile. Right-click your function app in Visual Studio and select &ldquo;Publish&rdquo; option. This will prompt you to set up a Publishing Profile.</p>

<figure class="wp-block-image"><img decoding="async" alt="These are options for your Function App" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/11_options_of_function_app.png"  /></figure>

<p class="wp-block-paragraph" style="text-align: center;"><em>Image 11. These are options for your Function App.</em></p>

<p class="wp-block-paragraph">2. Since we are trying to attach the debugger to a Function App on Azure, we will select the Azure option.</p>

<figure class="wp-block-image"><img decoding="async" alt="These are publishing options" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/12_publishing_options.png"  /></figure>

<p class="wp-block-paragraph" style="text-align: center;"><em>Image 12. These are publishing options.</em></p>

<p class="wp-block-paragraph">3. By default, my example runs on a Windows Azure Function App, and that is the option I selected.</p>

<figure class="wp-block-image"><img decoding="async" alt="These are Azure services options" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/13_Azure_services_options.png"  /></figure>

<p class="wp-block-paragraph" style="text-align: center;"><em>Image 13. These are Azure services options.</em></p>

<p class="wp-block-paragraph">4. The next step is to select which Function App you want to connect to. I can&rsquo;t really help much here because you will need to choose which&nbsp;app, service, and resource&nbsp;you are attaching based on your environment setup.</p>

<figure class="wp-block-image"><img decoding="async" alt="Select the Azure Function App for which you are creating this Publisher" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/14_select_Azure_Function_App.png"  /></figure>

<p class="wp-block-paragraph" style="text-align: center;"><i>Image 14. Select the Azure Function App for which you are creating this Publisher.</i></p>

<p class="wp-block-paragraph">5. You can hit &ldquo;Finish&rdquo; because the next window is optional. It asks if you want a <em>pubxml</em> or a <em>yml</em> file and, for the purpose of this guide, you should select the default <em>pubxml</em>.</p>

<figure class="wp-block-image"><img decoding="async" alt="These are Publisher format options." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/15_Publisher_format_options.png"  /></figure>

<p class="wp-block-paragraph" style="text-align: center;"><em>Image 15. These are Publisher format options.</em></p>

<p class="wp-block-paragraph">6. Once you click &ldquo;Finish,&rdquo; this will automatically create the Publisher Profile for you. Successful creation will show an appropriate message.</p>

<figure class="wp-block-image"><img decoding="async" alt="This displays the successful creation of a Publisher Profile" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/16_successful_creation_Publisher_Profile.png"  /></figure>

<p class="wp-block-paragraph" style="text-align: center;"><em>Image 16. This displays the successful creation of a Publisher Profile.</em></p>

<p class="wp-block-paragraph">7. Now you should simply be able to navigate to the options of the Profile and select &ldquo;Attach Debugger.&rdquo; Make sure you publish the application in Release mode using this Publisher before attaching the debugger. This is all you need to do if you are using the Publisher. This did not work for me because the default process that the Publisher attaches to was not the Function App that I needed to debug. It was <em>w3wp.exe &ndash; IIS Worker Process</em> instead of <em>dotnet.exe &#8211; .NET Core Host</em> by default.</p>

<p class="wp-block-paragraph"><figure class="wp-block-image"><img decoding="async" alt="This is a Publisher interface to attach the debugger" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/17_Publisher_interface.png"  /></figure>&nbsp;</p>

<p class="wp-block-paragraph" style="text-align: center;"><em>Image 17. This is a Publisher interface to attach the debugger.</em></p>

<h2 class="wp-block-heading">Important troubleshooting notes:</h2>

<ol class="wp-block-list">
 <li>Your code must be up to date with the current version on the cloud. Even though I had the latest version of the code, I had to redeploy to attach the debugger. This especially applies to the Publisher Profile.</li>
 <li>When attaching to process, you might have to manually figure out where to attach. As I was debugging a .NET Azure Function Application, I had to attach to the <em>dotnet.exe</em> process, but I have seen tutorials where you had to attach to <em>w3wp.exe</em> for certain web applications.</li>
 <li>The credentials are not your laptop nor your account credentials. They are the FTPS credentials from the Deployment Center of your application.</li>
 <li>It seems that&nbsp;the Publisher option configures everything for you. The feature seems nice, but it did not work for my case. I had to specifically attach to the <em>dotnet.exe</em> process because all other processes would not load any symbols, and the Publisher had the same issue for me. It wouldn&rsquo;t load the symbols, so I could not really set any breakpoints and debug the code. I imagine that it connects to <em>w3wp.exe</em> by default as I have seen in other tutorials.</li>
 <li>Another quite crucial note is that, when you attach to process, you only attach to one process. That is, if your application is multi-threaded, then you will only attach to one thread. I learned it the hard way. Every time I attached to a process and sent a request, the breakpoint would not always get hit, and sometimes I would receive requests that I have never sent. If you do decide to proceed with this debugging technique, be prepared to rely on chance and make sure that no one else is utilizing the application because they will see some weird behavior of their processes getting stuck on your breakpoint.</li>
 <li>I have seen situations where people had to disable the &ldquo;Just My Code&rdquo; option to make this work, but I never saw the necessity in that. I have it turned off by default, but having it on should not cause any issues; however, you can try it if nothing else is working in your troubleshooting endeavors.
 <ol class="wp-block-list">
  <li><a href="https://learn.microsoft.com/en-us/visualstudio/debugger/just-my-code?view=vs-2022" target="_blank">Microsoft documentation on &ldquo;Just My Code&rdquo;</a></li>
 </ol>
 </li>
 <li>If you are using a Publisher, make sure to deploy the code under the Release mode.</li>
</ol>

<p class="wp-block-paragraph"><strong>Learn more about <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/microsoft-azure-cloud-solutions-and-services">DMC&rsquo;s Microsoft Azure Cloud Solutions and Services</a>&nbsp;and <a href="https://static.dmcinfo.com/contact">contact us</a> today for your next project.</strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/17712/remote-attach-debugger-to-process-in-the-cloud/">Remote Attach Debugger to Process in the Cloud</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Save Money with Microsoft Azure Reserved Instances</title>
		<link>https://static.dmcinfo.com/blog/18898/save-money-with-microsoft-azure-reserved-instances/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Wed, 01 Dec 2021 17:00:50 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Azure Cloud Solutions and Services]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/18898/save-money-with-microsoft-azure-reserved-instances/</guid>

					<description><![CDATA[<p>In 2020, many companies were forced to make sudden, dramatic, and enduring changes to their IT environments. A global switch to remote work made On-Premises servers inconvenient to access for users, and even more difficult for IT staff to maintain while working remotely. Many companies found that the best solution for these issues was to [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/18898/save-money-with-microsoft-azure-reserved-instances/">Save Money with Microsoft Azure Reserved Instances</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">In 2020, many companies were forced to make sudden, dramatic, and enduring changes to their IT environments. A global switch to remote work made On-Premises servers inconvenient to access for users, and even more difficult for IT staff to maintain while working remotely. Many companies found that the best solution for these issues was to move the workload to a cloud platform. However, they soon discovered that the ongoing monthly costs were much higher than expected. Microsoft&apos;s Azure cloud platform now offers a way for customers like these to reduce their cloud spend by up to 72% &nbsp;compared to pay-as-you-go options.&nbsp;<br />
&nbsp;</p>

<h2 class="wp-block-heading">Azure Reserved Instances</h2>

<p class="wp-block-paragraph"><a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/microsoft-azure-cloud-solutions-and-services" target="_blank">Microsoft Azure</a> is an enterprise-grade cloud service platform: a complete set of secure application services for computing, storage, data, networking, and app development. Azure Reserved Instances allows companies with stable and predictable workloads to pre-purchase a set amount of Azure usage for time periods of 1 or 3 years. Monthly payments remain an option. Users can also pay the entire amount upfront.<br />
&nbsp;</p>

<h2 class="wp-block-heading">Program Flexibility</h2>

<p class="wp-block-paragraph">Azure Reserved Instances is flexible. Customers who find they need to increase the compute power of some of their Azure Reserved Instances can do so without issue, as long as they maintain the same type of reservations. Companies also have the option of cancelling their entire Azure Reserved Instance with payment of a 12% early termination fee.<br />
&nbsp;<br />
Used strategically, Azure Reserved Instances can greatly reduce a company&apos;s overall cloud spend. With an increasing number of workloads being moved to the cloud at an accelerated rate, this tool is something that should be considered closely by all companies.<br />
&nbsp;<br />
If you would like to learn more about how Azure Reserved Instances can work for your company, please feel free to reach out to Sales@localhost. We will be happy to schedule a call to discuss your needs.&nbsp;</p>

<p class="wp-block-paragraph"><strong>Learn more about <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/microsoft-azure-cloud-solutions-and-services">DMC&rsquo;s Microsoft Azure expertise</a>.&nbsp;</strong><br />
&nbsp;</p>
<p>The post <a href="https://static.dmcinfo.com/blog/18898/save-money-with-microsoft-azure-reserved-instances/">Save Money with Microsoft Azure Reserved Instances</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Configuring Azure AD Authentication for a React/ASP.NET Core 5.0 Web App</title>
		<link>https://static.dmcinfo.com/blog/19314/configuring-azure-ad-authentication-for-a-react-asp-net-core-5-0-web-app/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Mon, 07 Jun 2021 16:54:06 +0000</pubDate>
				<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/19314/configuring-azure-ad-authentication-for-a-react-asp-net-core-5-0-web-app/</guid>

					<description><![CDATA[<p>Azure Active Directory (Azure AD) is Microsoft’s enterprise cloud-based platform to secure and manage users. As a Microsoft Solutions Partner, DMC has extensive experience integrating this platform with web applications to ensure security and privacy. This blog will explain how to properly configure a React/ASP.NET Core 5.0 web app to use Azure AD authentication/authorization. Note: This [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/19314/configuring-azure-ad-authentication-for-a-react-asp-net-core-5-0-web-app/">Configuring Azure AD Authentication for a React/ASP.NET Core 5.0 Web App</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Azure Active Directory (Azure AD) is Microsoft’s enterprise cloud-based platform to secure and manage users. As a <a href="https://static.dmcinfo.com/about/partners/microsoft-solutions-partner/">Microsoft Solutions Partner</a>, DMC has extensive experience integrating this platform with web applications to ensure security and privacy. This blog will explain how to properly configure a React/ASP.NET Core 5.0 web app to use Azure AD authentication/authorization.</p>



<p class="wp-block-paragraph"><em>Note: This blog assumes you have already created an ASP.NET Core 5.0 API.&nbsp;</em></p>



<h2 class="wp-block-heading" id="h-1-register-the-client-and-server-apps-in-azure">1. Register the Client and Server Apps in Azure</h2>



<p class="wp-block-paragraph">To start, we will register the two parts of our web app in Azure. We will also assign permissions to different roles for our application.</p>



<h3 class="wp-block-heading" id="h-client-app-registration">Client App Registration</h3>



<ol class="wp-block-list">
<li>In the Azure portal, navigate to “App Registrations” and create a new app registration. You my also be asked for a redirect URL. Leave this blank for now (it will be addressed in a later step).</li>



<li>Click into the new registration and select Manage &gt; Authentication.</li>



<li>Under Platform Configurations, select “Add a platform” and add a single-page application platform.
 
 
<ol class="wp-block-list">
<li>For a redirect URI, use <strong>https://static.dmcinfo.com/auth.html</strong>. This will be the local development redirect URI.</li>



<li>When configuring a production registration, you will need to use <strong>https://[productionURL]/auth.html</strong> instead.</li>
</ol>
</li>



<li>Under &#8220;Implicit grant and hybrid flows,&#8221; enable access tokens and ID tokens.</li>
</ol>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Azure-Authentication-Screenshot-1_1.png" alt=""/></figure>



<ol class="wp-block-list" start="5">
 

<li>Click &ldquo;Overview&rdquo; and copy the value of application (client) ID. It will be used in the next step.</li>


</ol>



<p class="wp-block-paragraph"><em>Note: You can have multiple redirect URIs for one site. If you need to deploy your development app to a test site, simply add a redirect URI https://[testSiteUrl]/auth.html to this registration. When configuring a production version of your application, you should set up separate app registrations.</em></p>



<p class="wp-block-paragraph"><em>Note: auth.html is necessary because the javascript package we use for Azure AD Authentication automatically includes auth.html in its authentication request. If this package is not used, you are able to choose anything as your redirect URI.</em></p>



<p class="wp-block-paragraph">For more on redirect URIs, see the <a href="https://docs.microsoft.com/en-us/azure/active-directory/develop/reply-url" target="_blank">official Microsoft</a><a href="http://docs.microsoft.com/en-us/azure/active-directory/develop/reply-url" target="_blank">&nbsp;documentation.</a></p>



<h3 class="wp-block-heading" id="h-server-api-app-registration">Server (API) App Registration</h3>



<p class="wp-block-paragraph">Expose the API</p>



<ol class="wp-block-list">
<li>In the Azure portal, create another app registration. Leave “Redirect URI” blank.</li>



<li>Click Manage &gt; Expose an API and select “Add a scope.” This scope will be used to give the <strong>client application</strong> (not users) access to your API (roles will be used to authorize individual users).</li>
</ol>



<p class="wp-block-paragraph"><em>Note: This feature was in preview at the time this blog was written. If this option does not appear, you can <a href="https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps#app-manifest-editor" target="_blank">edit the app manifest directly</a>.</em></p>



<ol class="wp-block-list">
<li value="4">Name your scope (e.g.&nbsp;Data.Access)&nbsp;and fill out the remaining fields with descriptions relevant to your selected name. Leave the field &ldquo;Who can consent&rdquo; as admins only. Then, enable and add the scope.</li>



<li value="5">Under authorized client applications, click &ldquo;Add a client application.&rdquo; Select your scope and paste the application ID from the previous section into the field &ldquo;Client ID.&rdquo;</li>
</ol>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Azure-Authentication-Screenshot-2_0_1.png" alt="Azure expose an api user interface screenshot"/></figure>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Azure-Authentication-Screenshot-2_6.png" alt="Azure expose an api user interface screenshot"/></figure>



<p class="wp-block-paragraph"><em>Note: this gives our client (React) app access to this scope without consent being explicitly given by a user/admin. To require consent from users, skip this step and review the value of “Who can consent?” in step 4 and change it to include users.</em></p>



<p class="wp-block-paragraph">Create Roles</p>



<ol class="wp-block-list">
<li value="6">Click into the new registration and select Manage &gt; App Roles.</li>



<li value="7">Add the necessary app roles for your application (I used admin and user). The value will be used by the server application to check if the user has the appropriate role. Select that the role is valid for users/groups.</li>
</ol>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Azure-Authentication-Screenshot-3.png" alt=""/></figure>



<p class="wp-block-paragraph"><em>Note: To assign these roles to users/groups in the Azure portal, navigate to Enterprise applications &gt; Manage &gt; All Applications and find your server app. Click the server app, and select Manage &gt; Users and Groups. From here, you can add the appropriate users and groups for your app.</em></p>



<h2 class="wp-block-heading" id="h-2-configure-api-to-use-azure-ad-auth">2. Configure API to use Azure AD Auth</h2>



<p class="wp-block-paragraph">In this step, we will configure the ASP.NET Core backend to use Azure AD Authentication. We will need the following values from Azure to do this:</p>



<ul class="wp-block-list">
<li><strong>azureAdDomain</strong> &#8211; can be found in the Azure portal by searching for Azure Active Directory and looking at the Primary domain under Overview &gt; Tenant Information.</li>



<li><strong>APIClientId</strong> &#8211; can be found in the Overview section of the API app registration, under the name Application (client) ID.</li>



<li><strong>azureTenantId</strong> &#8211; can also be found&nbsp;in the Overview section of the API app registration, under the name Directory (tenant) ID.</li>
</ul>



<p class="wp-block-paragraph"><em>Note: This section assumes that you have scaffolded an ASP.NET Core 5.0 API.</em></p>



<p class="wp-block-paragraph">Configuring the API to use Azure AD Authentication is a relatively simple process. The authentication requests to Azure are handled on the front end, so we just need to configure the API to check that the request is authenticated.</p>



<ol class="wp-block-list">
<li>Add the following to <strong>appsettings.Development.json</strong> (using the values mentioned above):</li>
</ol>



<p class="wp-block-paragraph">&nbsp;</p>


<pre class="”brush:xml”">
 	&quot;AzureAd&quot;: {
    &quot;Instance&quot;: &quot;https://login.microsoftonline.com/&quot;,
    &quot;Domain&quot;: &quot;[azureAdDomain]&quot;,
    &quot;ClientId&quot;: &quot;[APIClientId]&quot;,
    &quot;TenantId&quot;: &quot;[azureTenantId]&quot;
},
</pre>


<ol class="wp-block-list" start="2">
 

<li>Add the following to the beginning of <strong>ConfigureServices in Startup.cs</strong>:</li>


</ol>



<p class="wp-block-paragraph">&nbsp;</p>


<pre class="”brush:xml”">
&nbsp;services
	.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
	.AddMicrosoftIdentityWebApi(Configuration.GetSection(&apos;AzureAd&quot;));
	
	services.AddAuthentication(options =&gt;
	{
		options.DefaultPolicy = 
			new AuthorizationPolicyBuilder()
				.RequireAuthenticatedUser()
				.RequireClaim(
			&quot;http://schemas.microsoft.com/identity/claims/scope&quot;,&quot;[scopeName]&quot;
			)
			.Build();
		});
        </pre>


<p class="wp-block-paragraph">This code will use the values from appsettings.Development.json to authenticate requests (using the values included in a JWT with the request).</p>



<p class="wp-block-paragraph">Additionally, it sets up a default authorization policy that requires your scope ([scopeName]) for all requests. This is the scope we configured in step 1, which will be used by our client application. This scope is <strong>not</strong> used to authorize specific users. Instead, it is used to authorize the client application itself. Roles (see step 4) will be used to authorize specific users.</p>



<ol class="wp-block-list" start="3">
 

<li>Add the following code after app.UseCors() in Startup.Configure:</li>


</ol>



<p class="wp-block-paragraph">&nbsp;</p>


<pre class="”brush:xml”">
app.UseAuthentication();
            app.UseAuthorization();
</pre>


<p class="wp-block-paragraph">The order of the methods determines when each piece of middleware runs in the HTTP request pipeline.</p>



<ol class="wp-block-list">
<li value="4">Add the &ldquo;Authorize&rdquo; attribute to any endpoints/controllers you would like to use Azure AD Auth to secure. To authorize for specific roles, use the following syntax:</li>
</ol>



<p class="wp-block-paragraph">&nbsp;</p>


<pre class="”brush:xml”">
 	    [Authorize(Roles = &quot;[roleName]&quot;)]
</pre>


<p class="wp-block-paragraph">“roleName” should correspond to the value of the appropriate app role defined on the API app registration. I.e.,&nbsp;an app role named Users defined with value Role.Users would have a roleName of Role.Users.</p>



<h2 class="wp-block-heading" id="h-conclusion">Conclusion</h2>



<p class="wp-block-paragraph">Your API is now integrated with Azure AD authentication! In general, the React app will request tokens from Azure AD, which it will include with requests to our API. The code we just set up will authenticate and authorize requests using the values in these tokens.</p>



<p class="wp-block-paragraph"><strong>Read more about DMC’s <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-consulting-services/">Microsoft Consulting Services</a> and <a href="https://static.dmcinfo.com/contact/">contact us</a> today to get started on your next project. </strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/19314/configuring-azure-ad-authentication-for-a-react-asp-net-core-5-0-web-app/">Configuring Azure AD Authentication for a React/ASP.NET Core 5.0 Web App</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Azure IoT Hub Data Processing and Storage</title>
		<link>https://static.dmcinfo.com/blog/19924/azure-iot-hub-data-processing-and-storage/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Fri, 15 May 2020 12:30:46 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[IoT]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/19924/azure-iot-hub-data-processing-and-storage/</guid>

					<description><![CDATA[<p>Overview When dealing with several or millions of IoT devices the amount of data can quickly become overwhelming to your processing logic and storage solution. To begin reducing the complexity of dealing with the data, it&#8217;s helpful to group the data into one of two main categories: hot&#160;or cold. That is to say: does the [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/19924/azure-iot-hub-data-processing-and-storage/">Azure IoT Hub Data Processing and Storage</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">Overview</h2>

<p class="wp-block-paragraph">When dealing with several or millions of IoT devices the amount of data can quickly become overwhelming to your processing logic and storage solution. To begin reducing the complexity of dealing with the data, it&rsquo;s helpful to group the data into one of two main categories: <strong>hot</strong>&nbsp;or <strong>cold</strong>. That is to say: does the data need to be analyzed immediately (hot), or can we look at the data at our own convenience (cold).</p>

<p class="wp-block-paragraph">After the data is ingested and initial processing is complete, it needs to be stored. Is the data similar enough that it can be logged in a database (structured), or does it vary widely and needs more flexible data storage (unstructured). Also, how much data are you expecting to collect:&nbsp;petabytes, or megabytes? Who needs access to the data for analysis, and what if they&rsquo;re located on the other side of the world?&nbsp;The delays in processing gigabytes of data while dealing with the latency of traversing the globe can quickly become frustrating.</p>

<p class="wp-block-paragraph">These are all things that need to be thought through before you begin development.&nbsp;Hopefully, this helps provide some assistance with planning your IoT solution. If you have any additional questions or need help with your <a href="/services/application-development/iot-solutions">IoT solution</a>, <a href="/contact">send us an email</a>.</p>

<figure class="wp-block-image"><img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/dataflow-2.png"  /></figure>

<h2 class="wp-block-heading">Data Processing</h2>

<p class="wp-block-paragraph">When your IoT nodes start producing data the server(s) need to be ready to handle that data as efficiently as possible, which means you need to determine if data is &lsquo;hot&rsquo; or &lsquo;cold&rsquo;.</p>

<p class="wp-block-paragraph"><span style="font-size:115%;"><u><strong>Hot Data</strong></u></span></p>

<p class="wp-block-paragraph">An example of &lsquo;hot&rsquo; data might be motor speed. Perhaps the motor can run up to 110% of its nominal speed for up to 5 seconds without issue, but if it exceeds 115% for more than 5 seconds it needs to be disassembled and internal parts replaced. The motor speed information needs to be analyzed and acted upon quickly to avoid downtime and costly repairs.</p>

<p class="wp-block-paragraph"><span style="font-size:115%;"><u><strong>Cold Data</strong></u></span></p>

<p class="wp-block-paragraph">&lsquo;Cold&rsquo; data, on the other hand, might be information like the volume of liquid pumped by the motor over the last 5 minutes. Knowing the exact flow at every given moment might not provide any valuable insights, so cold data can be batched and processed when reasonable.</p>

<p class="wp-block-paragraph">To complicate matters more, hot and cold data is more of a sliding scale, with common nomenclature of &lsquo;hot&rsquo;, &lsquo;warm&rsquo;, &lsquo;cool&rsquo;, and &lsquo;cold&rsquo;. Data may not fall into a single category. Using the motor speed example from above; the motor speed may also need to be processed as cool or cold data because analysis has shown that motor speed tends to increase marginally day over day before motor failure. So, not only is the real-time data important but saving the data for later to identify trends may also be important. This dual processing path is quite common.</p>

<h2 class="wp-block-heading">Structured vs Unstructured</h2>

<p class="wp-block-paragraph">Will all the IoT nodes produce data with the same type of structure or parameters; or is each node unique and there&rsquo;s little to no overlap of the data structure between nodes?</p>

<p class="wp-block-paragraph"><figure class="wp-block-image"><img decoding="async" alt="Azure Data Lake" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/AzureDataLake.png"  /></figure><br />
<span style="font-size:16px"><em>Image credit to <a href="https://azure.microsoft.com/en-us/blog/under-the-hood-performance-scale-security-for-cloud-analytics-with-adls-gen2/" target="_blank">Microsoft</a>.</em></span></p>

<p class="wp-block-paragraph"><span style="font-size:115%;"><u><strong>Blob Storage</strong></u></span></p>

<p class="wp-block-paragraph">To log unique (unstructured) data, <strong>Azure Storage Blob</strong> is likely your best option. It&rsquo;s not as unmanageable as &lsquo;blob&rsquo; makes it sound, that&rsquo;s just referring to the fact that it&rsquo;s meant to hold different types and models of data from videos and text, to pictures and audio recordings. Blob storage is pretty analogous to what you&rsquo;re used to with your desktop or laptop computer with having different folders that contain other folders or files with lots of different file types. It&rsquo;s the default storage option when creating a storage account.</p>

<p class="wp-block-paragraph">Blob storage can be broken down into 3 types: Append, Page, Block.</p>

<ul class="wp-block-list">
 <li><strong>Append: </strong>Data can only be appended to the blob. Think a log file, new log entries are appended to the end and the blob continues to grow.</li>
 <li><strong>Page:</strong> Good for data that needs frequent read/write access with high performance and low latency. General-purpose storage.</li>
 <li><strong>Block:</strong> Block type storage is optimized for large data sets and provides parallel read/write to different blocks. It&apos;s for handling large (Gb&rsquo;s) files over the network.</li>
</ul>

<p class="wp-block-paragraph">Page and Block type Blob storage can handle up to Terabytes of data, but there comes a point where an organization of &lsquo;Big Data&rsquo; starts to become a limiting factor. Your data is worthless if you can&rsquo;t efficiently query it. That&rsquo;s when you need to consider a solution like <strong>Azure Data Lake</strong>. Data Lake provides additional organizational and security tools, as well as some built-in analytics.</p>

<p class="wp-block-paragraph"><span style="font-size:115%;"><u><strong>CosmosDB</strong></u></span></p>

<p class="wp-block-paragraph">If the data is in a more consistent format, you may want to consider <strong>CosmosDB</strong> as the storage solution instead of blob storage. CosmosDB provides several features that may be beneficial for your organization and your data. Similar to SQL databases, CosmosDB provides the option to specify indexes on the data which can significantly improve query performance.</p>

<p class="wp-block-paragraph"><figure class="wp-block-image"><img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/azureiotdataflow-2.png"  /></figure><br />
<span style="font-size:16px"><em>Image credit to <a href="https://docs.microsoft.com/en-us/azure/cosmos-db/use-cases" target="_blank">Microsoft</a>.</em></span></p>

<p class="wp-block-paragraph">Also, CosmosDB was built with data sharing and replication in mind. A CosmosDB database can be configured to replicate data to multiple Azure regions around the globe giving employees in both North America and Australia, for example, access to the same data at the same time. It&rsquo;s also possible for both regions to write data back into Cosmos at the same time. This is all in addition to a failover location which can be configured to take over operations in the event of a natural disaster or civil disturbance in the primary location.</p>

<p class="wp-block-paragraph">Learn more about DMC&apos;s <a href="/services/application-development/iot-solutions">IoT solutions</a> and <a href="/services/digital-workplace-solutions/microsoft-consulting-services/microsoft-azure-cloud-solutions-and-services">Azure solutions</a>. <a href="/contact">Contact us</a> for more information.&nbsp;</p>
<p>The post <a href="https://static.dmcinfo.com/blog/19924/azure-iot-hub-data-processing-and-storage/">Azure IoT Hub Data Processing and Storage</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
