<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>All blog posts in Microsoft Community Hub</title>
    <link>https://techcommunity.microsoft.com/</link>
    <description>Microsoft Community Hub</description>
    <pubDate>Tue, 28 May 2024 05:47:12 GMT</pubDate>
    <dc:creator>Community</dc:creator>
    <dc:date>2024-05-28T05:47:12Z</dc:date>
    <item>
      <title>Check This Out! (CTO!) Guide (April 2024)</title>
      <link>https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/check-this-out-cto-guide-april-2024/ba-p/4153388</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hi everyone! &lt;A href="https://aka.ms/BrandonWilson" target="_blank" rel="noopener"&gt;Brandon Wilson&lt;/A&gt; here once again with this month’s “Check This Out!” (CTO!) guide.&lt;/P&gt;
&lt;P&gt;These posts are only intended to be your guide, to lead you to some content of interest, and are just a way we are trying to help our readers a bit more, whether that is learning, troubleshooting, or just finding new content sources! We will give you a bit of a taste of the blog content itself, provide you a way to get to the source content directly, and help to introduce you to some other blogs you may not be aware of that you might find helpful.&lt;/P&gt;
&lt;P&gt;From all of us on the Core Infrastructure and Security Tech Community blog team, thanks for your continued reading and support!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_1-1716869488395.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586392i4C1434ED2B47C460/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_1-1716869488395.jpeg" alt="BrandonWilson_1-1716869488395.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/speaking-in-ciphers-and-other-enigmatic-tongues-fresh-content/ba-p/4103506" target="_blank" rel="noopener"&gt;Speaking in Ciphers and other Enigmatic tongues fresh content update!&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/bg-p/AskDS" target="_blank" rel="noopener"&gt;&lt;EM&gt;Ask the Directory Services Team&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Jim Tierney&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/3/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;So, your company purchases this new super awesome vulnerability and compliance management software suite, and they just ran a scan on your Windows Server 2008 domain controllers and lo! The software reports back that you have weak ciphers enabled, highlighted in&amp;nbsp;&lt;STRONG&gt;RED&lt;/STRONG&gt;&lt;STRONG&gt;,&lt;/STRONG&gt;&amp;nbsp;flashing, with that "you have failed" font, and including a link to the following Microsoft documentation…&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_2-1716869516948.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586393iF63378BAA4F92623/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_2-1716869516948.jpeg" alt="BrandonWilson_2-1716869516948.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/ntlm-vs-kerberos/ba-p/4120658" target="_blank" rel="noopener"&gt;NTLM vs Kerberos&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/bg-p/AskDS" target="_blank" rel="noopener"&gt;&lt;EM&gt;Ask the Directory Services Team&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Josh Mora&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/23/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;In this post, we will go through the basics of NTLM and Kerberos.&amp;nbsp;We will explain using the three Ws, covering&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;what&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;the main differences between them are, how to identify&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;when&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;a protocol is being used over the other, and&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;why&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;one is safer than the other.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_3-1716869527937.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586394i2EEB74B361B6C18F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_3-1716869527937.jpeg" alt="BrandonWilson_3-1716869527937.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-arc-blog/coming-soon-transition-to-ws2012-r2-esus-enabled-by-azure-arc/ba-p/4104060" target="_blank" rel="noopener"&gt;Coming Soon: Transition to WS2012 ESUs enabled by Azure Arc&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-arc-blog/bg-p/AzureArcBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Arc&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Aurnov Chattopadhyay&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/3/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Announced during last week’s Windows Server Summit 2024, customers will be able to transition to Azure Arc for WS2012 Extended Security Updates enabled by Azure Arc for Year 2 if they had purchased Year 1 of Extended Security Updates for Volume Licensing. This experience will ask customers to supply their Invoice Id, corresponding to WS2012 ESU purchases from Volume Licensing.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;With its pay as you go flexibility as an Azure billed service and inclusion of Azure management services like Azure Update Manager and Machine Configuration at no additional cost, WS2012 ESUs enabled by Azure Arc offer financial and experience benefits to customers. This is especially critical to support customers in their journey of migrating and modernizing End of Life infrastructure to Azure.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_4-1716869535347.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586395i588FC045206D7C67/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_4-1716869535347.jpeg" alt="BrandonWilson_4-1716869535347.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-arc-blog/public-preview-of-azure-arc-site-manager/ba-p/4118023" target="_blank" rel="noopener"&gt;Public Preview of Azure Arc Site Manager&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-arc-blog/bg-p/AzureArcBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Arc&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Nathan Parikh&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/22/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This week we are excited to announce the&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;Public Preview of Azure Arc site manager. We designed site manager to meet the needs of customers who manage solutions on the adaptive cloud and want to view and monitor their resources according to their physical locations, such as stores, restaurants, and factories. Within site manager, customers can create Arc sites to represent their on-premises environments and see centralized monitoring information across their edge infrastructure.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_5-1716869543167.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586396iDFB0B68706A28BCC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_5-1716869543167.jpeg" alt="BrandonWilson_5-1716869543167.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-architecture-blog/announcing-new-cloud-governance-guidance-in-the-microsoft-cloud/ba-p/4105787" target="_blank" rel="noopener"&gt;Cloud Governance Guidance in Microsoft's Cloud Adoption Framework&lt;/A&gt;Cloud Governance Guidance in Microsoft's Cloud Adoption Framework&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-architecture-blog/bg-p/AzureArchitectureBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Architecture&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Stephen Sumner&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/8/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;We are thrilled to announce the latest enhancement to Microsoft's Cloud Adoption Framework for Azure. We comprehensively updated our cloud governance guidance in the&amp;nbsp;Govern section of the Cloud Adoption Framework (CAF). The updated governance guidance represents Microsoft's commitment to supporting your organization's cloud journey, offering a clearer, more accessible, and comprehensive path to effective cloud governance. It encompasses identity, cost, resource, data, and AI governance among other areas of governance categories.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Whether you're a startup looking to scale efficiently or a large enterprise aiming to refine your governance practices, we designed this governance guidance to meet your needs and guide you to where you need to be.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_6-1716869555660.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586397i76F59E6FE37F0D4C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_6-1716869555660.jpeg" alt="BrandonWilson_6-1716869555660.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-compute-blog/on-demand-capacity-reservation-is-now-available-in-azure-for-us/ba-p/4126530" target="_blank" rel="noopener"&gt;On Demand Capacity Reservation is now available in Azure for US Government&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-compute-blog/bg-p/AzureCompute" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Compute&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Megan Pennie&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/29/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Today, we're announcing the general availability of&amp;nbsp;on demand capacity reservations&amp;nbsp;for Azure Virtual Machines in Azure for US Government Cloud . You can now manage and reserve capacity with guaranteed SLA for VM sizes available on Azure for US Government Cloud.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;As part of our ongoing commitment to expanding our global reach and providing On Demand Capacity Reservation benefits to our customers, we have diligently worked hard for months to bring this feature to Azure for US Government Cloud.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_7-1716869563576.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586398i44262534233A781C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_7-1716869563576.jpeg" alt="BrandonWilson_7-1716869563576.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-governance-and-management/azure-billing-meters-what-you-need-to-know-about-the-upcoming/ba-p/4106465" target="_blank" rel="noopener"&gt;Azure billing meters: What you need to know about the upcoming changes&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-governance-and-management/bg-p/AzureGovernanceandManagementBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Governance and Management&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Vahe Minasyan&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/8/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This article is to inform you of some important changes that we are making as part of our ongoing efforts to improve your Azure experience and increase pricing transparency. We are making changes to the billing meters that could affect some Azure services and resources that you may use, and we want to make sure you understand what the changes are, why we are doing them, and how they will impact your billing.&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;These updates will not impact your prices,&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt;but you may notice some changes in how your Azure consumption is shown on your invoice, price sheet, API, and other Cost Management tools.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_8-1716869571868.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586399iA3EB1919503566FA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_8-1716869571868.jpeg" alt="BrandonWilson_8-1716869571868.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-infrastructure-blog/perform-bulk-nsg-rule-rollout-across-multiple-target-nsgs/ba-p/4120673" target="_blank" rel="noopener"&gt;Perform bulk NSG rule rollout across multiple target NSGs&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-infrastructure-blog/bg-p/AzureInfrastructureBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Infrastructure&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Sourav Bera&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/22/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Network Security Groups (NSGs) are a fundamental aspect of Azure networking, providing a layer of security to control traffic flow within virtual networks. However, managing NSG rules across multiple NSGs can be a daunting task, especially when done manually. This article introduces a powerful PowerShell script that allows you to perform bulk NSG rule rollouts across multiple target NSGs, saving you time and ensuring consistency across your network.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_9-1716869578658.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586400iD68A5AF6A68050E3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_9-1716869578658.jpeg" alt="BrandonWilson_9-1716869578658.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-infrastructure-blog/enhancing-azure-connectivity-sharing-paas-instance-across/ba-p/4125648" target="_blank" rel="noopener"&gt;Enhancing Azure Connectivity: Sharing PaaS instance across customer tenants on Azure&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-infrastructure-blog/bg-p/AzureInfrastructureBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Infrastructure&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Aquib Qureshi&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/28/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;I’ve come across a scenario where one of my customer using Azure SQL DB wanted to share their Database with other customer who was also hosted on Azure. They were struggling to establish site-to-site connectivity so that Customer B could access Customer A’s network, enabling them to connect to the Azure SQL DB via the site-to-site tunnel. Though this can be achieved, there are better ways to connect to Azure SQL DB, or any PaaS instance for that matter, with another customer who is using Azure. This can also be used by customers who have multiple Azure AD tenants.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_10-1716869589775.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586401i0DF3727A95217960/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_10-1716869589775.jpeg" alt="BrandonWilson_10-1716869589775.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-migration-and/vmware-hcx-troubleshooting-with-azure-vmware-solution/ba-p/4109114" target="_blank" rel="noopener"&gt;VMware HCX Troubleshooting with Azure VMware Solution&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-migration-and/bg-p/AzureMigrationBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Migration and Modernization&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Rene van den Bedem&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/8/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;VMware HCX is one of the Azure VMware Solution components that generates a large number of service requests from our customers. The Azure VMware Solution product group has worked to cover the most common troubleshooting considerations that you should know about when using VMware HCX with the Azure VMware Solution.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_11-1716869597438.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586402i706C4B2C6985BE62/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_11-1716869597438.jpeg" alt="BrandonWilson_11-1716869597438.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-networking-blog/microsoft-azure-expressroute-overview-cheat-sheet/ba-p/4110389" target="_blank" rel="noopener"&gt;Microsoft Azure ExpressRoute Overview Cheat Sheet&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-networking-blog/bg-p/AzureNetworkingBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Networking&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Gene Whitaker&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/9/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Microsoft Azure ExpressRoute&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;lets you extend your on-premises networks into the Microsoft Cloud over a private connection with the help of a connectivity provider. With ExpressRoute, you can establish connections to Microsoft Cloud services, such as Microsoft Azure and Microsoft 365.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Use this&amp;nbsp;ExpressRoute Overview Cheat Sheet&amp;nbsp;to quickly learn and gain access to the following information:&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;ExpressRoute Main Components&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;Key Benefits and Features&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;The Different Connectivity Models&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;Various Helpful Links&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;Diagram demonstrating ExpressRoute circuits along with features such as Global Reach and FastPath&lt;/EM&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;This cheat sheet is compiled with important and most common information to learn ExpressRoute.&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_12-1716869606128.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586403iAFEE43F002476A24/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_12-1716869606128.jpeg" alt="BrandonWilson_12-1716869606128.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-networking-blog/network-traffic-observability-with-virtual-network-flow-logs/ba-p/4112907" target="_blank" rel="noopener"&gt;Network traffic observability with virtual network flow logs&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-networking-blog/bg-p/AzureNetworkingBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Networking&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; HarshaCS&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/24/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Azure&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;Network Watcher&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;provides network monitoring and troubleshooting capabilities to increase observability and actionable insights with out-of-box health metrics &amp;amp;&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;topology&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;visualization,&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;connectivity&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;monitoring,&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;traffic&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;monitoring and&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;diagnostics&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;suite. For on-premises workloads, network administrators rely on NetFlow or IPFIX to address these use cases.&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;Virtual network flow logs&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;are a capability of Network Watcher service to address these scenarios for Azure and hybrid networks and we are excited to announce that virtual network flow logs are now transitioning from&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;public preview&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;to general availability.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_13-1716869613907.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586404i5684E652D88A6DFC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_13-1716869613907.jpeg" alt="BrandonWilson_13-1716869613907.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-networking-blog/understanding-the-core-concept-and-routing-of-vwan-with-example/ba-p/4081473" target="_blank" rel="noopener"&gt;Understanding the core concept and routing of vWAN with Example&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-networking-blog/bg-p/AzureNetworkingBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Networking&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Sourav Das&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/26/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;What is virtual WAN? Azure Virtual WAN is a NAAS (networking as a service) to enable simplified global transit networking architecture that brings many networking, security, and routing functionalities together to provide a single operational interface…&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_14-1716869621656.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586405iCFCB5476799F06C8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_14-1716869621656.jpeg" alt="BrandonWilson_14-1716869621656.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-networking-blog/new-and-improved-network-topology-experience-in-network-watcher/ba-p/4125625" target="_blank" rel="noopener"&gt;New and improved network topology experience in Network Watcher and Azure Monitor Network Insights&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-networking-blog/bg-p/AzureNetworkingBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Networking&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Sagar Gupta&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/28/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Azure&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;Network Watcher&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;provides network monitoring and troubleshooting capabilities to increase observability and actionable insights.&amp;nbsp;&lt;SPAN data-contrast="none"&gt;Network Watcher supports four main scenarios:&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;EM&gt;Connectivity&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;Monitoring detects packet loss and latency, built-in health metrics and&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;topology&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;visualization help to locate issues,&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;traffic&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;monitoring tracks network communication pattern, and&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;diagnostics&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;suite enables troubleshooting.&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:6,&amp;quot;335551620&amp;quot;:6,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_15-1716869629426.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586406i3FFBE647B212CC4D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_15-1716869629426.jpeg" alt="BrandonWilson_15-1716869629426.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-stack-blog/apply-critical-update-for-azure-stack-hci-vms-to-maintain-azure/ba-p/4115023" target="_blank" rel="noopener"&gt;Apply critical update for Azure Stack HCI VMs to maintain Azure verification&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-stack-blog/bg-p/AzureStackBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Stack&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Kimberly Lam&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/18/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Azure verification for VMs on Azure Stack HCI&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;makes it possible for Azure-exclusive benefits to work outside of the cloud and in on-premises and edge environments. These benefits include&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;Azure Virtual Desktop for Azure Stack HCI&lt;/EM&gt;&lt;EM&gt;,&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;Windows Server Datacenter: Azure Edition&lt;/EM&gt;&lt;EM&gt;,&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;Extended Security Updates (ESUs) for SQL and Windows Server Virtual Machines (VMs)&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;on Azure Stack HCI, and&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;Azure Policy guest configuration&lt;/EM&gt;&lt;EM&gt;. To keep these workloads continuing to function, periodic updates are required to maintain their security and functionality.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_16-1716869636170.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586407iB0308502F2DF854D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_16-1716869636170.jpeg" alt="BrandonWilson_16-1716869636170.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-stack-blog/sneak-peek-at-new-azure-edge-infrastructure-at-hannover-messe/ba-p/4120256" target="_blank" rel="noopener"&gt;Sneak peek at new Azure edge infrastructure at Hannover Messe 2024&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-stack-blog/bg-p/AzureStackBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Stack&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Cosmos Darwin&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/22/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This week is Hannover Messe 2024, the world’s biggest industrial trade fair. Microsoft is there, including members of the Azure Stack team, showcasing how the Microsoft Cloud enables end-to-end manufacturing solutions that help securely connect people, assets, and business processes, empowering organizations to be more resilient.&lt;BR /&gt;Near the center of our booth, you can watch a robotic assembly line put together battery parts. The line features standard OT assets from our partner Rockwell Automation and shows how an adaptive cloud approach together with open standards like OPC UA can accelerate industrial transformation. Azure IoT Operations enabled by Azure Arc flows data from the production line into Microsoft Fabric, enabling real-time monitoring and analysis in the cloud.&lt;BR /&gt;And if you look closer, you may spot an exciting new infrastructure solution hosting it all…&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_17-1716869642644.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586408i265D01F7C7AB3F34/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_17-1716869642644.jpeg" alt="BrandonWilson_17-1716869642644.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-virtual-desktop-blog/azure-virtual-desktop-for-azure-stack-hci-now-has-autoscale/ba-p/4111284" target="_blank" rel="noopener"&gt;Azure Virtual Desktop for Azure Stack HCI now has autoscale&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/azure-virtual-desktop-blog/bg-p/AzureVirtualDesktopBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Azure Virtual Desktop&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Jessie Duan&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/11/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;On February 2024, we announced the general availability of&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;Azure Virtual Desktop for Azure Stack HCI&lt;/EM&gt;&lt;EM&gt;, which extends the capabilities of the Microsoft Cloud to your datacenters and edge locations. Today, we’re happy to announce that autoscale support on Azure Virtual Desktop for Azure Stack HCI is now in public preview. With the Azure Virtual Desktop autoscale feature, organizations running virtualized desktops and apps on-premises, at the edge or in their datacenter, can optimize costs by turning off idle Azure Virtual Desktop session hosts running on Azure Stack HCI.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_18-1716869656484.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586409iED65AC40EE236CE9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_18-1716869656484.jpeg" alt="BrandonWilson_18-1716869656484.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/get-azure-reservations-and-savings-plans-insights-with-the-azure/ba-p/4100750" target="_blank" rel="noopener"&gt;Get Azure Reservations and Savings Plans Insights with the Azure Optimization Engine&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/bg-p/CoreInfrastructureandSecurityBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Core Infrastructure and Security&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Helder Pinto&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/1/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Azure Reservations and Savings Plans commitments have been adopted by many customers with a predictable and steady Azure consumption to achieve considerable savings over on-demand prices. Depending on your on-demand Azure Compute consumption patterns, you may choose one over the other, or even have both working in tandem…&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_19-1716869664395.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586410i30B9F5F3A344EDFB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_19-1716869664395.jpeg" alt="BrandonWilson_19-1716869664395.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/configmgr-avoiding-remote-management-point-pitfalls/ba-p/4102508" target="_blank" rel="noopener"&gt;ConfigMgr: Avoiding Remote Management Point Pitfalls&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/bg-p/CoreInfrastructureandSecurityBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Core Infrastructure and Security&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Pavel Yurenev&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/4/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I’m Pavel Yurenev, a Support Escalation Engineer specializing in Microsoft Configuration Manager at Microsoft Customer Service &amp;amp; Support (CSS).&amp;nbsp;As Reactive Support, we assist customers with issues arising from Microsoft software products. Unfortunately, some&amp;nbsp;supported&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;product configurations are poorly&amp;nbsp;supportable.&lt;/P&gt;
&lt;P&gt;Today, I want to discuss certain design features of Configuration Manager Management Points (MPs) and provide guidance for architects and administrators.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_20-1716869670826.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586411i1841BE3B9516DBCA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_20-1716869670826.jpeg" alt="BrandonWilson_20-1716869670826.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/proxies-proxies-everywhere-but-still-no-internet-overview-of-the/ba-p/4108939" target="_blank" rel="noopener"&gt;Proxies, proxies everywhere but still no Internet. Overview of the Windows Proxies&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/bg-p/CoreInfrastructureandSecurityBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Core Infrastructure and Security&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Will Aftring&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/8/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Howdy everyone, a quick tangent from our regularly scheduled Introduction to Network Trace Analysis series to talk about the Windows Proxy ecosystem. A Windows Proxy configuration can be a little tricky, so I wanted to add clarity for configuration methods. Scoping things a bit here I will also only be referring to 64-bit applications.&amp;nbsp;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:true,&amp;quot;134233118&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;But first, let’s explain what I mean when I say proxy…&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_21-1716869677508.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586412i48509A8FE381E8EF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_21-1716869677508.jpeg" alt="BrandonWilson_21-1716869677508.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/active-directory-hardening-series-part-4-enforcing-aes-for/ba-p/4114965" target="_blank" rel="noopener"&gt;Active Directory Hardening Series - Part 4 – Enforcing AES for Kerberos&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/bg-p/CoreInfrastructureandSecurityBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Core Infrastructure and Security&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Jerry Devore&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/15/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Hi everyone, Jerry Devore here again with another installment in my series on Active Directory hardening.&amp;nbsp; This time I want to revisit a topic I previously wrote about in September of 2020 which is enforcing AES for Kerberos.&amp;nbsp; Since I wrote that&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;blog post&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;a few new tips have come my way.&amp;nbsp; Before we dive in here is a quick re-cap of what was previously discussed…&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_22-1716869684055.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586413i5C7332BD023256CC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_22-1716869684055.jpeg" alt="BrandonWilson_22-1716869684055.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/controlling-aks-egress-using-an-http-proxy/ba-p/4119407" target="_blank" rel="noopener"&gt;Controlling AKS egress using an HTTP Proxy&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/bg-p/CoreInfrastructureandSecurityBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Core Infrastructure and Security&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Houssem Dellai&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/22/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Azure Kubernetes Service (AKS) clusters, whether deployed into a managed or custom virtual network, have certain outbound dependencies necessary to function properly. Previously, in environments requiring internet access to be routed through HTTP proxies, this was a problem. Nodes had no way of bootstrapping the configuration, environment variables, and certificates necessary to access internet services.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This feature adds HTTP proxy support to AKS clusters, exposing a straightforward interface that cluster operators can use to secure AKS-required network traffic in proxy-dependent environments.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Both AKS nodes and Pods will be configured to use the HTTP proxy. Here is an architecture diagram showing the different components.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_23-1716869690585.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586414i0C6A0FB3236DCCFA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_23-1716869690585.jpeg" alt="BrandonWilson_23-1716869690585.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/building-your-own-copilot-for-credit-card-selection/ba-p/4125697" target="_blank" rel="noopener"&gt;Building Your Own Copilot for Credit Card Selection&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/bg-p/CoreInfrastructureandSecurityBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;Core Infrastructure and Security&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Felipe Binotto&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/28/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Have you ever found yourself lost in the maze of credit card options, navigating through countless comparison websites, unsure of the accuracy and timeliness of their information? I certainly have. Recently, I embarked on a quest to find the perfect credit card, one that rewards my spending habits with frequent flyer points. However, relying solely on popular comparison platforms left me questioning the reliability of their data, often overshadowed by biased advertisements.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;But then, a beacon of hope emerged: the realization that all bank product information is accessible through a common API. With this revelation, I set out to craft my own solution – a personalized Copilot to guide me through the sea of credit card offerings.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_24-1716869696954.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586415i89201DA07783E4D1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_24-1716869696954.jpeg" alt="BrandonWilson_24-1716869696954.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/finops-blog/cost-allocation-is-imperative-for-cloud-resource-optimization/ba-p/4114921" target="_blank" rel="noopener"&gt;Cost allocation is imperative for cloud resource optimization&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/finops-blog/bg-p/FinOpsBlog" target="_blank" rel="noopener"&gt;FinOps&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Antonio Ortoll&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/15/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Like most enterprises, you are probably&amp;nbsp;managing your Azure resources and services centrally and need a way to distribute and “showback” or reallocate the cost of services back to the organizational units that use those services.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Sharing cloud services provides greater flexibility and scalability when they can be dynamically allocated. But as your cloud adoption grows, the&amp;nbsp;quantity of billing and usage data and the speed at which it is delivered can make allocation and reporting a challenge without a strategy and a system to efficiently assign the costs of cloud resources to their specific users.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_25-1716869703819.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586416i142B37064F345121/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_25-1716869703819.jpeg" alt="BrandonWilson_25-1716869703819.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/itops-talk-blog/7-steps-for-a-successful-azure-migration/ba-p/4108598" target="_blank" rel="noopener"&gt;7 steps for a successful Azure migration&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/itops-talk-blog/bg-p/ITOpsTalkBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;ITOps Talk&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Sonia Cuff&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/9/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;EM&gt;Migrating an on-premises environment to Azure requires preparation, planning, and time. Join Microsoft MVP Gregor Reimling and learn&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;seven key steps for a successful Azure migration.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;In this video, you will learn…&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_26-1716869711233.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586417i17AFCF3182CF8F91/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_26-1716869711233.jpeg" alt="BrandonWilson_26-1716869711233.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/itops-talk-blog/wired-for-hybrid-what-s-new-in-azure-networking-april-2024/ba-p/4120775" target="_blank" rel="noopener"&gt;Wired for Hybrid - What's New in Azure Networking - April 2024 edition&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/itops-talk-blog/bg-p/ITOpsTalkBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;ITOps Talk&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Pierre Roman&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/22/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Azure Networking is the foundation of your infrastructure in Azure. Each month we bring you an update on What’s new in Azure Networking.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;In this blog post, we’ll cover what's new with&amp;nbsp;Azure Networking&amp;nbsp;in April 2024.&amp;nbsp; In this blog post, we will cover the following announcements and how they can help you.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_27-1716869718535.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586418i135E51F214B77E54/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_27-1716869718535.jpeg" alt="BrandonWilson_27-1716869718535.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/itops-talk-blog/dual-region-azure-vmware-solution-design-with-global-reach-using/ba-p/4120511" target="_blank" rel="noopener"&gt;Dual-Region Azure VMware Solution design with Global Reach, using Secure Virtual WAN&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/itops-talk-blog/bg-p/ITOpsTalkBlog" target="_blank" rel="noopener"&gt;&lt;EM&gt;ITOps Talk&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Jason Medina&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/24/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This article describes the best practices for connectivity, traffic flows, and high availability of dual-region Azure VMware Solution when using Azure Secure Virtual WAN with Routing Intent and Global Reach. This article breaks down Virtual WAN with Routing Intent topology from the perspective of Azure VMware Solution private clouds, on-premises sites, and Azure native. The implementation and configuration of Secure Virtual WAN with Routing Intent are beyond the scope and are not discussed in this document.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_28-1716869726086.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586419iBE6732D1F4CFEC5F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_28-1716869726086.jpeg" alt="BrandonWilson_28-1716869726086.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/microsoft-entra-blog/important-update-deprecation-of-azure-ad-powershell-and-msonline/ba-p/4094536" target="_blank" rel="noopener"&gt;Important update: Deprecation of Azure AD PowerShell and MSOnline PowerShell modules&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/bg-p/Identity" target="_blank" rel="noopener"&gt;&lt;EM&gt;Microsoft Entra (Azure AD)&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Kristopher Bash&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/1/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;In 2021, we&amp;nbsp;described our plans&amp;nbsp;to invest in Microsoft Graph PowerShell SDK as the PowerShell provider for Microsoft Entra and transition away from Azure AD and MSOnline PowerShell modules. In 2023, we&amp;nbsp;announced&amp;nbsp;that the deprecation of Azure AD and MSOnline PowerShell modules would occur on March 30, 2024. We’ve since made substantial progress closing remaining parity gaps in Microsoft Graph PowerShell SDK, and&amp;nbsp;as of March 30, 2024, these PowerShell modules are now deprecated:&lt;/EM&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;Azure AD PowerShell&amp;nbsp;(AzureAD)&amp;nbsp;&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;Azure AD PowerShell Preview&amp;nbsp;(AzureADPreview)&amp;nbsp;&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;MS Online&amp;nbsp;(MSOnline)&amp;nbsp;&lt;/EM&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;You should migrate your scripts to Microsoft Graph PowerShell SDK as soon as possible. Information about the retirement of these modules can be found below.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_29-1716869733384.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586420iAE410896535FE009/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_29-1716869733384.jpeg" alt="BrandonWilson_29-1716869733384.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/microsoft-entra-blog/what-s-new-in-microsoft-entra/ba-p/3796391" target="_blank" rel="noopener"&gt;What's new in Microsoft Entra&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/bg-p/Identity" target="_blank" rel="noopener"&gt;&lt;EM&gt;Microsoft Entra (Azure AD)&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Shobhit Sahay&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/1/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;With the ever-increasing sophistication of cyber-attacks, the increasing use of cloud-based services, and the proliferation of mobile devices, it’s essential that organizations secure access for both human and non-human identities to all on-premises and cloud resources, while working continuously to improve their security posture.&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:60,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:60,&amp;quot;335559740&amp;quot;:240}"&gt;&lt;EM&gt;Today, we’re sharing feature release information for January – March 2024, and first quarter change announcements. We also communicate these via&amp;nbsp;release notes&lt;/EM&gt;&lt;/SPAN&gt;, email, and the&amp;nbsp;Microsoft Entra admin center.&amp;nbsp;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:60,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_30-1716869739710.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586421i60622D26D39207CF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_30-1716869739710.jpeg" alt="BrandonWilson_30-1716869739710.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/microsoft-entra-blog/introducing-new-and-upcoming-entra-recommendations-to-enhance/ba-p/3796390" target="_blank" rel="noopener"&gt;Introducing new and upcoming Entra Recommendations to enhance security and productivity&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/bg-p/Identity" target="_blank" rel="noopener"&gt;&lt;EM&gt;Microsoft Entra (Azure AD)&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Shobhit Sahay&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/2/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Managing the myriad settings and resources within your tenant can be daunting. In an era of escalating security risks and an unprecedented global threat landscape, organizations seek trusted guidance to enhance their security posture That’s why we introduced&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;Microsoft Entra Recommendations&lt;/EM&gt;&lt;EM&gt;&amp;nbsp;to diligently monitor your tenant’s status, ensuring it remains secure and healthy. Moreover, they empower you to extract maximum value from the features offered by Microsoft Entra ID. Since the launch of Microsoft Entra recommendations, thousands of customers have adopted these recommendations and resolved millions of resources.&amp;nbsp;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335557856&amp;quot;:16777215,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_31-1716869746294.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586422iB4ECA10A240D330B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_31-1716869746294.jpeg" alt="BrandonWilson_31-1716869746294.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/microsoft-entra-blog/introducing-quot-what-s-new-quot-in-microsoft-entra/ba-p/3796389" target="_blank" rel="noopener"&gt;Introducing "What's New" in Microsoft Entra&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/bg-p/Identity" target="_blank" rel="noopener"&gt;&lt;EM&gt;Microsoft Entra (Azure AD)&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Shobhit Sahay&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/15/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Today, I’m thrilled to announce the public preview of&amp;nbsp;&lt;/EM&gt;&lt;EM&gt;What’s New in Microsoft Entra. This new hub in the Microsoft Entra admin center offers you a centralized view of our roadmap and change announcements across the Microsoft Entra identity and network access portfolio. In this article, I’ll show you how admins can get the most from what’s new to stay informed about Entra product updates and actionable insights.&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:60,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_32-1716869753260.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586424i44E0CF4BD0CD3B27/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_32-1716869753260.jpeg" alt="BrandonWilson_32-1716869753260.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;A href="https://techcommunity.microsoft.com/t5/microsoft-entra-blog/enforce-least-privilege-for-entra-id-company-branding-with-the/ba-p/4115772" target="_blank" rel="noopener"&gt; Enforce least privilege for Entra ID company branding with the new organizational branding role&lt;/A&gt;&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/bg-p/Identity" target="_blank" rel="noopener"&gt;&lt;EM&gt;Microsoft Entra (Azure AD)&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; James Mantu&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/18/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;I&lt;SPAN data-contrast="none"&gt;’&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;m pleased to announce General Availability (GA) of the o&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;rganizational branding role for Microsoft Entra ID company branding.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This new role is part of our ongoing efforts to implement Zero Trust network access by enforcing the principle of least privilege for users when customizing their authentication user experience (UX) via Entra ID company branding.&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Previously, users w&lt;SPAN data-contrast="none"&gt;anting&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;&amp;nbsp;to configure Entra ID company branding required the Global Admin role. This role, though, has sweeping privileges beyond what’s necessary for configuring Entra ID company branding.&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_33-1716869759705.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586425iF69EEACE387D267B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_33-1716869759705.jpeg" alt="BrandonWilson_33-1716869759705.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Title:&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; &lt;A href="https://techcommunity.microsoft.com/t5/security-compliance-and-identity/onboard-to-azure-arc-with-security-in-mind/ba-p/4114267" target="_blank" rel="noopener"&gt;Onboard to Azure Arc with Security in Mind&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Source:&lt;/EM&gt;&lt;/STRONG&gt; &lt;A href="https://techcommunity.microsoft.com/t5/security-compliance-and-identity/bg-p/MicrosoftSecurityandCompliance" target="_blank" rel="noopener"&gt;&lt;EM&gt;Security, Compliance, and Identity&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Author:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Simone Oor&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Publication Date:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; 4/17/24&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Content excerpt&lt;/U&gt;:&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Azure Arc allows certain on-premises resources, typically servers, to be managed from Azure, depending on the configuration mode selected and currently available features.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;While this allows for a more integrated approach to hybrid environments, it also further blurs the administrative boundary between on-premises and cloud.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This increases the risk that a vulnerability on either side lowers the level of security across the entire plane. This article contains tips for managing this risk and approaching Arc Onboarding with security in mind.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BrandonWilson_34-1716869766617.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586426iF9C0CAA0BFF7B6DD/image-size/medium?v=v2&amp;amp;px=400" role="button" title="BrandonWilson_34-1716869766617.jpeg" alt="BrandonWilson_34-1716869766617.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Previous CTO! Guides:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/bg-p/CoreInfrastructureandSecurityBlog/label-name/CTO" target="_blank" rel="noopener"&gt;CIS Tech Community-Check This Out! (CTO!) Guides&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Additional resources:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/en-us/azure/?product=popular" target="_blank" rel="noopener noreferrer"&gt;Azure documentation&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://azure.microsoft.com/en-us/pricing/calculator/" target="_blank" rel="noopener noreferrer"&gt;Azure pricing calculator&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(VERY handy!)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/en-us/azure/architecture/framework/" target="_blank" rel="noopener noreferrer"&gt;Microsoft Azure Well-Architected Framework&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/" target="_blank" rel="noopener noreferrer"&gt;Microsoft Cloud Adoption Framework&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/en-us/windows-server/" target="_blank" rel="noopener noreferrer"&gt;Windows Server documentation&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/en-us/windows/resources/" target="_blank" rel="noopener noreferrer"&gt;Windows client documentation for IT Pros&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/en-us/powershell/" target="_blank" rel="noopener noreferrer"&gt;PowerShell documentation&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/cistechcomm" target="_blank" rel="noopener noreferrer"&gt;Core Infrastructure and Security blog&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/t5/custom/page/page-id/Blogs" target="_blank" rel="noopener"&gt;Microsoft Tech Community blogs&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/en-us/" target="_blank" rel="noopener noreferrer"&gt;Microsoft technical documentation&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(Microsoft Docs)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/t5/sysinternals-blog/bg-p/Sysinternals-Blog" target="_blank" rel="noopener"&gt;Sysinternals blog&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/en-us/learn/" target="_blank" rel="noopener noreferrer"&gt;Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://support.microsoft.com/en-US" target="_blank" rel="noopener noreferrer"&gt;Microsoft Support&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(Knowledge Base)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/en-us/archive/" target="_blank" rel="noopener noreferrer"&gt;Microsoft Archived Content&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(MSDN/TechNet blogs, MSDN Magazine, MSDN Newsletter, TechNet Newsletter)&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Tue, 28 May 2024 04:16:34 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/check-this-out-cto-guide-april-2024/ba-p/4153388</guid>
      <dc:creator>BrandonWilson</dc:creator>
      <dc:date>2024-05-28T04:16:34Z</dc:date>
    </item>
    <item>
      <title>Re: Introducing New Capabilities for File Viewer in Microsoft 365</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-onedrive-blog/introducing-new-capabilities-for-file-viewer-in-microsoft-365/bc-p/4153387#M3832</link>
      <description>&lt;P&gt;Hi Team,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Because of this change, the info pane does not load automatically and everytime sharepoint users have to click on the info pane for each and every pdf file present in the sharepoint site which is a tedious process as our clients work on pdfs in their day to day business activities.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SagiVarma1978_0-1716869749450.png" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586423iA401B264C8ADE4DB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="SagiVarma1978_0-1716869749450.png" alt="SagiVarma1978_0-1716869749450.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 May 2024 04:16:26 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-onedrive-blog/introducing-new-capabilities-for-file-viewer-in-microsoft-365/bc-p/4153387#M3832</guid>
      <dc:creator>SagiVarma1978</dc:creator>
      <dc:date>2024-05-28T04:16:26Z</dc:date>
    </item>
    <item>
      <title>Re: ACTION REQUIRED: New Agreement governing access to Hardware Dev Center</title>
      <link>https://techcommunity.microsoft.com/t5/hardware-dev-center/action-required-new-agreement-governing-access-to-hardware-dev/bc-p/4153348#M179</link>
      <description>&lt;P&gt;同意&lt;/P&gt;</description>
      <pubDate>Tue, 28 May 2024 04:03:56 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/hardware-dev-center/action-required-new-agreement-governing-access-to-hardware-dev/bc-p/4153348#M179</guid>
      <dc:creator>YUEH_CHENG_KO</dc:creator>
      <dc:date>2024-05-28T04:03:56Z</dc:date>
    </item>
    <item>
      <title>Re: Notes from the field: Using app-only authentication with customized RBAC roles in Exchange Onlin</title>
      <link>https://techcommunity.microsoft.com/t5/exchange-team-blog/notes-from-the-field-using-app-only-authentication-with/bc-p/4153292#M39149</link>
      <description>&lt;P&gt;My requirement is to create distribution lists using exchange online in automation. I used app-only authentication with secret token but unable to create distribution lists. I am receiving error message as "New-DistributionGroup" command is not recognized.&lt;/P&gt;</description>
      <pubDate>Tue, 28 May 2024 03:40:07 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/exchange-team-blog/notes-from-the-field-using-app-only-authentication-with/bc-p/4153292#M39149</guid>
      <dc:creator>ajaynath630</dc:creator>
      <dc:date>2024-05-28T03:40:07Z</dc:date>
    </item>
    <item>
      <title>Re: New Outlook for Windows now available</title>
      <link>https://techcommunity.microsoft.com/t5/outlook-blog/new-outlook-for-windows-now-available/bc-p/4153259#M5138</link>
      <description>&lt;P&gt;Ok, got it.&amp;nbsp;&lt;img class="lia-deferred-image lia-image-emoji" src="https://techcommunity.microsoft.com/html/@FE3C8A5543DEF164D4C09E9B7F45E1A4/images/emoticons/facepalm_40x40.gif" alt=":facepalm:" title=":facepalm:" /&gt;&amp;nbsp;&lt;img class="lia-deferred-image lia-image-emoji" src="https://techcommunity.microsoft.com/html/@FE3C8A5543DEF164D4C09E9B7F45E1A4/images/emoticons/facepalm_40x40.gif" alt=":facepalm:" title=":facepalm:" /&gt;&amp;nbsp;&lt;img class="lia-deferred-image lia-image-emoji" src="https://techcommunity.microsoft.com/html/@FE3C8A5543DEF164D4C09E9B7F45E1A4/images/emoticons/facepalm_40x40.gif" alt=":facepalm:" title=":facepalm:" /&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-05-28 045026.png" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586342i6706DEF41D47F9AF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screenshot 2024-05-28 045026.png" alt="Screenshot 2024-05-28 045026.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 May 2024 02:57:30 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/outlook-blog/new-outlook-for-windows-now-available/bc-p/4153259#M5138</guid>
      <dc:creator>mande1191</dc:creator>
      <dc:date>2024-05-28T02:57:30Z</dc:date>
    </item>
    <item>
      <title>Re: Remember better with the new Sticky Notes experience from OneNote</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-blog/remember-better-with-the-new-sticky-notes-experience-from/bc-p/4153245#M8899</link>
      <description>&lt;P&gt;Where can I get&amp;nbsp;&lt;SPAN&gt;OneNote app on Windows that looks like the screenshot? I have Office 365 but neither the onenote for windows nor the onenote app looks like the screenshot.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 28 May 2024 02:41:41 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-blog/remember-better-with-the-new-sticky-notes-experience-from/bc-p/4153245#M8899</guid>
      <dc:creator>Ceemji</dc:creator>
      <dc:date>2024-05-28T02:41:41Z</dc:date>
    </item>
    <item>
      <title>Re: New Outlook for Windows now available</title>
      <link>https://techcommunity.microsoft.com/t5/outlook-blog/new-outlook-for-windows-now-available/bc-p/4153244#M5137</link>
      <description>&lt;P&gt;&lt;a href="https://techcommunity.microsoft.com/t5/user/viewprofilepage/user-id/1080294"&gt;@Silenus1358&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for your helpful comments. Yes this setting "Connected experiences" affects quite a few functions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;About the double hyphen question: this is shown in the Autoformat options&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mande1191_0-1716863739148.jpeg" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586336i776F69F2A24EF0ED/image-size/medium?v=v2&amp;amp;px=400" role="button" title="mande1191_0-1716863739148.jpeg" alt="mande1191_0-1716863739148.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Maybe I am blind. Where can I find this setting in the new Outlook?&lt;/P&gt;</description>
      <pubDate>Tue, 28 May 2024 02:41:09 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/outlook-blog/new-outlook-for-windows-now-available/bc-p/4153244#M5137</guid>
      <dc:creator>mande1191</dc:creator>
      <dc:date>2024-05-28T02:41:09Z</dc:date>
    </item>
    <item>
      <title>Re: Remember better with the new Sticky Notes experience from OneNote</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-blog/remember-better-with-the-new-sticky-notes-experience-from/bc-p/4153208#M8898</link>
      <description>&lt;P&gt;Fix the Onenote Android app!&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 23:58:22 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-blog/remember-better-with-the-new-sticky-notes-experience-from/bc-p/4153208#M8898</guid>
      <dc:creator>aleJohnny</dc:creator>
      <dc:date>2024-05-27T23:58:22Z</dc:date>
    </item>
    <item>
      <title>Re: Configuring weather and more on the lock screen in Windows</title>
      <link>https://techcommunity.microsoft.com/t5/windows-it-pro-blog/configuring-weather-and-more-on-the-lock-screen-in-windows/bc-p/4153207#M7303</link>
      <description>&lt;P&gt;Check your regional settings. Mine shows ℃&lt;/P&gt;&lt;P&gt;My guess it is that it needs to be set correctly for the Welcome screen in the advanced settings&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NeilAtUniting_0-1716854037378.png" style="width: 400px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/586325i6BEE4A352EACA560/image-size/medium?v=v2&amp;amp;px=400" role="button" title="NeilAtUniting_0-1716854037378.png" alt="NeilAtUniting_0-1716854037378.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 23:54:23 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/windows-it-pro-blog/configuring-weather-and-more-on-the-lock-screen-in-windows/bc-p/4153207#M7303</guid>
      <dc:creator>NeilAtUniting</dc:creator>
      <dc:date>2024-05-27T23:54:23Z</dc:date>
    </item>
    <item>
      <title>Re: Important Notice: Changes to Microsoft 365, Office 365, and Microsoft Teams licensing.</title>
      <link>https://techcommunity.microsoft.com/t5/partner-news/important-notice-changes-to-microsoft-365-office-365-and/bc-p/4153194#M378</link>
      <description>&lt;P&gt;I am just livid.&amp;nbsp; Because I run a busy support business I had no idea Microsoft was removing the E3 option with no good option to replace.&amp;nbsp; This just really screws Small Businesses who need additional storage.&amp;nbsp; Now i have to piecemeal it together which will cost more and you get less, not happy.&amp;nbsp; And don't even get me started with your various license options (which are affordable) not having every feature you need.&amp;nbsp; So the result is everywhere you turn in the Admin console I am staring at error messages because I don't have a qualifying license........&amp;nbsp; but Microsoft will be happy to sell it to me.&amp;nbsp; Just shameful.&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 22:35:54 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/partner-news/important-notice-changes-to-microsoft-365-office-365-and/bc-p/4153194#M378</guid>
      <dc:creator>Brad Meyer</dc:creator>
      <dc:date>2024-05-27T22:35:54Z</dc:date>
    </item>
    <item>
      <title>Re: Configuring weather and more on the lock screen in Windows</title>
      <link>https://techcommunity.microsoft.com/t5/windows-it-pro-blog/configuring-weather-and-more-on-the-lock-screen-in-windows/bc-p/4153188#M7302</link>
      <description>&lt;P&gt;Microsoft I don't care what is the weather "and more" mean, but how tf I can change the weather to show&amp;nbsp;&lt;SPAN&gt;Celsius?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 22:15:43 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/windows-it-pro-blog/configuring-weather-and-more-on-the-lock-screen-in-windows/bc-p/4153188#M7302</guid>
      <dc:creator>KelvinKam</dc:creator>
      <dc:date>2024-05-27T22:15:43Z</dc:date>
    </item>
    <item>
      <title>Re: Empowering teams, strengthening organizations with Microsoft Applied Skills</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-learn-blog/empowering-teams-strengthening-organizations-with-microsoft/bc-p/4153182#M3869</link>
      <description>&lt;P&gt;رائع&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 21:53:41 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-learn-blog/empowering-teams-strengthening-organizations-with-microsoft/bc-p/4153182#M3869</guid>
      <dc:creator>Ahmed_89848739</dc:creator>
      <dc:date>2024-05-27T21:53:41Z</dc:date>
    </item>
    <item>
      <title>Re: What to expect from Microsoft Learn at Microsoft Build</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-learn-blog/what-to-expect-from-microsoft-learn-at-microsoft-build/bc-p/4153181#M3868</link>
      <description>&lt;P&gt;ممتاز&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 21:51:48 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-learn-blog/what-to-expect-from-microsoft-learn-at-microsoft-build/bc-p/4153181#M3868</guid>
      <dc:creator>Ahmed_89848739</dc:creator>
      <dc:date>2024-05-27T21:51:48Z</dc:date>
    </item>
    <item>
      <title>Re: Reduce Compute Costs by Pausing VMs (now in public preview)</title>
      <link>https://techcommunity.microsoft.com/t5/azure-compute-blog/reduce-compute-costs-by-pausing-vms-now-in-public-preview/bc-p/4153170#M332</link>
      <description>&lt;P&gt;&lt;a href="https://techcommunity.microsoft.com/t5/user/viewprofilepage/user-id/2188691"&gt;@mennoyarado&lt;/a&gt;&amp;nbsp;Looks like it now is out of public preview, except for GPU enabled SKUs?&amp;nbsp; They &lt;A href="https://github.com/MicrosoftDocs/azure-docs/commit/b79a914e0f69da35c76d19789be4c365611f48f8" target="_self"&gt;dropped&lt;/A&gt; the Preview section from the Hibernate Resume intro page back on May 15th, though didn't see any accompanying announcement on it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also now supports enabling on existing VMs and resize of VM once hibernate is enabled (has to be in stopped/deallocated state though).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 21:30:07 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-compute-blog/reduce-compute-costs-by-pausing-vms-now-in-public-preview/bc-p/4153170#M332</guid>
      <dc:creator>Steve Burkett</dc:creator>
      <dc:date>2024-05-27T21:30:07Z</dc:date>
    </item>
    <item>
      <title>Re: Announcing data import from PDF documents</title>
      <link>https://techcommunity.microsoft.com/t5/excel-blog/announcing-data-import-from-pdf-documents/bc-p/4153169#M4270</link>
      <description>&lt;P&gt;&lt;a href="https://techcommunity.microsoft.com/t5/user/viewprofilepage/user-id/1594492"&gt;@Gal_Zivoni&lt;/a&gt;&amp;nbsp;thanks for you reply, appreciate it.&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 21:22:46 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/excel-blog/announcing-data-import-from-pdf-documents/bc-p/4153169#M4270</guid>
      <dc:creator>shirwsl</dc:creator>
      <dc:date>2024-05-27T21:22:46Z</dc:date>
    </item>
    <item>
      <title>Re: Announcing Cosmos DB to Azure Data Explorer Synapse Link (public preview)</title>
      <link>https://techcommunity.microsoft.com/t5/azure-data-explorer-blog/announcing-cosmos-db-to-azure-data-explorer-synapse-link-public/bc-p/4153145#M535</link>
      <description>&lt;P&gt;Indeed, very confusing, given there are other features that actually involve both Synapse and ADX:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/synapse-analytics/quickstart-connect-azure-data-explorer" target="_blank"&gt;Quickstart: Connect Azure Data Explorer to an Azure Synapse Analytics workspace - Azure Synapse Analytics | Microsoft Learn&lt;/A&gt;.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/synapse-analytics/data-explorer/data-explorer-overview" target="_blank"&gt;What is Azure Synapse Data Explorer (Preview) - Azure Synapse Analytics | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Mon, 27 May 2024 20:22:37 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-data-explorer-blog/announcing-cosmos-db-to-azure-data-explorer-synapse-link-public/bc-p/4153145#M535</guid>
      <dc:creator>Chango Valtchev</dc:creator>
      <dc:date>2024-05-27T20:22:37Z</dc:date>
    </item>
    <item>
      <title>Re: Tips and tricks on how to search for organizational content more effectively</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-search-blog/tips-and-tricks-on-how-to-search-for-organizational-content-more/bc-p/4153115#M526</link>
      <description>&lt;P&gt;Microsoft Teams (work or school) Desktop for Mac OS can not search by part of the Job Title. It shows search results only for 100% match.&lt;BR /&gt;&lt;BR /&gt;Would be nice to have partial search results as well.&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 19:17:10 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-search-blog/tips-and-tricks-on-how-to-search-for-organizational-content-more/bc-p/4153115#M526</guid>
      <dc:creator>StanislavJDA</dc:creator>
      <dc:date>2024-05-27T19:17:10Z</dc:date>
    </item>
    <item>
      <title>Re: VBScript deprecation: Timelines and next steps</title>
      <link>https://techcommunity.microsoft.com/t5/windows-it-pro-blog/vbscript-deprecation-timelines-and-next-steps/bc-p/4153111#M7301</link>
      <description>&lt;P&gt;I have been blocking script engines, wscript and csript for years as a hardening method. I am lucky that I am not using any SCCM components anymore. For the things I needed, I started writing Powershell alternatives already. For instance, slmgr.vbs is one of them:&amp;nbsp; &lt;A href="https://github.com/zbalkan/slmgr-ps" target="_blank"&gt;https://github.com/zbalkan/slmgr-ps&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope MS would provide Powershell alternatives for MS provided VBscript scripts, including slmgr.vbs, ospp.vbs, MDT and especially TSS.&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 19:01:19 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/windows-it-pro-blog/vbscript-deprecation-timelines-and-next-steps/bc-p/4153111#M7301</guid>
      <dc:creator>ZaferBalkan</dc:creator>
      <dc:date>2024-05-27T19:01:19Z</dc:date>
    </item>
    <item>
      <title>Re: VBScript deprecation: Timelines and next steps</title>
      <link>https://techcommunity.microsoft.com/t5/windows-it-pro-blog/vbscript-deprecation-timelines-and-next-steps/bc-p/4153102#M7300</link>
      <description>&lt;P&gt;&lt;a href="https://techcommunity.microsoft.com/t5/user/viewprofilepage/user-id/580052"&gt;@Ronan_Fahy&lt;/a&gt;&amp;nbsp;- In regards to your item 3, I've been using this solution and I'm quite happy with it:&amp;nbsp;&lt;A href="https://github.com/MSEndpointMgr/PSInvoker" target="_blank"&gt;https://github.com/MSEndpointMgr/PSInvoker&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 18:28:53 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/windows-it-pro-blog/vbscript-deprecation-timelines-and-next-steps/bc-p/4153102#M7300</guid>
      <dc:creator>Michael Smith</dc:creator>
      <dc:date>2024-05-27T18:28:53Z</dc:date>
    </item>
    <item>
      <title>Load Testing RAG based Generative AI Applications</title>
      <link>https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/load-testing-rag-based-generative-ai-applications/ba-p/4086993</link>
      <description>&lt;DIV&gt;&lt;SPAN&gt;When developing applications for Language Models (LLMs), we usually spend a lot of time on both the development and evaluation phases to ensure the app delivers high-quality responses that are not only accurate but also safe for users.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;However, a great user experience with an LLM application isn't just about the quality of responses—it's also about how quickly these responses are provided. So, in this discussion, we'll focus on how to evaluate LLM applications for their response times.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;The aim of &lt;STRONG&gt;p&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;erformance evaluation&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;is to proactively test the application to identify and address performance issues before they impact end-users. In the subsequent sections, we will explore performance evaluation in detail. We will discuss building an effective strategy, mastering evaluation techniques, and provide practical guides. Here's what you can expect:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="#building-effective" target="_self"&gt;&lt;SPAN&gt;Building an Effective Strategy&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="#mastering-evaluation" target="_self"&gt;&lt;SPAN&gt;Mastering Evaluation Techniques&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="#how-to-guides" target="_self"&gt;&lt;SPAN&gt;How-To Guides&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 id="building-effective"&gt;&lt;SPAN&gt;Building an Effective Strategy&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;Each application has unique characteristics, such as user count, transaction volume, and expected response time. Therefore, it's crucial for you to establish an effective evaluation strategy tailored to the specific application you're evaluating.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;DIV&gt;&lt;SPAN&gt;Before initiating the tests, you need to outline your strategy, which includes determining the aspects to test and the methods to use. This section provides a detailed discussion on these considerations.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H3&gt;&lt;SPAN&gt;Identifying What to Evaluate&lt;/SPAN&gt;&lt;/H3&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;DIV&gt;&lt;SPAN&gt;Let's start by defining what you are going to test. For example, if the application is fully implemented and running in an environment similar to production, you can conduct a comprehensive load test. This allows you to measure performance and anticipate the user experience before the application is released to end users.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;DIV&gt;&lt;SPAN&gt;Testing the entire application is a good idea as it provides a measure of response times that closely mirrors what a user will experience when interacting with the application. However, a user's interaction with a Large Language Model (LLM) App involves several elements. These include the application frontend, backend, networking, the LLM model, and other cloud services like databases and AI services.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;With that in mind, you have the chance to conduct performance evaluations on particular services even before the whole application is finalized and prepared for deployment. For instance, you can proactively assess the performance of the Large Language Model (LLM) that you plan to incorporate in the application, even if it isn't fully ready yet. In the &lt;STRONG&gt;Mastering Evaluation Techniques&lt;/STRONG&gt; section, you will see how you can test the performance of a model deployed in the Azure OpenAI service.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Let's examine an example of an application structure where multiple services cooperate to deliver a user response. One frequently used architectural design in Large Language Model (LLM) Applications like ChatGPT is the &lt;STRONG&gt;Retrieval Augmented Generation (RAG)&lt;/STRONG&gt;. This architecture involves a retrieval step before invoking the LLM to generate content, which is essential for providing grounding data. &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;The &lt;A href="https://aka.ms/gpt-rag" target="_self"&gt;Enterprise RAG Solution Accelerator architecture&lt;/A&gt;&amp;nbsp;offers a practical example of the RAG pattern implemented in an enterprise setting. In the &lt;A href="#how-to-guides" target="_self"&gt;How-To Guides&lt;/A&gt; section, you can find an example of load testing on an LLM application that uses the RAG pattern.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;The following image illustrates the orchestration flow within an LLM application based on RAG. For simplicity, we have not depicted the return messages in the diagram.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="perftest-GPT-RAG-Basic-communication.png" style="width: 999px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/579938i233032CCDD6C0C93/image-size/large?v=v2&amp;amp;px=999" role="button" title="perftest-GPT-RAG-Basic-communication.png" alt="perftest-GPT-RAG-Basic-communication.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;
&lt;DIV class="lia-align-center"&gt;&lt;EM&gt;Example of communication between the components of an LLM App based on the RAG pattern.&lt;/EM&gt;&lt;/DIV&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;DIV&gt;&lt;SPAN&gt;Here's how it works:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN&gt;The user interacts with the frontend UI to pose a question.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;The frontend service forwards the user's question to the Orchestrator.&lt;/LI&gt;
&lt;LI&gt;The Orchestrator retrieves the user's conversation history from the database.&lt;/LI&gt;
&lt;LI&gt;The Orchestrator accesses the AI Search key stored in the Key Vault.&lt;/LI&gt;
&lt;LI&gt;The Orchestrator retrieves relevant documents from the AI Search index.&lt;/LI&gt;
&lt;LI&gt;The Orchestrator uses Azure OpenAI to generate a user response.&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Optional connections (dashed arrows):&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;The connection from the App Service to Storage Account indicates the scenario when the user wants to view the document that grounds the provided answer.&lt;/LI&gt;
&lt;LI&gt;The connection from the App Service to Speech Services indicates the cases when the user wishes to interact with the application through audio.&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Each step in the process involves data transfer and processing across various services, all contributing to the total response time. In such scenarios, you can evaluate not just the overall application response time, but also the performance of individual components, like the response times of the Azure OpenAI model deployment.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Ultimately, the scope of testing depends on each application's specific requirements. For instance, an internal application and a public-facing application may have different performance needs. While a response time of 15 seconds might be acceptable in an internal HR application used to view paychecks, a contact center app with hundreds of users might need to respond much faster due to its high user demand and SLAs. Make sure you know the requirements of your application before starting your performance evaluation.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;H3&gt;&lt;SPAN&gt;Test Scenario&lt;/SPAN&gt;&lt;/H3&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;After determining what you will evaluate in your application, it's essential to define your test scenario. During the LLM App development, we often start our performance tests in a simple way, with a single request. This first test might include measuring the time it takes for completions to appear in the playground, gauging the time a Prompt flow takes to execute in AI Studio, or calculating the time necessary for code execution in VS Code. The data from this single run can help detect potential performance issues in specific components early on.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;However, for a genuine perspective on the application's performance, you will need to establish a test scenario that mirrors the actual user load on the application. This entails conducting tests under circumstances that closely resemble real-world usage. By doing so, your assessments will accurately depict how the application would perform under standard operational conditions. We will offer some suggestions on how to accomplish this shortly.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;First, we need to determine the load that will be placed on the application. This load is defined in terms of throughput, which is the number of requests the application will receive within a specific time frame, such as &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Requests per Minute&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(RPM).&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;There are multiple ways to estimate the expected throughput. If the application is already operational, you can use its current usage data, gathered from monitoring tools, as a reference.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;The subsequent figure illustrates this approach. If you foresee an increase in usage due to the integration of LLM into the solution, you should adjust your throughput estimation to accommodate this anticipated growth.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="perftest-users-per-hour.png" style="width: 999px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/579945i2B2E8CF7D9A7AA26/image-size/large?v=v2&amp;amp;px=999" role="button" title="perftest-users-per-hour.png" alt="perftest-users-per-hour.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;
&lt;DIV class="lia-align-center"&gt;&lt;EM&gt;Example of usage scenario, see the peak load from 10h to 13h hours.&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;When dealing with a new application, estimating the expected throughput can be approached through benchmarking or usage modeling. Benchmarking involves comparing your application with similar ones that serve the same target audience. By studying their usage patterns, you can get a rough estimate of the expected throughput for your application.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Usage modeling, on the other hand, requires you to create a model of the expected usage patterns of your application. This can be achieved by interacting with stakeholders or potential users in the specific field for which the application is being developed. Their insights can provide a better understanding of how the application might be used, which can assist in estimating the Requests Per Minute (RPM).&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;One approach to model your application usage is starting by identifying the &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;total number of users&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;. This should encompass all registered, or potential users of your application. Then, identify the number of these &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;users&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;who are active &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;during peak usage times&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;. Focusing on peak usage times is crucial as off-peak data may not accurately reflect system performance, particularly for systems with distinct high usage periods.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Next, estimate the average number of times a user will use the application during peak times. This is referred to as &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;sessions&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;. Also, estimate the number of actions or &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;interactions&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;a user makes during a session. Each interaction corresponds to a request made to the application. &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;For example, consider a mobile app for a shopping mall. Users are likely to have multiple interactions in a single session. They might first search for recommended restaurants, then ask about the operating hours of a specific restaurant. Each of these actions is an interaction.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="perftest-sample-sequence-diagram2.png" style="width: 999px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/579973i44176FE78F99064B/image-size/large?v=v2&amp;amp;px=999" role="button" title="perftest-sample-sequence-diagram2.png" alt="perftest-sample-sequence-diagram2.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-align-left"&gt;&lt;EM&gt;Example of a user session.&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Once you have the total number of users (&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;u&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;), the percentage (&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;p&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;) of them that will use the application during the&amp;nbsp;peak usage hours&amp;nbsp;(&lt;STRONG&gt;n&lt;/STRONG&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;, the average number of user sessions (&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;s&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;), and the typical number of interactions (&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;i&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;) each user has per session, you can use the following formula to derive the RPM to run your load test.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;PRE&gt;RPM = (u * p * s * i) / n / 60&lt;/PRE&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Taking the previous example of the Mall App, let's consider a set of &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;10,000 registered users&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;on the App. We expect that during peak hours, &lt;/SPAN&gt;&lt;STRONG&gt;10%&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;of the users will interact at least once with the application to obtain information, such as store locations or product details.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;In this case, we have:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;u=10000&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(total users)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;p=0.1&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(percentage of active users during peaktime)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;s=1&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(sessions per user)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;i=2&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(interactions per session)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;n=1&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(peaktime duration in hours)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Therefore, the expected throughput for the peak hours is approximately &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;17 RPM&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;During testing, you may want to reproduce a load that is about 10% higher than estimated to be more conservative.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Defining the scenario for larger applications can become complex, requiring the identification of distinct user roles and their usage behavior. However, if exact modeling is challenging due to lack of information, just keep things simple, make an educated guess, and validate it with the application's stakeholders.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Another factor to consider when defining your test scenario is that LLM response times depend on the sizes of prompts and completions. Accurate testing requires replicating real usage scenarios, matching these sizes. For instance, RAG prompts are typically larger due to context text, while proofreading apps usually have similar prompt and completion sizes.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;It's worth noting that the examples provided here are primarily based on the perspective of a real-time application user. However, it's also possible to design other performance test scenarios, such as for applications operating in batch mode. In this case, for example, one would need to consider the volume of data to be processed within a specific time window to determine if the application can handle the load within the given time frame. &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Whether your application is real-time or batch-oriented, it's crucial to accurately define your test scenario to reflect actual usage conditions. This will ensure that your performance tests yield meaningful results that can help optimize your application's performance.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;H4&gt;&lt;SPAN&gt;Test Data&lt;/SPAN&gt;&lt;/H4&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Performance testing heavily relies on the data used during the test execution. It's crucial to use data that closely mirrors real-world scenarios. For instance, if we're testing an application like a copilot, the test results would be more accurate if each user asks different questions. Even if users ask the same questions, they should phrase them differently.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Consider a scenario where each virtual user asks the exact same question during the test. This could lead to results that don't accurately represent real-world usage. Certain components of the application might leverage caching mechanisms to deliver faster responses, skewing the results. Furthermore, the final metric, typically an average or a percentile, will be biased towards the repeated question.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Having experts in the App domain contribute to the creation of the test data set can greatly enhance its quality and relevance. Their knowledge can help shape more realistic and relevant examples. Alternatively, a Large Language Model (LLM) can be utilized to generate a synthetic dataset. This approach can be particularly useful for running tests, as it allows for the creation of diverse and comprehensive data scenarios. This practice not only enhances the quality of the tests but also ensures that they cover a wide range of potential real-world situations.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;H4&gt;&lt;SPAN&gt;Test Measurements&lt;/SPAN&gt;&lt;/H4&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Performance testing requires identifying key metrics. A common one is &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Response Time&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;, the total time from sending a request to receiving a response. Performance requirements are typically determined by this metric, such as needing an average response time under ten seconds, or 95% of responses within ten seconds.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;However, response time is not the only metric of interest. To gain a holistic understanding of the application's performance and the factors affecting it, we can categorize the metrics into two groups.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The first group comprises metrics that can be measured from the client's perspective - what the client can observe and capture. The second group consists of metrics that are measured by monitoring the server's performance. Let's explore each of these groups in detail:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;H5&gt;&lt;SPAN&gt;Client metrics&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;When testing an LLM App, we usually obtain the following client metrics:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="35%" height="30px"&gt;&lt;STRONG&gt;Metric&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="65%" height="30px"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="35%" height="57px"&gt;Number of Virtual Users&lt;/TD&gt;
&lt;TD width="65%" height="57px"&gt;This metric shows the virtual user count during a load test, helping assess application performance under different user loads.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="35%" height="57px"&gt;Requests per Second&lt;/TD&gt;
&lt;TD width="65%" height="57px"&gt;This is the rate at which requests are sent to the LLM App during the load test. It's a measure of the load your application can handle.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="35%" height="30px"&gt;Response Time&lt;/TD&gt;
&lt;TD width="65%" height="30px"&gt;This refers to the duration between sending a request and receiving the full response. It does not include any time spent on client-side response processing or rendering.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="57px"&gt;Latency&lt;/TD&gt;
&lt;TD height="57px"&gt;The latency of an individual request is the total time from just before sending the request to just after the first response is received.&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="35%" height="57px"&gt;Number of Failed Requests&lt;/TD&gt;
&lt;TD width="65%" height="57px"&gt;This is the count of requests that failed during the load test. It helps identify the reliability of your application under stress.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Response time, often referred to as "end-to-end response time," includes all processing time within the system. However, this measurement only covers the interval between sending a request and receiving the response. It does not account for any client-side processing time, such as rendering a webpage or executing JavaScript in a web application.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;Note:&amp;nbsp;&lt;/STRONG&gt;&lt;SPAN&gt;Latency and response time are terms that are often used interchangeably, and their definitions can vary depending on the context. In the&lt;/SPAN&gt;&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/latency#latency-the-per-call-response-times" target="_blank" rel="noopener"&gt;Azure OpenAI documentation&lt;/A&gt;&lt;SPAN&gt;, latency is defined as "the amount of time it takes to get a response back from the model." For consistency, we will use the definition provided in the previous table, which is based on the concepts from&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/load-testing/concept-load-testing-concepts#latency" target="_blank" rel="noopener"&gt;Azure Load Testing&lt;/A&gt;.&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The diagram below illustrates how processing and communication times add up to the total response time. In the figure, each Tn marks a specific time during processing. T1 is when the user initiates a request through a client, such as a browser or MS Teams. T10 is when the user gets the full response. Note that the total response time (from T1 to T10) depends on the processing and response times of all components involved in the request.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-align-center"&gt;
&lt;P&gt; &lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="perftest-response-time.png" style="width: 999px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/579942iA8BFDE1B014A2A70/image-size/large?v=v2&amp;amp;px=999" role="button" title="perftest-response-time.png" alt="perftest-response-time.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;SPAN&gt;Simplified example of the breakdown of request response time.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;H5&gt;&lt;STRONG&gt;Performance Metrics for a LLM&lt;/STRONG&gt;&lt;/H5&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;When conducting performance testing directly on a specific service, we can collect specific client-side metrics for the target service. In the context of performance testing a Language Model (LLM), we should consider metrics related to prompt tokens and response tokens. For instance, consider the deployment of an OpenAI model on Azure. The following table presents some of these metrics, which offer valuable insights into the client's interaction with the model deployment and its performance under load.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;&lt;STRONG&gt;Metric&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="70%"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;Number Prompt Tokens per Minute&lt;/TD&gt;
&lt;TD width="70%"&gt;Rate at which the client sends prompts to the OpenAI model.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;Number Generated Tokens per Min&lt;/TD&gt;
&lt;TD width="70%"&gt;Rate at which the OpenAI model generates response tokens.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;Time to First Token (TTFT)&lt;/TD&gt;
&lt;TD width="70%"&gt;The time interval between the start of the client's request and the arrival of the first response token.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;Time Between Tokens (TBT)&lt;/TD&gt;
&lt;TD width="70%"&gt;Time interval between consecutive response tokens being generated.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;To examine the time intervals between tokens in Azure OpenAI's responses, you can utilize its streaming feature. Unlike conventional API calls that deliver the entire response at once, streaming sends each token or a set of tokens to the client as soon as they are produced. This allows for real-time performance monitoring and detailed analysis of the dynamics of response generation.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The diagram below provides a simplified view of a client's interaction with a model endpoint. The interaction commences at the moment (&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;T0&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;) when the client sends a request to the model's endpoint. The model responds in streaming mode, with &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;T1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;T2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;, and &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;TN&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;representing the moments when the first, second, and last tokens are received, respectively. &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="perftest-aoai-response-time.png" style="width: 999px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/579948i30C093F4F8E73F8F/image-size/large?v=v2&amp;amp;px=999" role="button" title="perftest-aoai-response-time.png" alt="perftest-aoai-response-time.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;
&lt;DIV class="lia-align-center"&gt;&lt;EM&gt;AOAI deployment response in streaming mode.&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;In this scenario, we define several key metrics: &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Time to First Token (TTFT)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;is &lt;/SPAN&gt;&lt;STRONG&gt;T1 - T0&lt;/STRONG&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Time Between Tokens (TBT)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;is &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;T2 - T1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;, and the &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;end-to-end response time&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;is &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;TN - T0&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;. It's important to note that in streaming mode, the model's responses can arrive in multiple parts, each with several tokens. This makes both the diagram and the metrics an approximate representation of real-world scenarios.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;H5&gt;&lt;SPAN&gt;Server metrics&lt;/SPAN&gt;&lt;/H5&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;During performance testing, we focus on two types of metrics. The first type is client metrics, which directly affect the user experience. The second type is server metrics, which give us insights into the performance of server components.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Server metrics encompass a wide range of measurements. For instance, we might look at the CPU and memory usage of the application service running the frontend. We could also monitor the utilization of resources like the Azure OpenAI PTU deployment. These are just a few examples; there are many other server metrics we could potentially examine.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;By collecting these measurements, we can create a detailed performance profile of the entire solution. This profile helps us identify any bottlenecks and tune any components that are not performing optimally.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;LLM Apps consist of various services, and the server metrics we utilize will vary based on these services. To give you an idea, here are some examples of the metrics we might gather, depending on the specific service in use:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;STRONG&gt;Service Name&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="30%"&gt;&lt;STRONG&gt;Metric&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="50%"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure OpenAI&lt;/TD&gt;
&lt;TD width="30%"&gt;Azure OpenAI Requests&lt;/TD&gt;
&lt;TD width="50%"&gt;Total calls to Azure OpenAI API.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure OpenAI&lt;/TD&gt;
&lt;TD width="30%"&gt;Generated Completion Tokens&lt;/TD&gt;
&lt;TD width="50%"&gt;Output tokens from Azure OpenAI model.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure OpenAI&lt;/TD&gt;
&lt;TD width="30%"&gt;Processed Inference Tokens&lt;/TD&gt;
&lt;TD width="50%"&gt;The number of input and output tokens that are processed by the Azure OpenAI model.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure OpenAI&lt;/TD&gt;
&lt;TD width="30%"&gt;Provision-managed Utilization V2&lt;/TD&gt;
&lt;TD width="50%"&gt;The percentage of the provisioned-managed deployment that is currently being used.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure App Service&lt;/TD&gt;
&lt;TD width="30%"&gt;CPU Percentage&lt;/TD&gt;
&lt;TD width="50%"&gt;The percentage of CPU used by the App backend services.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure App Service&lt;/TD&gt;
&lt;TD width="30%"&gt;Memory Percentage&lt;/TD&gt;
&lt;TD width="50%"&gt;The percentage of memory used by the App backend services.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure Cosmos DB&lt;/TD&gt;
&lt;TD width="30%"&gt;Total Requests&lt;/TD&gt;
&lt;TD width="50%"&gt;Number of requests made to Cosmos DB.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure Cosmos DB&lt;/TD&gt;
&lt;TD width="30%"&gt;Provisioned Throughput&lt;/TD&gt;
&lt;TD width="50%"&gt;The amount of throughput that has been provisioned for a container or database.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure Cosmos DB&lt;/TD&gt;
&lt;TD width="30%"&gt;Normalized RU Consumption&lt;/TD&gt;
&lt;TD width="50%"&gt;The normalized request unit consumption based on the provisioned throughput.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure API Management&lt;/TD&gt;
&lt;TD width="30%"&gt;Total Requests&lt;/TD&gt;
&lt;TD width="50%"&gt;Total number of requests made to APIM.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Azure API Management&lt;/TD&gt;
&lt;TD width="30%"&gt;Capacity&lt;/TD&gt;
&lt;TD width="50%"&gt;Percentage of resource and network queue usage in APIM instance.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;BR /&gt;
&lt;H3&gt;&lt;SPAN&gt;When should I evaluate performance?&lt;/SPAN&gt;&lt;/H3&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;You might be wondering when to execute performance tests. To help us in this discussion, let's take a look at the Enterprise LLM Lifecycle, illustrated in the following image.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="perftest-llmlifecycle.png" style="width: 999px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/579949i106FF8061E90CC61/image-size/large?v=v2&amp;amp;px=999" role="button" title="perftest-llmlifecycle.png" alt="perftest-llmlifecycle.png" /&gt;&lt;/span&gt;
&lt;P class="lia-align-center"&gt; &lt;EM style="font-family: inherit;"&gt;Enterprise LLM Lifecycle.&lt;/EM&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The Enterprise LLM Lifecycle with Azure AI involves ideating and exploring, building and augmenting, operationalizing, and managing loops to develop, enhance, deploy, and govern large language model (LLM) applications. You can learn more about the Enterprise LLM Lifecycle by reading this blog: &lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="https://azure.microsoft.com/es-es/blog/building-for-the-future-the-enterprise-generative-ai-application-lifecycle-with-azure-ai/" target="_blank" rel="noopener"&gt;Building for the future: The enterprise generative AI application lifecycle with Azure AI&lt;/A&gt;.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Performance testing is crucial and should start as early as possible during the development process. This early start provides enough time for making necessary adjustments and optimizations. The exact timing, however, depends on what aspects of the application you're testing.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;If your goal is to evaluate the performance of the entire LLM App before it's used by end-users, the application must be fully developed and deployed to a staging environment. Typically, this load testing of the LLM App occurs during the initial iterations of the Operationalization loop in the Enterprise LLM Lifecycle.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Keep in mind that there are scenarios where performance evaluations can be conducted before Operationalization. For instance, during the Experimenting and Ideating phase, you might be exploring various LLMs for use. If you're considering using one of the models available on Azure OpenAI, this could be an excellent time to conduct a performance benchmark test using the Azure OpenAI benchmarking tool.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The following figure illustrates the moments in the LLM lifecycle where the two types of performance tests mentioned earlier are usually conducted.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="perftest-llmlifecycle-with-tests.png" style="width: 999px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/579950i5C9FBD4133F678FA/image-size/large?v=v2&amp;amp;px=999" role="button" title="perftest-llmlifecycle-with-tests.png" alt="perftest-llmlifecycle-with-tests.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;
&lt;DIV class="lia-align-center"&gt;&lt;EM&gt;Performance tests in the LLM Lifecycle.&lt;/EM&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;H2 id="mastering-evaluation"&gt;&lt;SPAN&gt;Mastering Evaluation Techniques&lt;/SPAN&gt;&lt;/H2&gt;
&lt;BR /&gt;
&lt;DIV&gt;
&lt;DIV role="listitem"&gt;
&lt;DIV class="sc-imWYAI bMASkr"&gt;
&lt;DIV class="sc-imWYAI sc-hzhJZQ bMASkr bhgIfe" data-is-focusable="true"&gt;
&lt;DIV class="sc-imWYAI bMASkr bubble ai" aria-atomic="true"&gt;
&lt;DIV class="sc-jXbUNg emaryz content"&gt;
&lt;DIV class="sc-imWYAI bMASkr" aria-description="chatbot"&gt;
&lt;DIV class="bubbleContent"&gt;
&lt;P&gt;Great job on your journey so far in learning the essentials of your testing strategy! As we proceed in this section, we will be examining two distinct evaluation techniques. The first technique will concentrate on the performance testing of the entire LLM application, while the second will be primarily focused on testing the deployed LLM. It's important to remember that these are just two popular instances from a wide-ranging list. Depending on your unique performance requirements, integrating other techniques into your testing strategy may prove beneficial.&lt;/P&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;H3&gt;&lt;SPAN&gt;LLM App Load Testing&lt;/SPAN&gt;&lt;/H3&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Azure Load Testing is a fully managed load-testing service that enables you to generate high-scale LLM App load testing. The service simulates traffic for your applications, regardless of where they're hosted. You can use it to test and optimize application performance, scalability, or capacity of your application. You have the flexibility to create and execute load tests either through the Azure portal or via the Azure Command Line Interface (CLI), managing and running your tests in the way that suits you best.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Azure Load Testing helps you simulate a large number of users sending requests to a server to measure how well an application or service performs under heavy load. You can use Apache JMeter scripts to set up and run these tests. These scripts can act like real users, doing things like interacting with the service, waiting, and using data. In the &lt;/SPAN&gt;&lt;A href="#how-to-guides" target="_self"&gt;How-To Guides&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;section, you will find a guide on how you can test your LLM App with a practical example.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The diagram below shows the high-level architecture of Azure Load Testing. It uses JMeter to simulate heavy server loads and provides detailed performance metrics. You can adjust the number of test engine instances to meet your load test requirements, making the system scalable and robust.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="perftest-azure-load-testing.png" style="width: 999px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/579951i5105A2DACF88C034/image-size/large?v=v2&amp;amp;px=999" role="button" title="perftest-azure-load-testing.png" alt="perftest-azure-load-testing.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;
&lt;DIV class="lia-align-center"&gt;&lt;EM&gt;Azure Load Testing Overview.&lt;/EM&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;LLM App load testing is crucial for identifying performance issues and ensuring that your application and its Azure dependencies (like the App Service, Function App, and Cosmos DB) can handle peak loads efficiently.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The following table offers an explanation of important concepts associated with Azure Load Testing. Grasping these concepts is essential for effectively using Azure's load testing features to evaluate the performance of the LLM App under various load scenarios.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;STRONG&gt;Concept&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="80%"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Test&lt;/TD&gt;
&lt;TD width="80%"&gt;Refers to a performance evaluation setup that assesses system behavior under simulated loads by configuring load parameters, test scripts, and target environments.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Test Run&lt;/TD&gt;
&lt;TD width="80%"&gt;Represents the execution of a Test.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Test Engine&lt;/TD&gt;
&lt;TD width="80%"&gt;Engine that runs the JMeter test scripts. Adjust load test scale by configuring test engine instances.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Threads&lt;/TD&gt;
&lt;TD width="80%"&gt;Are parallel threads in JMeter that represent virtual users. They are limited to a maximum of 250.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Virtual Users (VUs)&lt;/TD&gt;
&lt;TD width="80%"&gt;Simulate concurrent users. Calculated as threads * engine instances.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Ramp-up Time&lt;/TD&gt;
&lt;TD width="80%"&gt;Is the time required to reach the maximum number of VUs for the load test.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Latency&lt;/TD&gt;
&lt;TD width="80%"&gt;The latency of an individual request is the total time from just before sending the request to just after the first response is received.&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;Response Time&lt;/TD&gt;
&lt;TD width="80%"&gt;This refers to the duration between sending a request and receiving the full response. It does not include any time spent on client-side response processing or rendering.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Azure Load Testing allows for the definition of parameters, which include environment variables, secrets, and certificates. Among its features are test scaling, the setting of failure criteria, and the monitoring of server metrics for application components. Additionally, you can use CSV files to define your test data and upload JMeter configurations for flexible, customizable test scripts. &lt;BR /&gt;&lt;BR /&gt;You can securely store keys and credentials used during the test as &lt;A href="https://learn.microsoft.com/en-us/azure/load-testing/how-to-parameterize-load-tests#secrets" target="_self"&gt;Azure Key Vault secrets&lt;/A&gt;, and Azure Load Testing can also have its managed identity for access to Azure resources. When deployed within your virtual network, it can generate load directed at your application's &lt;A href="https://learn.microsoft.com/en-us/azure/load-testing/how-to-test-private-endpoint" target="_self"&gt;private endpoint&lt;/A&gt;. Application &lt;A href="https://learn.microsoft.com/en-us/azure/load-testing/how-to-test-secured-endpoints" target="_self"&gt;authentication&lt;/A&gt; through access tokens, user credentials, or client certificates is also supported, depending on your application's requirements.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;H4&gt;&lt;SPAN&gt;Monitoring Application Resources&lt;/SPAN&gt;&lt;/H4&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;With Azure Load Testing, you can monitor your server-side performance during load tests. You can specify which Azure application components to monitor in the test configuration. You can view these server-side metrics both during the test and afterwards on the load testing dashboard. The following figure shows an example of server-side metrics obtained from an App Service after running a test. You can see the Azure services from which you can obtain server-side metrics &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/load-testing/resource-supported-azure-resource-types" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;in this link&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="perftest-server-metrics.png" style="width: 999px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/579952i441D03945A245F80/image-size/large?v=v2&amp;amp;px=999" role="button" title="perftest-server-metrics.png" alt="perftest-server-metrics.png" /&gt;&lt;/span&gt;
&lt;P&gt; &lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-align-center"&gt;&lt;EM&gt;Azure Load Testing Server-side Performance Metrics.&lt;/EM&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;H4&gt;&lt;SPAN&gt;Load Testing Automation&lt;/SPAN&gt;&lt;/H4&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Integrating Azure Load Testing into your CI/CD pipeline is a key step in enhancing your organization's adoption of &lt;STRONG&gt;LLMOps&lt;/STRONG&gt; practices. This integration enables automated load testing, ensuring consistent performance checks at crucial points in the development lifecycle. You can trigger Azure Load Testing directly from Azure DevOps Pipelines or GitHub Actions workflows, providing a simplified and efficient approach to performance testing. Below are some examples of commands to automate the creation and execution of a load test.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;LI-CODE lang="bash"&gt;# Sample command to create a load test
az loadtest create \
  --name $loadTestResource \
  --resource-group $resourceGroup \
  --location $location \
  --test-file @path-to-your-jmeter-test-file.jmx \
  --configuration-file @path-to-your-load-test-config.yaml&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;LI-CODE lang="bash"&gt;# Sample command to run the load test
az loadtest run \
  --name $loadTestResource \
  --resource-group $resourceGroup \
  --test-id $testId&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;DIV&gt;&lt;SPAN&gt;For more information on configuring a load test and automating these steps using the Azure Command Line Interface (CLI), refer to the &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/load-testing/how-to-configure-load-test-cicd" target="_self"&gt;&lt;SPAN&gt;Azure Load Testing CI/CD configuration guide&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;and the &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/cli/azure/load" target="_self"&gt;&lt;SPAN&gt;Azure CLI reference for load testing&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;H5&gt;&amp;nbsp;&lt;/H5&gt;
&lt;H5&gt;&lt;SPAN&gt;Key Metrics to Monitor During Load Tests&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;When conducting load tests, it's crucial to monitor certain key metrics to understand how your application performs under stress. These metrics will help you identify any potential bottlenecks or areas that need optimization. Here are some of the most important ones to keep an eye on:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Request Rate&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Monitor the request rate during load testing. Ensure that the LLM application can handle the expected number of requests per second.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Response Time&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Analyze response times under different loads. Identify bottlenecks and optimize slow components.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Throughput&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Measure the number of successful requests per unit of time. Optimize for higher throughput.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Resource Utilization&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Monitor CPU, memory, and disk usage. Ensure efficient resource utilization.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5&gt;&lt;SPAN&gt;Best Practices for Executing Load Tests&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;To ensure your load tests are effective and yield meaningful insights, it's worthwhile to review the following recommendations. Here are some key strategies to consider:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Test Scenarios&lt;/STRONG&gt;&lt;SPAN&gt;: Create realistic test scenarios that mimic actual user behavior&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Ramp-Up Strategy&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Gradually increase the load to simulate real-world traffic patterns. The warm-up period typically lasts between 20 to 60 seconds. After the warm-up, the actual load test begins&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Think Time&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Include think time between requests to simulate user interactions.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Geographical Distribution&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Test from different Azure regions to assess global performance.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5&gt;&lt;SPAN&gt;Performance Tuning Strategies for LLM Apps&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;This section discusses performance tuning for LLM Apps. Application performance is heavily influenced by design and architecture. Effective structures can manage high loads, while poor ones may struggle. We'll cover various performance tuning aspects, not all of which may be universally applicable.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H6&gt;&lt;STRONG&gt;Application Design&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Optimize Application Code&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Examine and refine the algorithms and backend systems of your LLM application to increase efficiency. Utilize asynchronous processing methods, such as Python's async/await, to elevate application performance. This method allows data processing without interrupting other tasks.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Batch Processing&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Batch LLM requests whenever possible to reduce overhead. Grouping multiple requests for simultaneous processing improves throughput and efficiency by allowing the model to better leverage parallel processing capabilities, thereby optimizing overall performance.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Implement Caching&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;Use caching for repetitive queries to reduce the application's load and speed up response times. This is especially beneficial in LLM applications where similar questions are frequently asked. Caching answers to common questions minimizes the need to run the model repeatedly for the same inputs, saving both time and computational resources. Some examples of how you can implement this include using &lt;A href="https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-tutorial-semantic-cache" target="_blank" rel="noopener"&gt;Redis&lt;/A&gt; as a semantic cache or &lt;A href="https://learn.microsoft.com/en-us/azure/api-management/azure-openai-semantic-cache-lookup-policy" target="_blank" rel="noopener"&gt;Azure APIM&lt;/A&gt;&amp;nbsp;policies.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Revisit your Retry Logic&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: LLM model deployments might start to operate at their capacity, which can lead to 429 errors. A well-designed retry mechanism can help maintain application responsiveness. With the OpenAI Python SDK, you can opt for an exponential backoff algorithm. This algorithm gradually increases the wait time between retries, helping to prevent service overload. Additionally, consider the option of falling back on another model deployment. For more information, refer to the load balance item in the Solution Architecture section.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H6&gt;&lt;BR /&gt;&lt;STRONG&gt;Prompt Design&lt;/STRONG&gt;&lt;/H6&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Generate Less Tokens&lt;/STRONG&gt;&lt;SPAN&gt;: To reduce model latency, create concise prompts and limit token output. According to the OpenAI &lt;A href="https://platform.openai.com/docs/guides/latency-optimization" target="_blank" rel="noopener"&gt;latency optimization guide&lt;/A&gt;, cutting 50% of your output tokens can reduce latency by approximately 50%. Utilizing the 'max_tokens' parameter can also expedite response time.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Optimize Your Prompt&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: If dealing with large amounts of context data, consider prompt compression methods. Approaches like those offered by &lt;/SPAN&gt;&lt;A href="https://llmlingua.com/llmlingua2.html" target="_self"&gt;&lt;SPAN&gt;LLMLingua-2&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;, fine-tuning the model to reduce lengthy prompts, eliminating superfluous RAG responses, and removing extraneous HTML can be efficient. Trimming your prompt by 50% might only yield a latency reduction of 1-5%, but these strategies can lead to more substantial improvements in performance.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Refine Your Prompt&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Optimize the prompt text by placing dynamic elements, such as RAG results or historical data, toward the end of your prompt. This enhances compatibility with the &lt;/SPAN&gt;&lt;A href="https://arxiv.org/pdf/2211.05102" target="_self"&gt;&lt;SPAN&gt;KV cache system&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;commonly used by most large language model providers. As a result, fewer input tokens need processing with each request, increasing efficiency.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Use Smaller Models&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Whenever possible, pick smaller models because they are faster and more cost-effective. You can improve their responses by using detailed prompts, a few examples, or by fine-tuning.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;H6&gt;&lt;STRONG&gt;Solution Architecture&lt;/STRONG&gt;&lt;/H6&gt;
&lt;BR /&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Provisioned Throughput Deployments&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: When using Azure OpenAI use &lt;A href="https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/provisioned-throughput" target="_self"&gt;provisioned throughput&lt;/A&gt; in scenarios requiring stable latency and predictable performance, avoiding the 'noisy neighbor' issue in regular standard deployments.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Load Balancing LLM Endpoints&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Implement &lt;/SPAN&gt;&lt;A href="https://github.com/Azure-Samples/openai-aca-lb/" target="_self"&gt;&lt;SPAN&gt;load balancing&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;for LLM deployment endpoints. Distribute the workload dynamically to enhance performance based on endpoint latency. Establish suitable rate limits to prevent resource exhaustion and ensure stable latency.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Resource Scaling&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: If services show strain under increased load, consider scaling up resources. Azure allows seamless scaling of CPU, RAM, and storage to meet growing demands.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Network Latency&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;: Position Azure resources, like the Azure OpenAI service, near your users geographically to minimize network latency during data transmission to and from the service.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;SPAN&gt;Azure OpenAI Benchmarking&lt;/SPAN&gt;&lt;/H3&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The &lt;/SPAN&gt;&lt;A href="https://github.com/michaeltremeer/azure-openai-benchmark" target="_self"&gt;Improved Azure OpenAI Benchmarking Tool&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;enables you to assess the performance of Azure OpenAI deployments and choose the ideal model and deployment approach (PTU vs. pay-as-you-go) for your specific needs. It simulates various traffic patterns and provides detailed latency metrics. &lt;/SPAN&gt;&lt;SPAN&gt;This tool is particularly useful during model selection and experimentation in the initial phases of a project, as it assists developers in determining whether the model deployment is appropriately sized for your project needs.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The Benchmarking tool works by creating traffic patterns that mirror the expected test load. The tool can either automatically&lt;/SPAN&gt;&amp;nbsp;generate test requests with random words in the prompt (simulating a workload with a certain number of context tokens), or it can be used with pre-generated messages data, such as data captured or generated from an existing production application. By default, each request is also given a random prefix to ensure that the serving engine processes each request, which is designed to avoid overly positive results that might come from server-side engine optimizations like caching.&amp;nbsp;&lt;SPAN&gt;When conducting the test, it is important to make sure each test runs for long enough for the throughput to reach a stable state, especially when the utilization is close to or at 100%. 180 seconds is generally long enough for most tests. &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;
&lt;DIV id="chatGptChatRegion" class="sc-jXbUNg emaryz" role="region" aria-label="Chat area"&gt;
&lt;DIV class="sc-imWYAI sc-jsJBEP bMASkr izzlnU my-custom-scrollbar" data-is-scrollable="true"&gt;
&lt;DIV role="list"&gt;
&lt;DIV role="listitem"&gt;
&lt;DIV class="sc-imWYAI bMASkr"&gt;
&lt;DIV class="sc-imWYAI sc-hzhJZQ bMASkr bhgIfe" data-is-focusable="true"&gt;
&lt;DIV class="sc-imWYAI bMASkr bubble ai" aria-atomic="true"&gt;
&lt;DIV class="sc-jXbUNg emaryz content"&gt;
&lt;DIV class="sc-imWYAI bMASkr" aria-description="chatbot"&gt;
&lt;DIV class="bubbleContent"&gt;
&lt;DIV&gt;
&lt;P&gt;This kind of load test is particularly useful for deployments that are provisioned managed. By altering the number of units of provisioned throughput (PTUs) that are deployed, you can fine-tune the design of your solution. The results of the analysis may require you to change the number of PTUs, or even the whole structure of the solution. For instance, you may decide to use a combination of PTU and Standard deployments for the Azure OpenAI service, and balance the load between two or more deployments.&lt;/P&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;H4&gt;&lt;STRONG&gt;Test Parameters&lt;/STRONG&gt;&lt;/H4&gt;
The benchmarking tool contains a number of configuration parameters to configure the test, as well as two script entry points. The &lt;EM&gt;benchmark.bench&lt;/EM&gt; entry point is the basic script point, while the &lt;EM&gt;benchmark.contrib.batch_runner&lt;/EM&gt;&amp;nbsp;entry point can run batches of multiple workload configurations, and will automatically warm up the model endpoint prior to each test workload. It is recommended to use the &lt;EM&gt;batch_runner&lt;/EM&gt; entry point to ensure accurate results and a much simpler testing process, especially when running tests for multiple workload profiles or when testing with PTU model deployments.&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The &lt;A href="https://github.com/michaeltremeer/azure-openai-benchmark" target="_self"&gt;README&lt;/A&gt; details the many different options for configuring and running benchmark tests, but some of the key parameters are as follows:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="35%"&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="65%"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="35%"&gt;rate&lt;/TD&gt;
&lt;TD width="65%"&gt;Controls the frequency of requests in Requests Per Minute (RPM), allowing for detailed management of test intensity.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="35%"&gt;clients&lt;/TD&gt;
&lt;TD width="65%"&gt;Enables you to specify the number of parallel clients that will send requests simultaneously, providing a way to simulate varying levels of user interaction.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;context-generation-method&lt;/TD&gt;
&lt;TD&gt;Allows you to select whether to automatically generate the context data for the test (--context-generation-method generate), or whether to use existing messages data for the test (--context-generation-method replay)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="35%"&gt;shape-profile&lt;/TD&gt;
&lt;TD width="65%"&gt;Adjusts the request characteristics based on the number of context and generated tokens, enabling precise testing scenarios that reflect different usage patterns. Options include "balanced", "context", "custom" or "generation".&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="35%"&gt;context-tokens (for custom shape-profile)&lt;/TD&gt;
&lt;TD width="65%"&gt;When &lt;EM&gt;context-generation-method = generate&lt;/EM&gt; and &lt;EM&gt;shape-profile = custom&lt;/EM&gt;, this allows you to specify the number of context tokens in the request.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="35%"&gt;max-tokens (for custom shape-profile)&lt;/TD&gt;
&lt;TD width="65%"&gt;This allows you to specify the maximum number of tokens that should be generated in the response.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="35%"&gt;aggregation-window&lt;/TD&gt;
&lt;TD width="65%"&gt;Defines the duration, in seconds, for which the data aggregation window spans. Before the test hits the aggregation-window duration, all stats are computed over a flexible window, equivalent to the elapsed time. This ensures accurate RPM/TPM stats even if the test ends early due to hitting the request limit. A value of 60 seconds or more is recommended.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;log-save-dir&lt;/TD&gt;
&lt;TD&gt;If provided, the test log will be automatically saved to the directory, making analysing and comparing different benchmarking runs simple.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;STRONG&gt;Warming up PTU endpoints&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;When testing PTU deployments, it is important to warm up the endpoint prior to the benchmarking workload. This is because PTU endpoints &lt;A href="https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/provisioned-throughput#how-does-the-service-decide-when-to-send-a-429" target="_self"&gt;offer a short period of burst capacity&lt;/A&gt; until their utilization reaches 100%, after which they will revert back to providing the same throughput as can be calculated with the PTU capacity calculator (accessible in the Quotas tab of &lt;A href="https://oai.azure.com/portal" target="_self"&gt;Azure OpenAI Studio&lt;/A&gt;). To make this process easier, the &lt;EM&gt;benchmark.bench.batch_runner&lt;/EM&gt; entry point will automatically detect and warm-up PTU endpoints, ensuring accurate and realistic results with minimal effort.&lt;BR /&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;&lt;STRONG&gt;Retry Strategy&lt;/STRONG&gt;&lt;/H4&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;The &lt;/SPAN&gt;&lt;STRONG&gt;retry&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;parameter allows you to set the retry strategy for requests, offering options such as "none" or "exponential", which can be crucial for handling API request failures effectively. When setting up a retry strategy for Azure OpenAI benchmarking, it's crucial to select an approach that carefully balances resource capacity to avoid skewing latency statistics. &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;When running a test with retry=&lt;STRONG&gt;none&lt;/STRONG&gt;, throttled requests are immediately retried with a reset start time, and latency metrics only reflect the final successful attempt, which may not represent the end user's experience. Use this setting for workloads within resource limits without throttling or to assess how many requests need redirecting to a backup during peak loads that surpass the primary resource’s capacity.&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Conversely, with retry=&lt;STRONG&gt;exponential&lt;/STRONG&gt;, failed or throttled requests are retried with exponential backoff, up to 60 seconds. This approach is only recommended when testing endpoints that have automatic rerouting to a backup resource, and can result in unrealistic latency metrics if used with a test configuration that would ordinarily result in throttling. In general, &lt;U&gt;always use retry=&lt;STRONG&gt;none&lt;/STRONG&gt;&lt;/U&gt; unless you have backup resources configured behind an endpoint.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;H4&gt;&lt;STRONG&gt;Output Metrics&lt;/STRONG&gt;&lt;/H4&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;When you run the test, you will obtain average and 95th percentile metrics from the following measures:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;STRONG&gt;measure&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="80%"&gt;&lt;STRONG&gt;description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;ttft&lt;/TD&gt;
&lt;TD width="80%"&gt;Time to First Token. Time in seconds from the beginning of the request until the first token was received.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;tbt&lt;/TD&gt;
&lt;TD width="80%"&gt;Time Between Tokens. Time in seconds between two consecutive generated tokens.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;e2e&lt;/TD&gt;
&lt;TD width="80%"&gt;End to end response time.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;context_tpr&lt;/TD&gt;
&lt;TD&gt;Number of context tokens per request.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;gen_tpr&lt;/TD&gt;
&lt;TD&gt;Number of generated tokens per request.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;util&lt;/TD&gt;
&lt;TD width="80%"&gt;Azure OpenAI deployment utilization percentage as reported by the service (only for PTU deployments).&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;H4&gt;&lt;STRONG&gt;Sample Scenarios &lt;/STRONG&gt;&lt;/H4&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H5&gt;&lt;STRONG&gt;1. Using the &lt;EM&gt;benchmark.bench&lt;/EM&gt; entrypoint&lt;/STRONG&gt;&lt;/H5&gt;
&lt;DIV&gt;&lt;SPAN&gt;In the following example, taken from the tool's README, the benchmarking tool tests a traffic pattern that sends requests to the gpt-4 deployment in the 'myaccount' Azure OpenAI resource at a rate of 60 requests per minute, with the retry set to none, and with all logs saved to the &lt;EM&gt;logs/&lt;/EM&gt; directory. The default traffic shape is used, where each request contains 1000 context tokens, and the maximum response size is limited to 500 tokens.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;LI-CODE lang="bash"&gt;$ python -m benchmark.bench load \
    --deployment gpt-4 \
    --rate 60 \
    --retry none \
    --log-save-dir logs/ \
    https://myaccount.openai.azure.com

2023-10-19 18:21:06 INFO     using shape profile balanced: context tokens: 500, max tokens: 500
2023-10-19 18:21:06 INFO     warming up prompt cache
2023-10-19 18:21:06 INFO     starting load...
2023-10-19 18:21:06 rpm: 1.0   requests: 1     failures: 0    throttled: 0    ctx tpm: 501.0  gen tpm: 103.0  ttft avg: 0.736  ttft 95th: n/a    tbt avg: 0.088  tbt 95th: n/a    e2e avg: 1.845  e2e 95th: n/a    util avg: 0.0%   util 95th: n/a   
2023-10-19 18:21:07 rpm: 5.0   requests: 5     failures: 0    throttled: 0    ctx tpm: 2505.0 gen tpm: 515.0  ttft avg: 0.937  ttft 95th: 1.321  tbt avg: 0.042  tbt 95th: 0.043  e2e avg: 1.223 e2e 95th: 1.658 util avg: 0.8%   util 95th: 1.6%  
2023-10-19 18:21:08 rpm: 8.0   requests: 8     failures: 0    throttled: 0    ctx tpm: 4008.0 gen tpm: 824.0  ttft avg: 0.913  ttft 95th: 1.304  tbt avg: 0.042  tbt 95th: 0.043  e2e avg: 1.241 e2e 95th: 1.663 util avg: 1.3%   util 95th: 2.6% &lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;H5&gt;&lt;STRONG&gt;2. Using the &lt;EM&gt;benchmark.contrib.batch_runner&lt;/EM&gt; entrypoint&lt;/STRONG&gt;&lt;/H5&gt;
&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN&gt;In the following example, taken from the tool's README, the batch_runner executes the following two traffic patterns for 120 seconds each,&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;making sure to automatically warm up the endpoint prior to each run, and also saving all request input and output content from each run:&lt;/SPAN&gt;
&lt;UL dir="auto"&gt;
&lt;LI&gt;context_tokens=500, max_tokens=100, rate=20&lt;/LI&gt;
&lt;LI&gt;context_tokens=3500, max_tokens=300, rate=7.5&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;With the &lt;EM&gt;num-batches&lt;/EM&gt; and &lt;EM&gt;batch-start-interval&lt;/EM&gt; parameters, it will also run the same batch of tests every hour over the next 4 hours:&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;LI-CODE lang="bash"&gt;$ python -m benchmark.contrib.batch_runner https://myaccount.openai.azure.com/ \
    --deployment gpt-4-1106-ptu --context-generation-method generate \
    --token-rate-workload-list 500-100-20,3500-300-7.5 --duration 130 \
    --aggregation-window 120 --log-save-dir logs/ \
    --start-ptum-runs-at-full-utilization true --log-request-content true \
    --num-batches 5 --batch-start-interval 3600&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;P&gt;For more detailed examples, refer to &lt;A href="https://github.com/michaeltremeer/azure-openai-benchmark" target="_self"&gt;the README&lt;/A&gt; within the repository.&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Processing and Analyzing the Log Files&lt;/STRONG&gt;&lt;/H4&gt;
After running the tests, the separate logs can be automatically processed and combined into a single output CSV. This CSV will contain all configuration parameters, aggregate performance metrics, and the timestamps, call status and content of every individual request.&lt;/DIV&gt;
&lt;DIV&gt;&lt;LI-CODE lang="bash"&gt;$ python -m benchmark.contrib.combine_logs logs/ combined_logs.csv --load-recursive&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the combined CSV file, the runs can now easily be compared to each other, and with the individual request data, more detailed graphs that plot all request activity over time can be generated.&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;&lt;SPAN&gt;Monitoring AOAI Resource&lt;/SPAN&gt;&lt;/H4&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Configuring &lt;A href="https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/monitoring#configure-diagnostic-settings" target="_self"&gt;diagnostic settings&lt;/A&gt; for Azure OpenAI Service is a good practice for monitoring the availability, performance, and operation of your Azure resources during performance tests. These settings allow the collection and analysis of metrics and log data from your Azure OpenAI resource.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;After configuring the diagnostic settings, you can start querying the generated logs. Simply access your Azure OpenAI resource in the portal and then select Logs in the Monitoring section. Next, click on the Log Analytics Workspace that you selected during the diagnostic settings configuration and select the workspace's Logs option.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Below is a query example that retrieves logs from AzureDiagnostics for "ChatCompletions_Create" operations, conducted between 3:30 PM and 4:30 PM on April 26, 2024. It selects logs with details such as timestamp, resource, operation, duration, response code, and additional properties, enabling a detailed analysis of the operation's performance and outcomes during that hour.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;LI-CODE lang="sql"&gt;AzureDiagnostics
| where TimeGenerated between(datetime(2024-04-26T15:30:00) .. datetime(2024-04-26T16:30:00))
| where OperationName == "ChatCompletions_Create"
| project TimeGenerated, _ResourceId, Category, OperationName, DurationMs, ResultSignature, properties_s​&lt;/LI-CODE&gt;&lt;BR /&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="perftest-azure-diagnostics.png" style="width: 999px;"&gt;&lt;img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/579953iE23F78B6376BF956/image-size/large?v=v2&amp;amp;px=999" role="button" title="perftest-azure-diagnostics.png" alt="perftest-azure-diagnostics.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;
&lt;DIV class="lia-align-center"&gt;&lt;EM&gt;Analyzing Azure OpenAI Metrics with Azure Monitor.&lt;/EM&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;H2 id="how-to-guides"&gt;&lt;SPAN&gt;How-To Guides&lt;/SPAN&gt;&lt;/H2&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;Now that you understand the concepts for conducting performance tests, you can refer to the following sections where we provide a detailed guide on how to use the tools mentioned in the text to test your LLM App or your Azure OpenAI model deployment.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://github.com/Azure/GPT-RAG/blob/insiders/docs/LOAD_TESTING.md" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;LLM RAG application testing with Azure Load Testing&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://github.com/microsoft/llmops-workshop/blob/development/labs/performance/docs/AOAI_BENCH_TOOL.md" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Model deployment testing with AOAI Benchmarking Tool&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN&gt;Wrapping Up&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In conclusion, performance evaluation is crucial in optimizing LLM applications. By understanding your application's specifics, creating an efficient strategy, and utilizing appropriate tools, you can tackle performance issues effectively. This boosts user experience and ensures that your application can handle real-world demands. Regular performance evaluations using methods such as load testing, benchmarking, and continuous monitoring can lead to your LLM application's ultimate success.&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 27 May 2024 18:10:31 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/load-testing-rag-based-generative-ai-applications/ba-p/4086993</guid>
      <dc:creator>ogkranthi</dc:creator>
      <dc:date>2024-05-27T18:10:31Z</dc:date>
    </item>
  </channel>
</rss>

