<?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>rss.livelink.threads-in-node</title>
    <link>https://techcommunity.microsoft.com/t5/</link>
    <description>Microsoft Community Hub</description>
    <pubDate>Thu, 16 Apr 2026 01:06:19 GMT</pubDate>
    <dc:creator>Community</dc:creator>
    <dc:date>2026-04-16T01:06:19Z</dc:date>
    <item>
      <title>Production Cutover in Cloud-Native Migrations</title>
      <link>https://techcommunity.microsoft.com/t5/azure-migration-and/production-cutover-in-cloud-native-migrations/ba-p/4509924</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Migration Planning vs Runtime Reality&lt;/H2&gt;
&lt;P&gt;Migration to container orchestration platforms such as Azure Kubernetes Service (AKS) typically involves:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Containerizing application workloads&lt;/LI&gt;
&lt;LI&gt;Configuring cluster networking&lt;/LI&gt;
&lt;LI&gt;Migrating data to managed storage services&lt;/LI&gt;
&lt;LI&gt;Updating application integrations&lt;/LI&gt;
&lt;LI&gt;Validating deployment pipelines&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Even with these practices in place, runtime validation often reveals issues that are not directly related to deployment or application code.&lt;/P&gt;
&lt;P&gt;For example, it is common to encounter scenarios where:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Services deploy successfully but terminate under production memory allocation thresholds&lt;/LI&gt;
&lt;LI&gt;Configuration repositories do not reflect region‑specific runtime parameters&lt;/LI&gt;
&lt;LI&gt;Messaging consumers fail to bind to cloud‑based ingestion pipelines&lt;/LI&gt;
&lt;LI&gt;External integrations continue referencing legacy endpoint mappings&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;These runtime discrepancies typically surface only after traffic routing begins — highlighting the distinction between deployment success and operational readiness.&lt;/P&gt;
&lt;H2&gt;Dependency Transition in Distributed Architectures&lt;/H2&gt;
&lt;P&gt;Modern enterprise workloads operate across multiple runtime layers:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Compute&lt;/STRONG&gt; – Container orchestration policies&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Networking&lt;/STRONG&gt; – Firewall and endpoint routing&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Messaging&lt;/STRONG&gt; – Event stream synchronization&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Storage&lt;/STRONG&gt; – Listener configuration&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Analytics&lt;/STRONG&gt; – Workspace connectivity&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Batch Processing&lt;/STRONG&gt; – Scheduled ingestion continuity&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In practice, this requires ensuring that all runtime dependencies transition in a coordinated manner.&lt;/P&gt;
&lt;P&gt;For instance, a service deployment may succeed in production environments but fail to initialize if:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Storage listeners still reference legacy infrastructure&lt;/LI&gt;
&lt;LI&gt;Analytics workspaces are restricted by updated networking policies&lt;/LI&gt;
&lt;LI&gt;Configuration endpoints are not aligned with Disaster Recovery runtime&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;As system complexity increases, production cutover becomes less of a deployment task and more of a runtime orchestration challenge.&lt;/P&gt;
&lt;H2&gt;Disaster Recovery in Migration Execution&lt;/H2&gt;
&lt;P&gt;Production cutover workflows frequently include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Regional database switchover&lt;/LI&gt;
&lt;LI&gt;Storage endpoint failover&lt;/LI&gt;
&lt;LI&gt;DNS routing updates&lt;/LI&gt;
&lt;LI&gt;Suspension of compute resources in primary regions&lt;/LI&gt;
&lt;LI&gt;Replica alignment in containerized workloads&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Additionally, failback procedures must ensure that:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Primary workloads restart in the correct configuration state&lt;/LI&gt;
&lt;LI&gt;Listener registries are reassigned without duplication&lt;/LI&gt;
&lt;LI&gt;DNS routing reflects restored endpoints&lt;/LI&gt;
&lt;LI&gt;RTO and RPO parameters are met&lt;/LI&gt;
&lt;LI&gt;Smoke testing validates runtime stability&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Batch Workloads and Background Processing&lt;/H2&gt;
&lt;P&gt;Batch pipelines often support:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Historical transactional ingestion&lt;/LI&gt;
&lt;LI&gt;Scheduled synchronization tasks&lt;/LI&gt;
&lt;LI&gt;Downstream analytics processing&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Migrating these workloads without phased prioritization can result in:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Delayed ingestion cycles&lt;/LI&gt;
&lt;LI&gt;Messaging queue desynchronization&lt;/LI&gt;
&lt;LI&gt;Reporting inconsistencies&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Ensuring continuity of background processing therefore becomes an essential component of production cutover planning.&lt;/P&gt;
&lt;H2&gt;Treating Cutover as an Orchestration Event&lt;/H2&gt;
&lt;P&gt;Production cutover must now be approached as a coordinated transition of system state across:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Compute&lt;/LI&gt;
&lt;LI&gt;Data&lt;/LI&gt;
&lt;LI&gt;Networking&lt;/LI&gt;
&lt;LI&gt;Integration&lt;/LI&gt;
&lt;LI&gt;Messaging&lt;/LI&gt;
&lt;LI&gt;Batch execution&lt;/LI&gt;
&lt;LI&gt;Security policies&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This ensures that infrastructure provisioning is complemented by runtime alignment across all dependent system layers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-border-color-15 lia-border-style-solid" border="1" style="width: 85.5271%; height: 432.667px; border-width: 1px;"&gt;&lt;colgroup&gt;&lt;col style="width: 33.3337%" /&gt;&lt;col style="width: 33.3337%" /&gt;&lt;col style="width: 33.3337%" /&gt;&lt;/colgroup&gt;&lt;thead&gt;&lt;tr class="lia-border-style-solid lia-background-color-5" style="height: 58.6667px;"&gt;&lt;th class="lia-border-color-15 lia-border-style-solid" scope="col" style="height: 58.6667px;"&gt;&lt;SPAN class="lia-text-color-21"&gt;&lt;STRONG&gt;Section&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/th&gt;&lt;td class="lia-border-color-15" style="height: 58.6667px;"&gt;&lt;SPAN class="lia-text-color-21"&gt;&lt;STRONG&gt;What the Link Reinforces&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/td&gt;&lt;td class="lia-border-color-15" style="height: 58.6667px;"&gt;&lt;STRONG&gt;&lt;SPAN class="lia-text-color-21"&gt;Recommended Microsoft Learn Link&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="lia-border-color-10 lia-border-style-solid" style="height: 132px;"&gt;&lt;th class="lia-border-color-15 lia-border-style-solid" scope="col" style="height: 132px;"&gt;Production Cutover Definition&lt;/th&gt;&lt;td class="lia-border-color-15 lia-border-style-solid" style="height: 132px;"&gt;Establishes cutover as a &lt;STRONG&gt;distinct operational phase&lt;/STRONG&gt; involving traffic redirection, validation, smoke testing, and post‑cutover checks—not just deployment completion.&lt;/td&gt;&lt;td class="lia-border-color-15" style="height: 132px;"&gt;&lt;STRONG&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/relocate-cutover" target="_blank" rel="noopener"&gt;How to cut over a cloud workload&lt;/A&gt;&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="lia-border-color-10 lia-border-style-solid" style="height: 108px;"&gt;&lt;th class="lia-border-color-15 lia-border-style-solid" scope="col" style="height: 108px;"&gt;End‑to‑End Migration Context&lt;/th&gt;&lt;td class="lia-border-color-15 lia-border-style-solid" style="height: 108px;"&gt;Positions cutover within the &lt;STRONG&gt;full migration lifecycle&lt;/STRONG&gt; (plan → migrate → operate → govern), reinforcing that success continues post‑go‑live.&lt;/td&gt;&lt;td class="lia-border-color-15" style="height: 108px;"&gt;&lt;STRONG&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/migration/" target="_blank" rel="noopener"&gt;Microsoft Azure Migration Hub&lt;/A&gt;&lt;/STRONG&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class="lia-border-color-10 lia-border-style-solid" style="height: 134px;"&gt;&lt;th class="lia-border-color-15 lia-border-style-solid" scope="col" style="height: 134px;"&gt;&lt;STRONG&gt;AKS Migration Patterns&lt;/STRONG&gt;&lt;/th&gt;&lt;td class="lia-border-color-15 lia-border-style-solid" style="height: 134px;"&gt;Shows that AKS migration success depends on &lt;STRONG&gt;runtime behavior&lt;/STRONG&gt;, HA/BCDR planning, and workload characteristics—not just container deployment.&lt;/td&gt;&lt;td class="lia-border-color-15" style="height: 134px;"&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/aks/aks-migration" target="_blank" rel="noopener"&gt;Migrate to Azure Kubernetes Service (AKS)&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/aks/" target="_blank" rel="noopener"&gt;Azure Kubernetes Service documentation&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H2&gt;Conclusion&lt;/H2&gt;
&lt;P&gt;Cloud migration success is no longer determined solely by where applications are deployed, but by how effectively runtime dependencies are aligned during production cutover.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2026 00:05:46 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-migration-and/production-cutover-in-cloud-native-migrations/ba-p/4509924</guid>
      <dc:creator>dhruti</dc:creator>
      <dc:date>2026-04-16T00:05:46Z</dc:date>
    </item>
    <item>
      <title>Databricks Delta Sharing: Enabling Cost Efficient Cross Cloud Data Access</title>
      <link>https://techcommunity.microsoft.com/t5/azure-architecture-blog/databricks-delta-sharing-enabling-cost-efficient-cross-cloud/ba-p/4511400</link>
      <description>&lt;H5&gt;&lt;STRONG&gt;What Is Delta Sharing?&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/databricks/delta-sharing/" target="_blank"&gt;Delta sharing&lt;/A&gt; is an open protocol for secure data sharing that allows organizations to share live data stored in Delta Lake with external consumers—across cloud providers such as Azure, AWS, and Google Cloud—while keeping the data in its original location. Consumers access the same up‑to‑date data without the provider having to copy or move it to another cloud.&amp;nbsp;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Why Delta Sharing Matters in Multi‑Cloud Architectures&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;In multi‑cloud environments, data sharing typically leads to increased storage duplication and cross‑cloud data transfer charges. Delta Sharing changes this model by exposing data in place, enabling access rather than replication.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Key architectural benefits include:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI class="lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;Cross‑cloud data availability without replication&lt;/STRONG&gt;&lt;BR /&gt;Data producers share tables directly from their existing data lake, eliminating the need for extract‑and‑load pipelines.&lt;/LI&gt;
&lt;LI class="lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;Reduced egress costs compared to copy‑based approaches&lt;/STRONG&gt;&lt;BR /&gt;Since data is not duplicated by default, Delta Sharing avoids large-scale data movement that typically drives cloud egress charges. Egress occurs only when data is queried across clouds.&lt;/LI&gt;
&lt;LI class="lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;Secure and governed access&lt;/STRONG&gt;&lt;BR /&gt;Access is managed using fine‑grained permissions, auditability, and centralized governance through Unity Catalog, ensuring shared data remains secure and compliant.&lt;/LI&gt;
&lt;LI class="lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;Vendor‑neutral and open&lt;/STRONG&gt;&lt;BR /&gt;Consumers do not need to run Databricks. Delta Sharing supports multiple clients such as Spark, Pandas, and BI tools, making it suitable for heterogeneous analytics ecosystems.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H5&gt;&lt;STRONG&gt;Delta Sharing vs. Data Replication&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;A common misconception is that cross‑cloud analytics always require data replication. With Delta Sharing:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Live access&lt;/STRONG&gt; is used for shared analytics and reporting use cases&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Replication (deep clone)&lt;/STRONG&gt; becomes an explicit design choice only when local copy or offline processing is required—rather than a default requirement&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This gives architects the flexibility to&lt;STRONG&gt; &lt;/STRONG&gt;optimize for cost, performance, or isolation depending on the workload, instead of paying replication costs upfront.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;U&gt;Figure: Databricks Delta Sharing Architecture:&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Delta Sharing enables secure, real‑time data access across public clouds without replicating data. Consumers query data in place through a secure control plane, ensuring governance, reduced operational overhead, and optimized egress costs.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;This diagram visually represents Databricks Delta Sharing architecture with a clear left‑to‑right flow that works well for blogs and technical readers:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Left&lt;/STRONG&gt; – Data Producer (Azure Databricks + Unity Catalog + Delta Lake Storage)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Center&lt;/STRONG&gt; – Delta Sharing Service (secure control plane, metadata &amp;amp; access control)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Right&lt;/STRONG&gt; – Data Consumers (AWS / GCP / Spark / BI tools / Pandas)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Bottom flow&lt;/STRONG&gt; – Read‑only, on‑demand access with &lt;EM&gt;no data replication&lt;/EM&gt; and &lt;EM&gt;egress only on read&lt;/EM&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H5&gt;&lt;STRONG&gt;Architecture Diagram Explanation: Databricks Delta Sharing&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;STRONG&gt;Overview&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The diagram illustrates how Databricks Delta Sharing enables secure, real‑time data access across public clouds (Azure, AWS, GCP) without replicating data, helping reduce operational overhead and data‑egress costs.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;At a high level, data remains in the producer’s cloud storage, while consumers in other clouds access it securely on demand using the Delta Sharing protocol&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1️&lt;/STRONG&gt;&lt;STRONG&gt;⃣ Data Producer (Azure Databricks)&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The &lt;STRONG&gt;Data Provider&lt;/STRONG&gt; hosts curated datasets in a Delta Lake (for example, on &lt;STRONG&gt;Azure Data Lake Storage Gen2&lt;/STRONG&gt;).&lt;/LI&gt;
&lt;LI&gt;Data is governed using &lt;STRONG&gt;Unity Catalog&lt;/STRONG&gt;, which controls:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Which tables are shared&lt;/LI&gt;
&lt;LI&gt;Who can access them&lt;/LI&gt;
&lt;LI&gt;What operations are allowed (read‑only access)&lt;/LI&gt;
&lt;/UL&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;No data is copied or exported during sharing—datasets remain in the producer’s storage account.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2️&lt;/STRONG&gt;&lt;STRONG&gt;⃣ Delta Sharing Service (Control Plane)&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Delta Sharing acts as the &lt;STRONG&gt;secure control layer&lt;/STRONG&gt;, not a data storage layer.&lt;/LI&gt;
&lt;LI&gt;It manages:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Authentication and authorization of consumers&lt;/LI&gt;
&lt;LI&gt;Metadata exchange (schemas, table versions)&lt;/LI&gt;
&lt;LI&gt;Auditing and access tracking&lt;/LI&gt;
&lt;/UL&gt;
&lt;/UL&gt;
&lt;P&gt;The control plane ensures that only authorized consumers can discover and query shared datasets.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3️&lt;/STRONG&gt;&lt;STRONG&gt;⃣ Secure Network Access&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Consumers connect to the producer’s storage using &lt;STRONG&gt;HTTPS-based secure endpoints&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Depending on architecture:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Access may be public endpoint–based&lt;/LI&gt;
&lt;LI&gt;Or secured further using private networking patterns (VPN, private endpoints, or controlled IP ranges)&lt;/LI&gt;
&lt;/UL&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;All access occurs under the governance policies defined by the data producer.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;4️&lt;/STRONG&gt;&lt;STRONG&gt;⃣ Data Consumers (AWS / GCP / Azure)&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Consumers may run:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Databricks on another cloud&lt;/LI&gt;
&lt;LI&gt;Spark clusters&lt;/LI&gt;
&lt;LI&gt;Python (Pandas)&lt;/LI&gt;
&lt;LI&gt;BI and analytics tools that support Delta Sharing&lt;/LI&gt;
&lt;/UL&gt;
&lt;/UL&gt;
&lt;P&gt;Consumers &lt;STRONG&gt;query the data in place&lt;/STRONG&gt;, directly from the producer’s Delta tables&lt;/P&gt;
&lt;P&gt;Importantly, consumers do not need to copy or store the data locally unless they explicitly choose to.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;5️&lt;/STRONG&gt;&lt;STRONG&gt;⃣ Data Flow (Read‑Only, On‑Demand)&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;When a consumer runs a query:&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;Metadata is resolved via Delta Sharing&lt;/LI&gt;
&lt;LI&gt;Data blocks are read directly from the producer’s cloud storage&lt;/LI&gt;
&lt;LI&gt;Results are returned to the consumer&lt;/LI&gt;
&lt;/OL&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;This “&lt;STRONG&gt;access‑instead‑of‑replicate&lt;/STRONG&gt;” model avoids continuous data synchronization pipelines and minimizes unnecessary data movement.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;6️&lt;/STRONG&gt;&lt;STRONG&gt;⃣ Cost Optimization and Egress Considerations&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;No default data replication&lt;/STRONG&gt; means:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;No extra storage costs&lt;/LI&gt;
&lt;LI&gt;No background sync jobs&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI&gt;Data egress charges occur &lt;STRONG&gt;only when data is actually read across clouds&lt;/STRONG&gt;, not upfront or continuously.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;Compared to traditional copy‑based sharing, this significantly reduces overall egress exposure for many analytics workloads&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;7️&lt;/STRONG&gt;&lt;STRONG&gt;⃣ Optional: Local Replication (Explicit Choice)&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If required, consumers can perform a &lt;STRONG&gt;deep clone&lt;/STRONG&gt; to bring a local copy into their own cloud.&lt;/LI&gt;
&lt;LI&gt;This is an &lt;STRONG&gt;explicit architectural decision&lt;/STRONG&gt;, used only when:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Low‑latency local access is required&lt;/LI&gt;
&lt;LI&gt;Data isolation is mandatory&lt;/LI&gt;
&lt;/UL&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;Replication is optional — not a prerequisite for sharing.&lt;/EM&gt;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Common Use Cases&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Delta Sharing is particularly effective for:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Sharing curated datasets across cloud platforms&lt;/LI&gt;
&lt;LI&gt;Enabling partner or third‑party analytics without data duplication&lt;/LI&gt;
&lt;LI&gt;Supporting centralized data platforms while allowing decentralized consumption&lt;/LI&gt;
&lt;LI&gt;Reducing operational overhead in cross‑cloud data ecosystems&lt;/LI&gt;
&lt;/UL&gt;
&lt;H5&gt;&lt;STRONG&gt;Key Takeaway&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Databricks Delta Sharing enables organizations to provide secure, real‑time cross‑cloud data access without data duplication—helping reduce operational complexity and egress costs in multi‑cloud architectures.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2026 00:00:42 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-architecture-blog/databricks-delta-sharing-enabling-cost-efficient-cross-cloud/ba-p/4511400</guid>
      <dc:creator>kirankumar_manchiwar04</dc:creator>
      <dc:date>2026-04-16T00:00:42Z</dc:date>
    </item>
    <item>
      <title>Upcoming changes to driver metadata and publishing validations in Hardware Dev Center</title>
      <link>https://techcommunity.microsoft.com/t5/hardware-dev-center/upcoming-changes-to-driver-metadata-and-publishing-validations/ba-p/4511758</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;We're making improvements to how the Windows Hardware Dev Center (HDC) handles driver OS compatibility. These changes will help reduce driver installation failures caused by drivers being offered to Windows versions outside their supported range.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This post explains&amp;nbsp;what's&amp;nbsp;changing, what you need to know, and what — if any — action you may need to take.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;What's&amp;nbsp;changing&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;New field in&amp;nbsp;HardwareDriverMetadata: CeilingOSCode&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;We are adding a new nullable string property, CeilingOSCode, to the per-PnP entries in the HardwareDriverMetadata asset (documented at &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/windows-hardware/drivers/dashboard/driver-package-metadata" target="_blank" rel="noopener"&gt;Driver package metadata&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; ). This field&amp;nbsp;represents&amp;nbsp;the&amp;nbsp;maximum&amp;nbsp;OS version that a given hardware ID (PnP) supports, as&amp;nbsp;determined&amp;nbsp;by the INF file's OS version decorators.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&amp;nbsp;The&amp;nbsp;CeilingOsCode&amp;nbsp;field will only be populated for packages submitted&amp;nbsp;&lt;STRONG&gt;after&lt;/STRONG&gt; the feature rollout date. Packages submitted before this date will not have this field in their metadata — it will not be backfilled for existing submissions.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you use the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Hardware Dev Center API&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt; &lt;/STRONG&gt;to retrieve driver metadata — via &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/windows-hardware/drivers/dashboard/get-a-submission" target="_blank" rel="noopener"&gt;Get a submission&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;  (the driverMetadata link) or &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/windows-hardware/drivers/dashboard/create-publisher-metadata" target="_blank" rel="noopener"&gt;Create Publisher Metadata&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;  — the OSPnPInfoMap entries in the response will now include this&amp;nbsp;additional&amp;nbsp;property.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Example — before:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;Response excerpt:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;"OSPnPInfoMap": {&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;"WINDOWS_v100_RS3_FULL": {&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;"pci\\ven_test&amp;amp;dev_abcd": {&lt;/P&gt;
&lt;P class="lia-indent-padding-left-120px"&gt;"Manufacturer": "RAID",&lt;/P&gt;
&lt;P class="lia-indent-padding-left-120px"&gt;"DeviceDescription": "Virtual Raid Adapter",&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-120px"&gt;"FeatureScore": null&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;}&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;}&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Example — after:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;Response excerpt:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;"OSPnPInfoMap": {&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;"WINDOWS_v100_RS3_FULL": {&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;"pci\\ven_test&amp;amp;dev_abcd": {&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;"Manufacturer": "RAID",&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;"DeviceDescription": "Virtual Raid Adapter",&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;"FeatureScore": null,&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;"CeilingOsCode": "WINDOWS_v100_X64_20H1_FULL"&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;}&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Do I need to&amp;nbsp;take action?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;In most cases, no.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt; &lt;/STRONG&gt;This is an additive change. The new property is nullable — it will be &lt;EM&gt;null&lt;/EM&gt; when no OS ceiling is detected for a&amp;nbsp;hardware ID. Standard JSON parsers&amp;nbsp;(including Newtonsoft.Json and System.Text.Json) handle new, unknown properties gracefully by ignoring them.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;If your tooling uses strict JSON validation&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; that rejects unknown properties, you may need to update your deserialization logic to&amp;nbsp;allow&amp;nbsp;the new CeilingOSCode field.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;&lt;U&gt;⚠️ Important: Avoid strict JSON parsing&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;The Hardware Dev Center API may add new properties to responses at any time as part of non-breaking, additive changes.&amp;nbsp;&lt;STRONG&gt;Your client must not use strict JSON deserialization that rejects unknown properties.&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL class="lia-indent-padding-left-30px"&gt;
&lt;LI class="lia-indent-padding-left-30px"&gt;
&lt;UL class="lia-indent-padding-left-30px"&gt;
&lt;LI class="lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;System.Text.Json&lt;/STRONG&gt;&amp;nbsp;— Do&amp;nbsp;&lt;STRONG&gt;not&lt;/STRONG&gt;&amp;nbsp;set&amp;nbsp;JsonSerializerOptions.UnmappedMemberHandling = JsonUnmappedMemberHandling.Disallow. The default behavior (ignoring unknown properties) is correct.&lt;/LI&gt;
&lt;LI class="lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;Newtonsoft.Json&lt;/STRONG&gt;&amp;nbsp;— Do&amp;nbsp;&lt;STRONG&gt;not&lt;/STRONG&gt;&amp;nbsp;set&amp;nbsp;MissingMemberHandling = MissingMemberHandling.Error. The default behavior is correct.&lt;/LI&gt;
&lt;LI class="lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;General&lt;/STRONG&gt;&amp;nbsp;— If you use schema validation or strict contracts, ensure they allow additional properties.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;This applies to all Hardware Dev Center API responses, not just this change.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;What CeilingOSCode means&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;When your INF file&amp;nbsp;contains&amp;nbsp;multiple OS-decorated [Manufacturer] sections, each hardware ID is only applicable within a specific OS range. The CeilingOSCode reflects the &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;upper bound&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; of that range — the first OS version where the hardware ID is no longer listed in the INF.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;CeilingOsCode&amp;nbsp;value&lt;/th&gt;&lt;th&gt;Meaning&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;"WINDOWS_v100_X64_20H1_FULL"&lt;/td&gt;&lt;td&gt;This hardware ID is supported&amp;nbsp;&lt;STRONG&gt;up to but not including&lt;/STRONG&gt;&amp;nbsp;Windows 10 20H1 (build 19041) for x64&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;null&lt;/td&gt;&lt;td&gt;No upper bound detected — the hardware ID is supported on all OS versions from its floor onward&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;EM&gt;(field absent)&lt;/EM&gt;&lt;/td&gt;&lt;td&gt;The package was submitted before the feature rollout and metadata has not been regenerated&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Example&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Consider an INF with two OS-decorated manufacturer sections:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;[Manufacturer]&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;%MfgName% = Models, NTamd64.10.0...17763, NTamd64.10.0...25952&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;[Models.NTamd64.10.0...17763]&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;%DevDesc% = Install, PCI\VEN_8086&amp;amp;DEV_1234 &lt;SPAN class="lia-text-color-6"&gt;; present from build 17763&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;[Models.NTamd64.10.0...25952]&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-6"&gt;; PCI\VEN_8086&amp;amp;DEV_1234 is NOT listed here ; absent from build 25952 onward&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In this case, PCI\VEN_8086&amp;amp;DEV_1234 is only applicable for OS builds in the range [17763, 25952). The CeilingOsCode for this hardware ID would reflect the upper bound of that range.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Rollout plan&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;Starting May 8, 2026&lt;/STRONG&gt;, the&amp;nbsp;HardwareDriverMetadata&amp;nbsp;response will include the new&amp;nbsp;CeilingOsCode&amp;nbsp;field on each PnP entry in&amp;nbsp;OSPnPInfoMap&amp;nbsp;for packages submitted on or after that date. This field will&amp;nbsp;&lt;STRONG&gt;not&lt;/STRONG&gt;&amp;nbsp;be backfilled — metadata for packages submitted before this date will remain unchanged and will not include&amp;nbsp;CeilingOsCode.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; We plan to use this ceiling data to improve driver targeting accuracy on Windows Update. We will communicate those changes separately as they approach rollout.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;What you should do now&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Review your JSON parsing logic.&lt;/STRONG&gt;&amp;nbsp;If you consume&amp;nbsp;HardwareDriverMetadata&amp;nbsp;via the Hardware Dev Center API (as described in&amp;nbsp;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/windows-hardware/drivers/dashboard/driver-package-metadata" target="_blank" rel="noopener" aria-label="Driver package metadata (Opens in new window or tab)"&gt;Driver package metadata&lt;/A&gt;&amp;nbsp;) and use strict schema validation, update your parser to accept the new&amp;nbsp;CeilingOSCode&amp;nbsp;property in&amp;nbsp;OSPnPInfoMap&amp;nbsp;entries.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;No changes are required&lt;/STRONG&gt;&amp;nbsp;to your driver packages, INF files, or shipping labels at this time.&lt;/LI&gt;
&lt;LI&gt;No resubmission is required, but if you want your existing packages to take advantage of the improved OS ceiling targeting, you should resubmit them after the rollout date. The CeilingOsCode field will only be populated for packages submitted on or after that date — metadata for previously submitted packages will not change unless resubmitted.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Questions or feedback?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you have questions about these changes or encounter issues, please reach out through the support channel &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/windows-hardware/drivers/dashboard/technical-support" target="_blank" rel="noopener"&gt;Support for Partner Center Dashboard - Windows drivers | Microsoft Learn&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 23:56:34 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/hardware-dev-center/upcoming-changes-to-driver-metadata-and-publishing-validations/ba-p/4511758</guid>
      <dc:creator>Cymoki</dc:creator>
      <dc:date>2026-04-15T23:56:34Z</dc:date>
    </item>
    <item>
      <title>Announcing Log Monitor v2.2.0 Release Candidate</title>
      <link>https://techcommunity.microsoft.com/t5/containers/announcing-log-monitor-v2-2-0-release-candidate/ba-p/4511286</link>
      <description>&lt;P&gt;We are excited to announce the release candidate for&amp;nbsp;&lt;STRONG&gt;Log Monitor v2.2.0&lt;/STRONG&gt;, now available on GitHub: &lt;A href="https://github.com/microsoft/windows-container-tools/releases/tag/v2.2.0" target="_blank" rel="noopener"&gt;LogMonitor v2.2.0&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Log Monitor is an open-source tool that enables Windows containers to surface logs from multiple sources, Event Log, ETW providers, and log files,&amp;nbsp; directly to the container's stdout, making them visible to container orchestrators like Kubernetes and Azure Container Apps.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;What's New in v2.2.0&lt;/H2&gt;
&lt;H3&gt;Replaced Boost.JSON with nlohmann/json&lt;/H3&gt;
&lt;P&gt;The most significant change in this release is the replacement of the &lt;STRONG&gt;Boost.JSON&lt;/STRONG&gt; library with &lt;A href="https://github.com/nlohmann/json" target="_blank" rel="noopener"&gt;nlohmann/json&lt;/A&gt;, a lightweight, header-only C++ JSON library. This change:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Removes the heavy Boost dependency, reducing build complexity&lt;/LI&gt;
&lt;LI&gt;Simplifies the vcpkg dependency management&lt;/LI&gt;
&lt;LI&gt;Maintains full backward compatibility with existing configuration files&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;New AKS + IIS Example&lt;/H3&gt;
&lt;P&gt;We've added a complete end-to-end example for running Log Monitor with &lt;STRONG&gt;IIS on Azure Kubernetes Service (AKS)&lt;/STRONG&gt;, including deployment manifests and step-by-step documentation. This makes it easier to get started with log monitoring in production Kubernetes environments.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;Bug Fixes&lt;/H2&gt;
&lt;P&gt;This release also includes a number of important bug fixes to the configuration file parser:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;eventFormatMultiLine&lt;/STRONG&gt;&amp;nbsp;now correctly defaults to&amp;nbsp;true&amp;nbsp;when not specified in the config&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;waitInSeconds&lt;/STRONG&gt;&amp;nbsp;for&amp;nbsp;File&amp;nbsp;log sources is now correctly parsed (previously always used the 300s default)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Optional channel&amp;nbsp;level&lt;/STRONG&gt;&amp;nbsp;now correctly defaults to&amp;nbsp;Error&amp;nbsp;when omitted, instead of causing a parse failure&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Invalid log sources&lt;/STRONG&gt;&amp;nbsp;in a config file are now skipped gracefully — valid sources in the same file continue to be processed&lt;/LI&gt;
&lt;LI&gt;Fixed a&amp;nbsp;&lt;STRONG&gt;path traversal vulnerability&lt;/STRONG&gt;&amp;nbsp;in the&amp;nbsp;/Config&amp;nbsp;command-line argument&lt;/LI&gt;
&lt;LI&gt;Reduced unnecessary error log noise for&amp;nbsp;ERROR_NOT_SUPPORTED&amp;nbsp;cases&lt;/LI&gt;
&lt;/UL&gt;
&lt;HR /&gt;
&lt;H2&gt;Upgrading from v2.1.x&lt;/H2&gt;
&lt;P&gt;Upgrading to v2.2.0 is a &lt;STRONG&gt;drop-in replacement&lt;/STRONG&gt; — no changes to your configuration files are required. The config file format is identical to v2.1.x.&lt;/P&gt;
&lt;P&gt;To upgrade:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Replace&amp;nbsp;LogMonitor.exe&amp;nbsp;with the v2.2.0 binary in your container image&lt;/LI&gt;
&lt;LI&gt;Run your existing&amp;nbsp;LogMonitorConfig.json&amp;nbsp;as-is — no edits needed&lt;/LI&gt;
&lt;LI&gt;Test your container to confirm logs are still flowing as expected&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;If you were building from source, see the updated build instructions below — the build system has changed and the output path is different from v2.1.x.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;Building from Source&lt;/H2&gt;
&lt;P&gt;The build system has been updated from a standalone Visual Studio solution to a &lt;STRONG&gt;CMake + vcpkg&lt;/STRONG&gt; workflow. A single script handles everything:&lt;/P&gt;
&lt;P&gt;.\build.cmd&lt;/P&gt;
&lt;P&gt;This will automatically:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Clone vcpkg into the repo root&lt;/LI&gt;
&lt;LI&gt;Bootstrap vcpkg and install&amp;nbsp;nlohmann-json&amp;nbsp;(downloaded on first run)&lt;/LI&gt;
&lt;LI&gt;Configure the project with CMake using Visual Studio 2022&lt;/LI&gt;
&lt;LI&gt;Build&amp;nbsp;LogMonitor.exe&amp;nbsp;and&amp;nbsp;LogMonitorTests.dll&amp;nbsp;in Release configuration&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;Prerequisites:&lt;/STRONG&gt; Visual Studio 2022 with the C++ workload and Git must be on your PATH. No other dependencies need to be installed manually.&lt;/P&gt;
&lt;H3&gt;Output locations&lt;/H3&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Artifact&lt;/th&gt;&lt;th&gt;Path&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;LogMonitor.exe&lt;/td&gt;&lt;td&gt;LogMonitor\build\Release\LogMonitor.exe&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;LogMonitorTests.dll&lt;/td&gt;&lt;td&gt;LogMonitor\build\Release\LogMonitorTests.dll&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;Note for upgraders:&lt;/STRONG&gt; In v2.1.x the binary was placed at LogMonitor\x64\Release\LogMonitor.exe. If you have a Dockerfile or CI script that copies the binary by path, update it to the new location above.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;Example Configuration&lt;/H2&gt;
&lt;P&gt;Here is a basic &lt;CODE&gt;LogMonitorConfig.json&lt;/CODE&gt; that monitors Windows Event Log, an ETW provider, and a log file — covering the three source types Log Monitor supports:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt;{
  "LogConfig": {
    "sources": [
      {
        "type": "EventLog",
        "startAtOldestRecord": false,
        "eventFormatMultiLine": false,
        "channels": [
          { "name": "System", "level": "Error" },
          { "name": "Application", "level": "Warning" }
        ]
      },
      {
        "type": "File",
        "directory": "C:\\inetpub\\logs\\LogFiles",
        "filter": "*.log",
        "includeSubdirectories": true,
        "waitInSeconds": 5
      },
      {
        "type": "ETW",
        "eventFormatMultiLine": false,
        "providers": [
          {
            "providerName": "IIS: WWW Server",
            "providerGuid": "{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}",
            "level": "5"
          }
        ]
      }
    ]
  }
}&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;This config is a great starting point. Drop it alongside &lt;CODE&gt;LogMonitor.exe&lt;/CODE&gt; in your container image and adjust the channels, file paths, and ETW providers to match your application.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;Improvements to CI/CD Pipelines&lt;/H2&gt;
&lt;P&gt;We've updated both the &lt;STRONG&gt;Azure DevOps&lt;/STRONG&gt; and &lt;STRONG&gt;GitHub Actions SDL compliance&lt;/STRONG&gt; pipelines to correctly install nlohmann/json via vcpkg before building, ensuring reliable builds across all CI environments.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;Getting Started&lt;/H2&gt;
&lt;P&gt;You can download the release binaries in the&amp;nbsp;&lt;A href="https://github.com/microsoft/windows-container-tools" target="_blank" rel="noopener"&gt;repository&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;To get started with Log Monitor, check out the &lt;A href="https://github.com/microsoft/windows-container-tools/tree/main/LogMonitor" target="_blank" rel="noopener"&gt;documentation&lt;/A&gt; and the new &lt;A class="lia-external-url" href="https://github.com/microsoft/windows-container-tools/tree/main/examples/aks/iis-logmonitor" target="_blank" rel="noopener"&gt;IIS + AKS example&lt;/A&gt;.&lt;/P&gt;
&lt;HR /&gt;
&lt;H2&gt;Feedback&lt;/H2&gt;
&lt;P&gt;We'd love to hear from you! If you run into any issues or have suggestions, please open an issue on &lt;A href="https://github.com/microsoft/windows-container-tools/issues" target="_blank" rel="noopener"&gt;GitHub&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 23:50:34 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/containers/announcing-log-monitor-v2-2-0-release-candidate/ba-p/4511286</guid>
      <dc:creator>Bob_Sira</dc:creator>
      <dc:date>2026-04-15T23:50:34Z</dc:date>
    </item>
    <item>
      <title>Guidance for Building Agents on the Microsoft Sentinel Platform</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-app-assure/guidance-for-building-agents-on-the-microsoft-sentinel-platform/ba-p/4511006</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;As a Senior Product Manager | Developer Architect&amp;nbsp;on the App Assure team&amp;nbsp;working&amp;nbsp;to bring&amp;nbsp;Microsoft Sentinel&amp;nbsp;and Security Copilot&amp;nbsp;solutions to market, I&amp;nbsp;interact with&amp;nbsp;many&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;ISVs building&amp;nbsp;agents&amp;nbsp;on Microsoft Sentinel data lake for the first time.&amp;nbsp;I’ve&amp;nbsp;written&amp;nbsp;this article&amp;nbsp;to walk&amp;nbsp;you through one&amp;nbsp;possible approach&amp;nbsp;for agent development&amp;nbsp;– the&amp;nbsp;process&amp;nbsp;I use when building sample agents internally at Microsoft.&amp;nbsp;If you have questions about this, or other methods for building your agent, App Assure offers guidance through&amp;nbsp;our&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://aka.ms/SentinelAdvisoryService" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Sentinel Advisory Service&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:0,&amp;quot;335559737&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Throughout this post, I include screenshots and examples from&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://securitystore.microsoft.com/solutions/gigamon-inc.gigamon-security-posture-agent" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Gigamon’s Security Posture Insight Agent&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;This&amp;nbsp;article&amp;nbsp;assumes&amp;nbsp;you have:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;An existing SaaS or security product with accessible telemetry.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;A small ISV team (2–3 engineers + 1 PM).&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Focus on a&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;single high value scenario&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;for the first&amp;nbsp;agent.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The Composite Application Model (What You Are Building)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:278}"&gt;When I begin designing an agent, I think end-to-end, from data ingestion requirements through agentic logic, following the Composite application model.&lt;/SPAN&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The Composite Application Model consists of five layers:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Data&amp;nbsp;Sources&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;– Your product’s raw security, audit, or operational&amp;nbsp;data.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Ingestion&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;– Getting that&amp;nbsp;data&amp;nbsp;into Microsoft Sentinel.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Sentinel data lake &amp;amp; Microsoft Graph&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;– Normalization, storage, and correlation.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Agent&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;– Reasoning logic that queries&amp;nbsp;data&amp;nbsp;and produces outcomes.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;End User&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;– Security Copilot or SaaS experiences that invoke the agent.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This separation&amp;nbsp;allows for&amp;nbsp;evolving&amp;nbsp;data&amp;nbsp;ingestion and agent logic&amp;nbsp;simultaneously. It&amp;nbsp;also&amp;nbsp;helps avoid downstream surprises that require going back and&amp;nbsp;rearchitecting the entire solution.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-center"&gt;&lt;STRONG&gt;Read the full announcement here: &lt;/STRONG&gt;&lt;A class="lia-external-url" href="https://aka.ms/AppAssure_AccelerateAgentDev" target="_blank"&gt;Accelerate Agent Development: Hacks for Building with Microsoft Sentinel data lake&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Original Publication: Microsoft Sentinel Blog, April 2nd, 2026&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 23:29:13 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-app-assure/guidance-for-building-agents-on-the-microsoft-sentinel-platform/ba-p/4511006</guid>
      <dc:creator>MitchellGulledge</dc:creator>
      <dc:date>2026-04-15T23:29:13Z</dc:date>
    </item>
    <item>
      <title>Exploring Agentic Uses Cases for Microsoft Sentinel</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-app-assure/exploring-agentic-uses-cases-for-microsoft-sentinel/ba-p/4511754</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Interested in building an agent with Sentinel platform solutions but not sure where to start? This blog will help you understand some common use cases for agent development that we’ve seen across our partner ecosystem.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;SOC teams don’t need more alerts - they need fast, repeatable investigation and response workflows. Security Copilot agents can help orchestrate the steps analysts perform by correlating across the Sentinel data lake, executing targeted KQL queries, fetching related entities, enriching with context, and producing an evidence-backed decision without forcing analysts to switch tools.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:200,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Microsoft Sentinel platform is&amp;nbsp;a strong foundation&amp;nbsp;for agentic experiences because it exposes a normalized security data layer, an investigation surface based on incidents and entities, and extensive automation capabilities. An agent can use these primitives to correlate identity, endpoint, cloud, and network&amp;nbsp;telemetry;&amp;nbsp;traverse entity relationships; and&amp;nbsp;recommend remediation actions.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:200,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-center"&gt;&lt;STRONG&gt;Read the full announcement here: &lt;/STRONG&gt;&lt;A class="lia-external-url" href="https://aka.ms/AppAssure_AgenticUseCases" target="_blank"&gt;Agentic Use Cases for Developers on the Microsoft Sentinel Platform&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Original Publication: Microsoft Sentinel Blog, March 20th, 2026&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 23:21:24 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-app-assure/exploring-agentic-uses-cases-for-microsoft-sentinel/ba-p/4511754</guid>
      <dc:creator>Sai_Marapareddy</dc:creator>
      <dc:date>2026-04-15T23:21:24Z</dc:date>
    </item>
    <item>
      <title>RSAC 2026: New Sentinel Connectors Announcement</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-app-assure/rsac-2026-new-sentinel-connectors-announcement/ba-p/4452683</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Microsoft Sentinel helps organizations detect, investigate, and respond to security threats across increasingly complex environments. With the rollout of the&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/microsoft-security-blog/introducing-microsoft-sentinel-data-lake/4434280" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Microsoft Sentinel data lake&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;in the fall, and the&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/microsoftsentinelblog/app-assures-sentinel-promise-now-extends-to-microsoft-sentinel-data-lake/4454612" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;App Assure-backed Sentinel promise&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;that supports it, customers now have access to long-term, cost-effective storage for security telemetry, creating a solid foundation for emerging Agentic AI experiences.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Since&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/MicrosoftSentinelBlog/ignite-2025-new-microsoft-sentinel-connectors-announcement/4454613" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;our last announcement&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;at Ignite 2025, the Microsoft Sentinel connector ecosystem has expanded rapidly, reflecting continued investment from software development partners building for our shared customers. These connectors bring diverse security signals together, enabling correlation at scale and delivering&amp;nbsp;richer&amp;nbsp;investigation context across the Sentinel platform.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Below is a snapshot of Microsoft Sentinel connectors newly available or recently enhanced since our last announcement, highlighting the breadth of partner solutions contributing data into, and extending the value of, the Microsoft Sentinel ecosystem...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-center"&gt;&lt;STRONG&gt;Read the full announcement here: &lt;/STRONG&gt;&lt;A class="lia-external-url" href="https://aka.ms/SentinelIntegrationsRSAC26" target="_blank"&gt;RSAC 2026: New Microsoft Sentinel Connectors Announcement&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Original Publication: Microsoft Sentinel Blog, March 20th, 2026&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 23:13:52 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-app-assure/rsac-2026-new-sentinel-connectors-announcement/ba-p/4452683</guid>
      <dc:creator>JesseKopavi</dc:creator>
      <dc:date>2026-04-15T23:13:52Z</dc:date>
    </item>
    <item>
      <title>Announcing the Sentinel Advisory Service</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-app-assure/announcing-the-sentinel-advisory-service/ba-p/4467589</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;At RSAC&amp;nbsp;last year, we introduced the&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://aka.ms/AppAssure_SentinelPromiseBlog" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Microsoft S&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;entinel Promise&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;with a straightforward commitment to our customers: that third-party data ingestion for Sentinel is reliable, predictable, and scalable without the need for complex custom coding and architecting. In other words, your connectors for Sentinel will just work. That promise has guided App Assure’s work ever since, enabling customers to bring data from across their various security solutions into Sentinel to drive clearer insights and stronger protection.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Over the past year, that foundation has proven critical. As organizations move from legacy SIEM platforms to Sentinel, consistent access to high-quality third-party data remains essential, not only for detection and response, but increasingly for advanced analytics and AI-driven security experiences. With the introduction of&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://aka.ms/AppAssure_SentinelPromise_datalake" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Microsoft Sentinel data lake&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;, customers and partners can now reason over security data&amp;nbsp;cost-effectively and&amp;nbsp;at greater scale. But as many teams are discovering, unlocking those outcomes requires more than simply getting data in the door.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;At App Assure,&amp;nbsp;we’ve&amp;nbsp;seen a clear pattern&amp;nbsp;emerge.&amp;nbsp;Software companies&amp;nbsp;often revisit connector design and data modeling multiple times as they&amp;nbsp;help&amp;nbsp;our mutual customers&amp;nbsp;move from ingestion to analytics, and then again as they begin building agentic AI solutions,&amp;nbsp;whether through Security Copilot, MCP server integrations, or custom workflows.&amp;nbsp;Each iteration brings new requirements and new questions, often upstream of where teams initially started.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;That’s&amp;nbsp;why, as an extension of&amp;nbsp;our&amp;nbsp;Sentinel Promise,&amp;nbsp;we’re&amp;nbsp;excited to announce the&amp;nbsp;Sentinel Advisory Service from App Assure.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-center"&gt;&lt;STRONG&gt;Read the full announcement here: &lt;/STRONG&gt;&lt;A class="lia-external-url" href="https://aka.ms/SentinelAdvisoryService" target="_blank" rel="noopener"&gt;Extending App Assure’s Sentinel Promise through the Sentinel Advisory Service&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Original Publication: Microsoft Sentinel Blog, March 20th, 2026&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 23:12:01 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-app-assure/announcing-the-sentinel-advisory-service/ba-p/4467589</guid>
      <dc:creator>MikeAdams</dc:creator>
      <dc:date>2026-04-15T23:12:01Z</dc:date>
    </item>
    <item>
      <title>Debugging the future of work: Microsoft 365 Community Conference 2026</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-blog/debugging-the-future-of-work-microsoft-365-community-conference/ba-p/4511750</link>
      <description>&lt;P&gt;Building in the era of AI can get very challenging. That’s exactly why we’re here to help you debug, refactor, and level up at the Microsoft 365 Community Conference, happening April 21–23, 2026 in Orlando, FL. Whether you’re a developer ready to scale your skillset or a power user looking to upgrade your formatting skills, walk away with practical tools you can use immediately. We've lined up hands-on sessions and interactive workshops to help you build intelligent, adaptable agents and solutions across the Microsoft ecosystem, and supercharge your Copilot journey.&lt;/P&gt;
&lt;P&gt;Here’s what you’ll learn by attending the sessions:&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Create custom agents for your company in Microsoft 365 Copilot&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Custom agents are how you turn Copilot into &lt;EM&gt;your&lt;/EM&gt; Copilot. The conference will cover how to design, secure, and deploy company-specific agents using Microsoft technologies like Copilot Studio, Microsoft Graph connectors, Entra ID, and Azure, and how to integrate them into Microsoft 365 experiences (Teams, SharePoint, and Outlook) with the Agent Toolkit and extensibility patterns. Expect practical guidance on grounding agents in enterprise data, enforcing permissions, and shipping them through your existing dev and governance processes.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt; Build smarter with SPFx&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Want to build once and run everywhere across Microsoft 365? This is your blueprint. In the demo-driven sessions, you’ll build and ship a production-ready SPFx solution across SharePoint, Teams, Outlook, and Copilot, complete with theming, graph integration, and Entra-backed authentication. You’ll also pick up practical guidance on performance, accessibility, Application Lifecycle Management, and scaling from prototype to production. You’ll leave convinced and equipped that SPFx is the best path to building modern, scalable applications across the entire Microsoft 365 stack.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;STRONG&gt;Hook into Azure DevOps&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;AI in Azure DevOps is a workflow upgrade. Learn how built-in capabilities ADO AI Chat and the Work Item Assistant help you automate repetitive tasks, improve backlog quality, and accelerate sprint velocity. reclaim engineering time, strengthen downstream effectiveness of code-centric tools like GitHub Enterprise and GitHub Copilot, and create a more efficient, AI-powered DevOps loop.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Adopt open-source tooling where suitable&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Open-source and community tooling can help teams adopt established patterns and reduce custom implementation effort. The conference will cover how to evaluate and adopt community libraries, templates, and accelerators (for example, PnP tooling in the Microsoft 365 ecosystem) to reduce boilerplate, standardize common API and authentication approaches, and deliver solutions faster, while maintaining appropriate standards for security, maintenance, licensing, and long-term ownership.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Ready to put it into practice? &lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Branch out by attending hands-on workshops at the &lt;A href="https://m365conf.com/" target="_blank"&gt;Microsoft 365 Community Conference&lt;/A&gt; to help you get out of your tech debt. Here’s a sneak peek at what you’ll build in the workshops:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/workshop/SPFx%20Supercharged:%20Hands-on%20Bootcamp%20for%20Building%20SharePoint%20Solutions%20-%202026%20Edition/8231" target="_blank"&gt;SPFx Supercharged: Hands-on Bootcamp for Building SharePoint Solutions – 2026 edition&lt;/A&gt; with Beau Cameron, Chris Kent, David Warner, and Hugo Bernier&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/workshop/Develop%20Declarative%20Agents%20to%20Extend%20Microsoft%20365%20Copilot%20to%20Get%20the%20Most%20Out%20of%20Your%20Investment!/8341" target="_blank"&gt;Develop Declarative Agents to Extend Microsoft 365 Copilot to Get the Most out of your Investment&lt;/A&gt; with Andrew Connell&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/workshop/Mission%20UX:%20Decoding%20the%20Science%20of%20User%20Experience%20in%20Microsoft%20365%20and%20Power%20Platform/8339" target="_blank"&gt;Mission UX: Decoding the Science of User Experience in Microsoft 365 and Power Platform&lt;/A&gt; with David Warner and Hugo Bernier&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Sessions:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Advanced%20List%20Formatting/8394" target="_blank"&gt;Advanced List Formatting&lt;/A&gt; with Chris Kent&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Bring%20Your%20Own%20Intelligence:%20Extending%20Microsoft%20365%20Copilot%20Agents%20with%20Azure%20AI%20and%20Microsoft%20Graph/8369" target="_blank"&gt;Bring Your Own Intelligence: Extending Microsoft 365 Copilot Agents with Azure AI and Microsoft Graph&lt;/A&gt; with Reshmee Auckloo&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Building%20AI-Powered%20SharePoint%20Experiences%20with%20SPFx,%20Azure,%20and%20Your%20Own%20MCP%20Server/8381" target="_blank"&gt;Building AI-Powered SharePoint Experiences with SPFx, Azure, and Your Own MCP Server&lt;/A&gt; with David Opdendries&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Extending%20Microsoft%20365%20Copilot%20with%20Declarative%20Agents/8546" target="_blank"&gt;Extending Microsoft 365 Copilot with Declarative Agents&lt;/A&gt; with Paolo Pialorsi and Vesa Juvonen&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/From%20Data%20to%20Decisions:%20How%20Copilot%20in%20VS%20Code%20Empowers%20Research%20and%20Enterprise%20Teams/8483" target="_blank"&gt;From Data to Decisions: How Copilot in VS Code Empowers Research and Enterprise Teams&lt;/A&gt; with Olesya Sarajlic and Semir Sarajlic&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Getting%20Started%20with%20PnPjs/8391" target="_blank"&gt;Getting Started with PnPjs&lt;/A&gt; with Julie Turner and Beau Cameron&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/How%20to%20Fake%20Being%20an%20AI%20Expert:%20An%20Evil%20Consultant's%20Guide%20to%20AI/8393" target="_blank"&gt;How to Fake being an AI Expert: An Evil Consultant’s Guide to AI&lt;/A&gt; with Hugo Bernier&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Inside%20Microsoft:%20Reclaiming%20Engineering%20Time%20with%20AI%20in%20Azure%20DevOps/8491" target="_blank"&gt;Inside Microsoft: Reclaiming Engineering Time with AI in Azure DevOps&lt;/A&gt; with Gopal Panigrahy and Apoorv Gupta&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Manage%20Your%20Microsoft%20365%20Tenant%20and%20Assets%20with%20Azure%20Runbooks%20and%20PnP%20PowerShell/8367" target="_blank"&gt;Manage your Microsoft 365 Tenant and Assets with Azure Runbooks and PnP PowerShell&lt;/A&gt; with Rodrigo Pinto&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Navigating%20SharePoint%20Framework:%20Best%20Practices%20and%20Hidden%20Gems/8237" target="_blank"&gt;Navigating SharePoint Framework: Best Practices and Hidden Gems&lt;/A&gt; with Andrew Connell&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Powerful%20Things:%20Defeating%20the%20Demogorgon%20of%20Power%20Apps%20Inconsistency/8356" target="_blank"&gt;Powerful Things: Defeating the Demogorgon of Power Apps Inconsistency&lt;/A&gt; with David Warner&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Roundtable%20on%20the%20Next%20Wave%20of%20SPFx%20Investments%20on%20the%20Era%20of%20AI/8625" target="_blank"&gt;Roundtable on the Next Wave of SPFx Investments on the Era of AI&lt;/A&gt; with Vesa Juvonen and Alex Terentiev&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/SPFx%20Unleashed:%20One%20Codebase%20for%20Enterprise,%20Host-Aware%20Apps%20Across%20Microsoft%20365/8362" target="_blank"&gt;SPFx Unleashed: One Codebase for Enterprise, Host-Aware apps Across Microsoft 365&lt;/A&gt; with Fabio Franzini&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/SharePoint%20Knowledge%20Retrieval%20and%20Actions%20for%20Your%20Apps%20with%20Copilot%20Studio%20+%20Microsoft%20Foundry/8534" target="_blank"&gt;SharePoint knowledge Retrieval and Actions for your Apps with Copilot Studio + Microsoft Foundry&lt;/A&gt; with Patrick Rodgers and Yogesh Ratnaparkhi&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Supercharge%20Copilot%20with%20Every%20Enterprise%20Document/8494" target="_blank"&gt;Supercharge Copilot with Every Enterprise Document&lt;/A&gt; with Steve Pucelik and Shreyas Saravanan&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/The%20Power%20Apps%20Builder%E2%80%99s%20Guide%20for%20Choosing%20the%20Right%20Path/8524" target="_blank"&gt;The Power of App Builder’s Guide for Choosing the Right Path&lt;/A&gt; with April Dunnam&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Understanding%20Copilot%20Agents:%20What%20to%20Use%20When/8547" target="_blank"&gt;Understanding Copilot Agents: What to Use When&lt;/A&gt; with Paolo Pialorsi and Vesa Juvonen&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://nextgen365events.com/#!/session/Understanding%20Work%20IQ%20for%20developers/8548" target="_blank"&gt;Understanding Work IQ for Developers&lt;/A&gt; with Paolo Pialorsi&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Join us at the &lt;/STRONG&gt;&lt;A href="https://m365conf.com/#!/" target="_blank"&gt;&lt;STRONG&gt;Microsoft 365 Community Conference&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;, happening April 21–23, 2026 in Orlando, FL.&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 22:48:47 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-blog/debugging-the-future-of-work-microsoft-365-community-conference/ba-p/4511750</guid>
      <dc:creator>JonJones_MSFT</dc:creator>
      <dc:date>2026-04-15T22:48:47Z</dc:date>
    </item>
    <item>
      <title>Dissecting LLM Container Cold-Start: Where the Time Actually Goes</title>
      <link>https://techcommunity.microsoft.com/t5/linux-and-open-source-blog/dissecting-llm-container-cold-start-where-the-time-actually-goes/ba-p/4508831</link>
      <description>&lt;P&gt;Cold-start latency determines whether GPU clusters can scale to zero, how fast they can autoscale, and whether bursty or low-QPS workloads are economically viable. Most optimization effort targets the container pull path – faster registries, lazy-pull snapshotters, different compression formats. But “cold-start” is actually a composite of pull, runtime startup, and model initialization, and the dominant phase varies dramatically by inference engine. An optimization that cuts time-to-first-token for one engine can be irrelevant for another, even on identical infrastructure.&lt;/P&gt;
&lt;H2&gt;What we measured&lt;/H2&gt;
&lt;P&gt;We decomposed cold-start for two architecturally different engines – vLLM (Python/CUDA, heavy JIT compilation) and llama.cpp (C++, minimal runtime) – running Llama 3.1 8B on A100 GPUs. Every run starts from a completely clean slate: containerd stopped, all state wiped, kernel page caches dropped. No warm starts, no pre-pulling, no caching.&lt;/P&gt;
&lt;P&gt;We break TTFT into three phases: &lt;STRONG&gt;pull&lt;/STRONG&gt; (download + decompression + snapshot creation), &lt;STRONG&gt;startup&lt;/STRONG&gt; (container start → server ready), and &lt;STRONG&gt;first inference&lt;/STRONG&gt; (first API response, including model weight loading for engines that defer it). We tested across three snapshotters (overlayfs, EROFS, Nydus) with gzip and uncompressed images, pulling from same-region Azure Container Registry.&lt;/P&gt;
&lt;H2&gt;Setup&lt;/H2&gt;
&lt;P&gt;All experiments ran on an NVIDIA A100 80GB (Azure NC24ads_A100_v4), pulling from same-region Azure Container Registry. Images were built with &lt;A href="https://github.com/kaito-project/aikit" target="_blank" rel="noopener"&gt;AIKit&lt;/A&gt;, which produces &lt;A href="https://github.com/modelpack/model-spec" target="_blank" rel="noopener"&gt;ModelPack&lt;/A&gt;-compliant OCI artifacts with uncompressed model weight layers, Cosign signatures, SBOMs, and provenance attestations. These are supply chain properties you lose when model weights live on a shared drive.&lt;/P&gt;
&lt;H2&gt;vLLM: startup dominates, pull barely matters&lt;/H2&gt;
&lt;P&gt;vLLM loads model weights, runs torch.compile, captures CUDA graphs for multiple batch shapes, allocates KV cache, and warms up, all before serving the first request. This takes ~176 seconds regardless of how fast the image arrived.&lt;/P&gt;
&lt;P&gt;The breakdown makes the bottleneck obvious: the green bar (startup) is nearly constant across all four variants, swamping any pull-time differences.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Figure 1: vLLM cold-start breakdown. Startup (green, ~176s) dominates regardless of snapshotter.&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Method&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Pull&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Startup&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;1st Inference&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;TTFT&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;overlayfs (gzip)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;140.8s ±5.5&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;176.0s ±3.2&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;0.16s&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;317.2s ±2.2&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;overlayfs (uncomp.)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;129.9s ±3.3&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;180.8s ±12.2&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;0.16s&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;310.9s ±8.9&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;EROFS (gzip)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;158.9s ±8.8&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;175.3s ±0.8&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;0.16s&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;334.4s ±8.7&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;EROFS (uncomp.)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;166.3s ±21.1&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;177.3s ±12.8&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;0.16s&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;343.8s ±8.2&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;EM&gt;Llama 3.1 8B Q4_K_M, ~14 GB image, n=2–3 per variant. ± = sample standard deviation. Three of twelve runs hit intermittent NVIDIA container runtime crashes (exit code 120, unrelated to snapshotters) and were excluded. We excluded Nydus because FUSE-streaming the 14 GB Python/CUDA stack caused startup to exceed 900s. Steady-state inference: ~0.134s across all snapshotters.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;44% pull, 56% startup.&lt;/STRONG&gt; Dropping gzip saves 11 seconds on a 317-second cold start (&lt;STRONG&gt;1.02x&lt;/STRONG&gt;). If your engine is vLLM, optimizing the pull pipeline is the wrong lever.&lt;/P&gt;
&lt;H2&gt;llama.cpp: pull dominates, compression is the bottleneck&lt;/H2&gt;
&lt;P&gt;llama.cpp has the opposite profile. Its C++ runtime starts in 2–5 seconds, so the pull becomes the majority of cold-start. This is where filesystem and compression choices actually matter.&lt;/P&gt;
&lt;P&gt;Here the picture flips. Pull (blue) is the widest bar, and the gzip-to-uncompressed difference is visible at a glance:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Figure 2: llama.cpp cold-start breakdown. Pull time (blue) dominates for gzip variants.&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Method&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Pull&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Startup&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;1st Inference&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;TTFT&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;overlayfs (gzip)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;88.3s ±0.2&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;5.3s ±0.5&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;45.1s ±1.4&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;138.8s ±0.8&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;overlayfs (uncomp.)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;56.3s ±3.1&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;2.0s ±0.0&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;44.2s ±0.1&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;102.4s ±3.1&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;EROFS (gzip)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;92.0s ±2.3&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;6.1s ±0.5&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;44.0s ±0.2&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;142.3s ±1.9&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;EROFS (uncomp.)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;58.8s ±0.6&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;2.0s ±0.0&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;44.0s ±0.1&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;104.8s ±0.5&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;EM&gt;Llama 3.1 8B Q4_K_M, ~8 GB image, n=3 per variant, 12/12 runs succeeded. First inference includes model weight loading into GPU VRAM (~43s) plus token generation (~1.5s). Steady-state inference: ~1.5s across all snapshotters.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;64% pull, 4% startup, 33% model loading.&lt;/STRONG&gt; Dropping gzip saves 32 seconds (&lt;STRONG&gt;1.35x&lt;/STRONG&gt;) with zero infrastructure changes.&lt;/P&gt;
&lt;H2&gt;Engine comparison&lt;/H2&gt;
&lt;P&gt;Placed side by side, the two engines tell opposite stories about the same infrastructure:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Figure 3: Where cold-start time goes. vLLM is compute-bound; llama.cpp is pull-bound.&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;vLLM&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;llama.cpp&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Time saved by dropping gzip&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;11s (3% of TTFT)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;32s (23% of TTFT)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Startup time&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;176–181s&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;2–5s&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Speedup from dropping gzip&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;1.02x&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;1.35x&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;Same optimization, completely different impact. Before investing in pull optimization (compression changes, lazy-pull infrastructure, registry tuning), profile your engine’s startup. If startup dominates, the pull isn’t where the time goes.&lt;/P&gt;
&lt;H2&gt;Why gzip hurts: model weights are incompressible&lt;/H2&gt;
&lt;P&gt;The AIKit image is 8.7 GB uncompressed, 6.6 GB with gzip (a modest 0.76x ratio). But this ratio hides what’s really happening:&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Layer type&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Size&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;% of image&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Gzip ratio&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Model weights (GGUF)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;4.9 GB&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;56%&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;~1.00x (quantized binary, no redundancy)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;CUDA + system layers&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;~3.8 GB&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;44%&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;~0.46x (compresses well)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 25.00%" /&gt;&lt;col style="width: 25.00%" /&gt;&lt;col style="width: 25.00%" /&gt;&lt;col style="width: 25.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;The GGUF file is already quantized to 4-bit precision. Gzip reads every byte, burns CPU, and produces output the same size as the input. You’re paying full decompression cost on 56% of the image for zero size reduction.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Bottom line:&lt;/STRONG&gt; gzip is doing real work on less than half your image and producing zero savings on the rest. Dropping it costs nothing and removes a bottleneck from every cold start.&lt;/P&gt;
&lt;H2&gt;The Nydus prefetch finding&lt;/H2&gt;
&lt;P&gt;If decompression is the bottleneck, what about skipping the full pull entirely?&lt;/P&gt;
&lt;P&gt;Nydus lazy-pull takes a fundamentally different approach: it fetches only manifest metadata during “pull” (~0.7s), then streams model data on-demand via FUSE as the container reads it. Nydus TTFT isn’t directly comparable to the full-pull methods above because the download cost shifts from the pull column to the inference column.&lt;/P&gt;
&lt;P&gt;With prefetch enabled, Nydus achieved 77.8s TTFT for llama.cpp vs 139.1s for overlayfs gzip. The critical detail is the prefetch_all flag:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Figure 4: Nydus prefetch ON vs OFF. One config flag, 2.87x difference. Overlayfs gzip shown as baseline.&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Configuration&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;1st Inference&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;TTFT&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Nydus, prefetch ON&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;72.4s ±0.6&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;77.8s ±0.5&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Nydus, prefetch OFF&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;218.6s ±2.9&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;223.4s ±2.9&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;overlayfs gzip (baseline)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;44.0s ±0.4&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;139.1s ±1.9&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;EM&gt;n=3 per config, 9/9 runs succeeded. Data: &lt;/EM&gt;&lt;A href="https://github.com/robert-cronin/erofs-repro-repo/blob/main/results/03-prefetch-config-20260401-030725.csv" target="_blank" rel="noopener"&gt;&lt;EM&gt;03-prefetch-config-20260401-030725.csv&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;One flag in nydusd-config.json, &lt;STRONG&gt;2.87x difference&lt;/STRONG&gt;. Without prefetch, every model weight page fault fires an individual HTTP range request to the registry. With prefetch_all=true, Nydus streams the full blob in the background while the container starts, so chunks arrive ahead of the GPU’s read pattern.&lt;/P&gt;
&lt;P&gt;Even with prefetch, Nydus first inference is ~28s slower than overlayfs (72s vs 44s) due to FUSE kernel-user roundtrips during model mmap. Nydus wins on total TTFT because it eliminates the blocking pull, but this overhead means its advantage shrinks on faster networks.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Bottom line:&lt;/STRONG&gt; Nydus lazy-pull can halve cold-start for pull-bound engines, but only if prefetch is on. Treat prefetch_all=true as a hard requirement, not a tuning knob.&lt;/P&gt;
&lt;H2&gt;How to apply these findings&lt;/H2&gt;
&lt;H3&gt;Pick your optimization by engine type&lt;/H3&gt;
&lt;P&gt;The right optimization depends on where your engine spends its cold-start time. This table summarizes the tradeoffs:&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Engine type&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Dominant phase&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Speedup from dropping gzip&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Nydus viable?&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Best optimization&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;What NOT to optimize&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;vLLM / TensorRT-LLM&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Startup (56%)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;1.02x&lt;/STRONG&gt; — negligible&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;No — FUSE + Python/CUDA stack exceeded 900s in our tests&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Cache torch.compile artifacts and CUDA graphs&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Pull pipeline (it’s &amp;lt;44% of TTFT and already fast enough)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;llama.cpp / ONNX Runtime&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Pull (64%)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;1.35x&lt;/STRONG&gt; — 32s saved&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Yes, with prefetch_all=true (77.8s TTFT vs 139s gzip baseline)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Drop gzip on weight layers; consider lazy-pull on slow links&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Startup (already 2–5s; no room to improve)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Large dense models (70B+)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Pull (projected)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;gt;1.35x&lt;/STRONG&gt; — scales with image size&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Yes, strongest case for lazy-pull&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Uncompressed or zstd; Nydus prefetch on bandwidth-constrained links&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;—&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 16.67%" /&gt;&lt;col style="width: 16.67%" /&gt;&lt;col style="width: 16.67%" /&gt;&lt;col style="width: 16.67%" /&gt;&lt;col style="width: 16.67%" /&gt;&lt;col style="width: 16.67%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H3&gt;Recommendations&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Profile your engine’s startup before touching the pull pipeline.&lt;/STRONG&gt; If CUDA compilation dominates (vLLM, TensorRT-LLM), no amount of pull optimization will help. Cache torch.compile artifacts and CUDA graphs instead — production clusters that do this reduce vLLM restarts to ~45–60s.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Drop gzip on model weight layers.&lt;/STRONG&gt; For pull-bound engines (llama.cpp, ONNX Runtime), this is the single highest-ROI change: build with --output=type=image,compression=uncompressed, or use &lt;A href="https://github.com/kaito-project/aikit" target="_blank" rel="noopener"&gt;AIKit&lt;/A&gt;, which defaults to uncompressed weight layers. Quantized model weights (GGUF, safetensors) are already dense binary — gzip burns CPU for a ~1.00x compression ratio on 56% of the image.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;If using Nydus, set &lt;/STRONG&gt;&lt;STRONG&gt;prefetch_all=true&lt;/STRONG&gt;&lt;STRONG&gt;.&lt;/STRONG&gt; Without it, every weight page fault triggers an individual HTTP range request and cold-start is &lt;STRONG&gt;2.87x slower&lt;/STRONG&gt;. This is a single flag in nydusd-config.json.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Package models as signed OCI artifacts, not volume mounts.&lt;/STRONG&gt; Three CNCF projects implement this pipeline end-to-end: &lt;A href="https://github.com/modelpack/model-spec" target="_blank" rel="noopener"&gt;ModelPack&lt;/A&gt; defines the OCI artifact spec (model metadata, architecture, quantization format). &lt;A href="https://github.com/kaito-project/aikit" target="_blank" rel="noopener"&gt;AIKit&lt;/A&gt; builds ModelPack-compliant images with Cosign signatures, SBOMs, and provenance attestations — supply chain guarantees you lose when weights live on a shared drive. &lt;A href="https://github.com/kaito-project/kaito" target="_blank" rel="noopener"&gt;KAITO&lt;/A&gt; handles the Kubernetes deployment: GPU node provisioning, inference engine setup, and API exposure. Together they cover packaging → build → deploy, and they produce the exact image layout these benchmarks measured.&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;Why this matters: the cost of cold-start&lt;/H3&gt;
&lt;P&gt;On an A100 node (~$3–4/hr on major clouds), a 5-minute vLLM cold start burns ~$0.30 in idle GPU time per pod. That sounds small until you multiply it: a cluster that scales 50 pods to zero overnight and restarts them each morning wastes ~$15/day — over $5,000/year — on GPUs sitting idle during pull and CUDA compilation. More critically, cold-start latency determines whether scale-to-zero is feasible at all. If cold-start exceeds your SLO (say, 30s for an interactive app), you’re forced to keep warm replicas running 24/7, which can 2–3x your GPU spend. Cutting llama.cpp cold-start from 139s to 103s by dropping gzip doesn’t just save 36 seconds — it moves the needle on whether autoscaling is viable for your workload.&lt;/P&gt;
&lt;H2&gt;What this doesn’t cover&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;zstd compression:&lt;/STRONG&gt; decompresses 5–10x faster than gzip; containerd supports it natively. The most obvious gap in this analysis.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Pre-pulling and caching:&lt;/STRONG&gt; production clusters pre-pull images and cache CUDA graphs, reducing vLLM restarts to ~45–60s. We measure the cold case: scale-from-zero events and first-time deployments.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Volume-mounted weights:&lt;/STRONG&gt; skips the pull entirely, but loses supply chain properties (signing, scanning, provenance).&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Larger models (70B+):&lt;/STRONG&gt; pull would dominate more, increasing the gzip penalty.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Sample size:&lt;/STRONG&gt; n=3 per AIKit variant, n=2–3 per vLLM variant. The gzip finding for llama.cpp is statistically significant (Welch’s t-test, p=0.0014, Cohen’s d=16.3; &lt;A href="https://github.com/robert-cronin/erofs-repro-repo/blob/main/results/verify-significance.py" target="_blank" rel="noopener"&gt;verification script&lt;/A&gt;). Other comparisons are directional.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Reproduce it&lt;/H2&gt;
&lt;P&gt;Scripts and raw data: &lt;A href="https://github.com/robert-cronin/erofs-repro-repo" target="_blank" rel="noopener"&gt;erofs-repro-repo&lt;/A&gt;. Data for this post: &lt;A href="https://github.com/robert-cronin/erofs-repro-repo/blob/main/results/02-aikit-five-way-20260401-004716.csv" target="_blank" rel="noopener"&gt;02-aikit-five-way-20260401-004716.csv&lt;/A&gt; and &lt;A href="https://github.com/robert-cronin/erofs-repro-repo/blob/main/results/01-vllm-four-way-20260331-113848.csv" target="_blank" rel="noopener"&gt;01-vllm-four-way-20260331-113848.csv&lt;/A&gt;. Full analysis: &lt;A href="https://github.com/robert-cronin/erofs-benchmarks/blob/main/docs/report/README.md" target="_blank" rel="noopener"&gt;technical report&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 22:38:11 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/linux-and-open-source-blog/dissecting-llm-container-cold-start-where-the-time-actually-goes/ba-p/4508831</guid>
      <dc:creator>robcronin</dc:creator>
      <dc:date>2026-04-15T22:38:11Z</dc:date>
    </item>
    <item>
      <title>Weekly Roundup for Skilling Rooms (Groups)</title>
      <link>https://techcommunity.microsoft.com/t5/skills-hub-discussions/weekly-roundup-for-skilling-rooms-groups/m-p/4511747#M7104</link>
      <description>&lt;P&gt;Hello Skills Hub Community! Below is a summary of what is happening within our Skilling Rooms (Groups) so that you can stay in the loop and discover something new. To get frequent updates of their content, make sure to follow/join the group that interests you.&lt;/P&gt;
&lt;P&gt;Find the full list of our Skilling Rooms (Groups) here: &lt;A href="https://techcommunity.microsoft.com/category/skills-hub?tab=grouphub" target="_blank"&gt;Skilling Room Directory&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Skilling Room&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Details&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Date/Time&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Link to post&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/group/eec4a25f-7f05-4073-9725-4168fe70ef3c" target="_blank"&gt;Azure Cloud Commanders&lt;/A&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Event: Global Azure ANZ&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Friday, Apr 17, 2026, 02:00 PM PDT&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/event/905f6364-959b-4f0a-bb85-10c14d665ed6/global-azure-anz-2026/4510980" target="_blank"&gt;Global Azure ANZ 2026 | Microsoft Community Hub&lt;/A&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/group/dc1b5c05-dc75-49c8-af76-14510be96e65" target="_blank"&gt;The Fabric Café&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Event: FabCon + SQLCon 2026 Recap: What's New in Microsoft Fabric&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Wednesday, Apr 22, 2026, 06:00 PM PDT&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/event/7c90bbf5-9aac-425c-b9b6-798cc8285058/fabcon--sqlcon-2026-recap-what%E2%80%99s-new-in-microsoft-fabric/4511435" target="_blank"&gt;FabCon + SQLCon 2026 Recap: What’s New in Microsoft Fabric | Microsoft Community Hub&lt;/A&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/group/ca063a86-0452-4972-86d7-2065859b6da7" target="_blank"&gt;Azure Cantonese Hub 粵語台&lt;/A&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Discussion: AI Agents 時代正式開始 — 你準備好未？&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/discussions/b1baa7fb-1040-4cb4-9043-85e9b3a76aa5/ai-agents-%E6%99%82%E4%BB%A3%E6%AD%A3%E5%BC%8F%E9%96%8B%E5%A7%8B-%E2%80%94-%E4%BD%A0%E6%BA%96%E5%82%99%E5%A5%BD%E6%9C%AA%EF%BC%9F/4510543" target="_blank"&gt;AI Agents 時代正式開始 — 你準備好未？ | Microsoft Community Hub&lt;/A&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/group/e2fdc9f8-d63d-4a92-a105-852590726fca" target="_blank"&gt;Copilot &amp;amp; Power Platform with Rishona&lt;/A&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Discussion: &lt;A href="https://techcommunity.microsoft.com/discussions/6435049c-3220-41f1-b619-8e0440cd562b/agent-builder-build-an-agent-that-follows-your-communication-guidelines/4506594" target="_blank"&gt;Agent Builder: Build an agent that follows your communication guidelines&lt;/A&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/discussions/6435049c-3220-41f1-b619-8e0440cd562b/agent-builder-build-an-agent-that-follows-your-communication-guidelines/4506594" target="_blank"&gt;https://techcommunity.microsoft.com/discussions/6435049c-3220-41f1-b619-8e0440cd562b/agent-builder-build-an-agent-that-follows-your-communication-guidelines/4506594&lt;/A&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/group/dc1b5c05-dc75-49c8-af76-14510be96e65" target="_blank"&gt;The Fabric Café&lt;/A&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Weekly #FabricCoffee sessions at Microsoft Fabric Cafe&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="https://www.youtube.com/@MicrosoftFabricCafe" target="_blank"&gt;https://www.youtube.com/@MicrosoftFabricCafe&lt;/A&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 15 Apr 2026 22:20:03 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/skills-hub-discussions/weekly-roundup-for-skilling-rooms-groups/m-p/4511747#M7104</guid>
      <dc:creator>AmyCloud</dc:creator>
      <dc:date>2026-04-15T22:20:03Z</dc:date>
    </item>
    <item>
      <title>Simplified controls for managing external collaboration in Teams admin center</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-teams-for-small-and/simplified-controls-for-managing-external-collaboration-in-teams/ba-p/4511735</link>
      <description>&lt;P&gt;We know that collaboration with customers, vendors, and partners outside of your small or medium business is critical to your success. We also know that many SMBs have limited IT admin resources, and setup can be a challenge.&lt;/P&gt;
&lt;P&gt;To make external collaboration setup in Microsoft Teams easier for your SMB, we have introduced a new overview page in Teams admin center that consolidates settings into a single view and have simplified how we describe the settings you can apply.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;From the new settings, you can select from pre-configured modes that quickly set smart defaults that are right for your business.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If your business is open to external collab across chats, calls, meetings, and teams and channels, you can select Open mode to quickly get setup&lt;/LI&gt;
&lt;LI&gt;If your business is more conservative, you can select Controlled to align to pre-existing external collab defaults&lt;/LI&gt;
&lt;LI&gt;If you want full control of what is enabled and disabled for your business, you can always select Custom as well&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;We're looking forward to hearing your feedback about the new settings experience.&lt;/P&gt;
&lt;P&gt;Learn more about how you can use these settings, &lt;A class="lia-external-url" href="https://learn.microsoft.com/microsoftteams/unified-external-collab-settings-management-experience" target="_blank" rel="noopener"&gt;Unified external collab settings management&amp;nbsp;&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 21:48:31 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-teams-for-small-and/simplified-controls-for-managing-external-collaboration-in-teams/ba-p/4511735</guid>
      <dc:creator>angelamsft</dc:creator>
      <dc:date>2026-04-15T21:48:31Z</dc:date>
    </item>
    <item>
      <title>Save the date for Agent 365 live AMA</title>
      <link>https://techcommunity.microsoft.com/t5/agent-365-blog/save-the-date-for-agent-365-live-ama/ba-p/4511734</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Microsoft Agent 365--generally available May 1, 2026--is a control plane that empowers IT admins, Security Operations analysts, Identity and Network Security admins, and Data Security &amp;amp; Compliance admins to observe, govern, and secure all agents for their organization.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;We’ll demonstrate how to get started and answer your questions about licensing and functionality in this live 'Ask Microsoft Anything' with product and engineering team experts!&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335557856&amp;quot;:16777215,&amp;quot;335559739&amp;quot;:120,&amp;quot;335559740&amp;quot;:310}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 data-start="191" data-end="213"&gt;How to Participate&lt;/H3&gt;
&lt;UL data-start="215" data-end="861"&gt;
&lt;LI data-start="215" data-end="355"&gt;&lt;STRONG&gt;&lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-tkb" href="https://techcommunity.microsoft.com/kb/gettingstarted/getting-started-on-the-tech-community/3512627" target="_blank" rel="noopener" data-lia-auto-title="Register for the Microsoft Tech Community" data-lia-auto-title-active="0"&gt;Register for the Microsoft Tech Community&lt;/A&gt;&amp;nbsp;&lt;/STRONG&gt;using your email if you haven’t already. This allows you to post comments and ask questions.&lt;/LI&gt;
&lt;LI data-start="356" data-end="552"&gt;&lt;STRONG&gt;&lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-occasion" href="https://techcommunity.microsoft.com/event/microsoft365-events/live-ama-microsoft-agent-365/4511700" target="_blank" rel="noopener" data-lia-auto-title="Visit the AMA event page" data-lia-auto-title-active="0"&gt;Visit the event page&lt;/A&gt;&amp;nbsp;&lt;/STRONG&gt;now to add the AMA to your calendar, RSVP, and submit questions via the comment area.&lt;/LI&gt;
&lt;LI data-start="553" data-end="631"&gt;&lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-occasion" href="https://techcommunity.microsoft.com/event/microsoft365-events/live-ama-microsoft-agent-365/4511700" target="_blank" rel="noopener" data-lia-auto-title="Watch the session live or catch the recording on demand" data-lia-auto-title-active="0"&gt;&lt;STRONG data-start="555" data-end="614"&gt;Watch the session live or catch the recording on demand&lt;/STRONG&gt;&lt;/A&gt;&amp;nbsp;after the event.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Hope to see you there! Come ready to learn and ask our experts all of your burning questions!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Nichole&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 21:34:06 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/agent-365-blog/save-the-date-for-agent-365-live-ama/ba-p/4511734</guid>
      <dc:creator>Nichole_Peterson</dc:creator>
      <dc:date>2026-04-15T21:34:06Z</dc:date>
    </item>
    <item>
      <title>Enforce Cost Limits on KQL Queries and Notebooks in the Microsoft Sentinel Data Lake</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/enforce-cost-limits-on-kql-queries-and-notebooks-in-the/ba-p/4511329</link>
      <description>&lt;P&gt;Security teams face a constant tension: run the advanced analytics you need to stay ahead of threats, or hold back to keep costs predictable. Until now, Microsoft Sentinel let you set alerts to get notified when data lake usage approached a threshold — useful for awareness, but not enough to prevent budget overruns.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Today, we're excited to announce&amp;nbsp;&lt;STRONG&gt;threshold enforcement for KQL queries and notebooks in the Microsoft Sentinel data lake&lt;/STRONG&gt;. With this release, you can go beyond notifications and automatically block new queries and jobs when your configured usage limits are exceeded. Your analysts keep working confidently, and your budgets stay protected.&lt;/P&gt;
&lt;H2&gt;&lt;U&gt;What's new&lt;/U&gt;&lt;/H2&gt;
&lt;P&gt;Previously, the Configure Policies experience in Microsoft Sentinel let you set threshold-based alerts for data lake usage. You'd receive an email notification when consumption approached a limit — but nothing stopped usage from continuing past that point.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now, you can enable&amp;nbsp;&lt;STRONG&gt;enforcement&lt;/STRONG&gt;&amp;nbsp;on those same policies. When enforcement is turned on and a threshold is exceeded, Microsoft Sentinel blocks new queries, jobs, and notebook sessions with a clear "Limit exceeded" error. No more surprise cost spikes from runaway queries or analysts who mistakenly run heavy workloads against data lake data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Enforcement is supported for two data lake capability categories:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Data Lake Query&lt;/STRONG&gt; — interactive KQL queries and KQL jobs (scheduled and ad hoc)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Advanced Data Insights&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;&amp;nbsp;— notebook runs and notebook jobs&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;U&gt;How it works&lt;/U&gt;&lt;/H2&gt;
&lt;H4&gt;Consistent controls across KQL queries and notebooks&lt;/H4&gt;
&lt;P&gt;Cost controls are enforced consistently across Sentinel data lake workloads, regardless of how analysts access the data. The same policy applies whether someone is running a quick investigation or executing a long-running job.&lt;/P&gt;
&lt;P&gt;Controls apply to:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Interactive KQL queries in the data lake explorer in the Defender portal&lt;/LI&gt;
&lt;LI&gt;KQL jobs, including scheduled and ad-hoc jobs&lt;/LI&gt;
&lt;LI&gt;Notebook queries run through the Microsoft Sentinel VS Code extension&lt;/LI&gt;
&lt;LI&gt;Notebook jobs running as background or scheduled workloads&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This ensures advanced analytics remain powerful — but predictable and governed.&lt;/P&gt;
&lt;H4&gt;Clear enforcement without disruption&lt;/H4&gt;
&lt;P&gt;Enforcement is applied at execution and validation boundaries — not retroactively. This means:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Queries or jobs already running are not interrupted.&lt;/STRONG&gt; In-flight work completes normally.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;New queries, jobs, or notebook sessions are blocked&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt; once limits are exceeded.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Failures occur early &lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;(for example, during validation), avoiding wasted compute.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;From an analyst's perspective, enforcement is explicit and consistent. Clear messaging appears in query editors, job validation responses, and notebooks when limits are reached — so your team always understands what happened and what to do next.&lt;/P&gt;
&lt;H2&gt;&lt;BR /&gt;&lt;U&gt;How to set it up&lt;/U&gt;&lt;/H2&gt;
&lt;H4&gt;Prerequisites&lt;/H4&gt;
&lt;P&gt;To configure enforcement policies, ensure you have the necessary permissions that are outlined here: &lt;A href="https://learn.microsoft.com/en-us/azure/sentinel/billing-monitor-costs?source=recommendations#microsoft-sentinel-cost-management-in-the-microsoft-defender-portal" target="_blank" rel="noopener"&gt;Manage and monitor costs for Microsoft Sentinel | Microsoft Learn&lt;/A&gt;.&lt;/P&gt;
&lt;H4&gt;Where to access&lt;/H4&gt;
&lt;P&gt;Navigate to&amp;nbsp;&lt;STRONG&gt;Microsoft Sentinel &amp;gt; Cost management &amp;gt; Configure Policies&lt;/STRONG&gt; in the Microsoft Defender portal (&lt;U&gt;https://security.microsoft.com&lt;/U&gt;).&lt;/P&gt;
&lt;H4&gt;Step-by-step configuration&lt;/H4&gt;
&lt;OL&gt;
&lt;LI&gt;In&amp;nbsp;&lt;STRONG&gt;Microsoft Sentinel &amp;gt; Cost management&lt;/STRONG&gt;, select&amp;nbsp;&lt;STRONG&gt;Configure Policies&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Select the policy you want to edit (Data Lake Query or Advanced Data Insights).&lt;/LI&gt;
&lt;LI&gt;Enter the&amp;nbsp;&lt;STRONG&gt;total threshold value&lt;/STRONG&gt;&amp;nbsp;for the policy.&lt;/LI&gt;
&lt;LI&gt;Enter an&amp;nbsp;&lt;STRONG&gt;alert percentage&lt;/STRONG&gt;&amp;nbsp;to receive email notifications before the threshold is reached.&lt;/LI&gt;
&lt;LI&gt;Enable the&amp;nbsp;&lt;STRONG&gt;Enforcement&lt;/STRONG&gt;&amp;nbsp;toggle to block usage after the threshold is exceeded.&lt;/LI&gt;
&lt;LI&gt;Review your settings and select&amp;nbsp;&lt;STRONG&gt;Submit&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Once enforcement is active, administrators receive advance notifications as usage approaches the threshold. If circumstances change — for example, during an active breach — you can adjust the threshold, disable enforcement temporarily, or modify the policy to give your SOC the room it needs to respond without being blocked.&lt;/P&gt;
&lt;H2&gt;&lt;U&gt;Real-world scenario: Preventing unexpected cost spikes&lt;/U&gt;&lt;/H2&gt;
&lt;P&gt;Consider a large SOC that ingests roughly 6 TB of data per day, with 1 TB going to the Sentinel Analytics tier and the remaining 5 TB going to the Sentinel data lake. Analysts are proactively hunting for threats, performing investigations, and running automation. Tier 3 analysts are also running Jupyter Notebooks against the Sentinel data lake to build graphs, execute queries, and automate incident investigation and remediation with code.&lt;/P&gt;
&lt;P&gt;Last month, the SOC experienced a cost spike after a newly hired analyst ran large, frequent queries against data lake data — mistakenly thinking it was Analytics tier. The SOC manager needs to prevent this from happening again.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With enforcement now available, the SOC manager can navigate to&amp;nbsp;&lt;STRONG&gt;Microsoft Sentinel &amp;gt; Cost management &amp;gt; Configure Policies&lt;/STRONG&gt;&amp;nbsp;in the Defender portal and set up two policies:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A &lt;STRONG&gt;Data Lake Query&lt;/STRONG&gt;&amp;nbsp;policy to cap data processing for KQL queries&lt;/P&gt;
&lt;img /&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;&lt;BR /&gt;&lt;/STRONG&gt;An &lt;STRONG&gt;Advanced Data Insights&lt;/STRONG&gt;&amp;nbsp;policy to cap notebook compute consumption&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With these policies in place, the SOC manager gets notified in advance when consumption approaches the threshold while having confidence that the thresholds set will be enforced to prevent unexpected consumption and cost. Analysts can continue their day-to-day work without worrying about accidental overages. Should a breach scenario demand more capacity, the SOC manager can quickly adjust or temporarily disable the policies — keeping the team unblocked while maintaining overall budget governance. Outside of a breach scenario, should the same SOC analyst generate large amounts of data scanned, the threshold will take action and prevent queries from being performed.&lt;/P&gt;
&lt;H2&gt;Learn more&lt;/H2&gt;
&lt;P&gt;With enforceable KQL and notebook guardrails, Microsoft Sentinel data lake helps security teams scale advanced analytics with confidence. You can control usage in production and keep investigations moving — without tradeoffs between visibility, analytics, and budget.&lt;/P&gt;
&lt;P&gt;To get started, visit the documentation:&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/azure/sentinel/billing-monitor-costs?source=recommendations#notification" target="_blank" rel="noopener"&gt;Manage and monitor costs for Microsoft Sentinel | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We'd love to hear your feedback. Share your thoughts in the comments below or reach out through your usual Microsoft support channels.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 20:26:56 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/enforce-cost-limits-on-kql-queries-and-notebooks-in-the/ba-p/4511329</guid>
      <dc:creator>shubh_khandhadia</dc:creator>
      <dc:date>2026-04-15T20:26:56Z</dc:date>
    </item>
    <item>
      <title>Outlook for Android no longer grouping contact info...</title>
      <link>https://techcommunity.microsoft.com/t5/outlook/outlook-for-android-no-longer-grouping-contact-info/m-p/4511719#M28253</link>
      <description>&lt;P&gt;I just started having an odd issue with all the contacts in the Outlook app on my Android phone...&lt;/P&gt;&lt;P&gt;For contacts that have multiple contact information (ie: a mobile number, house number, and or email address) listed, the app is breaking out the contacts as separate contacts.&lt;/P&gt;&lt;P&gt;Example: If I have James Kirk listed in my phone with a number of 555-111-1701 and an email address as jkirk@fakedomain, he no longer shows up on my phone as James Kirk; instead there are two contacts - one called 555-111-1701 and the other jkirk@fakedomain.&lt;/P&gt;&lt;P&gt;Contacts show up correctly in the Outlook desktop app and on the Outlook website.&lt;/P&gt;&lt;P&gt;If I modify or add contacts on the desktop app, the change is almost immediately reflected on the Outlook website.&lt;/P&gt;&lt;P&gt;Some of the troubleshooting I've done already:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Cleared the app cache from the Phone's settings&lt;/LI&gt;&lt;LI&gt;Reset the account from within the app&lt;/LI&gt;&lt;LI&gt;disabled/re-enabled contact synchronization&lt;/LI&gt;&lt;LI&gt;Modified a contact on the desktop app to see if they'd re-sync correctly - had no effect&lt;/LI&gt;&lt;LI&gt;Deleted the account (the contacts disappear when deleted, but come back janky when it's re-added)&lt;/LI&gt;&lt;LI&gt;Uninstalled and re-installed the app&lt;/LI&gt;&lt;LI&gt;Rebooted the phone (for good measure)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;uninstalling and re-installing the app seemed to fix the problem initially. Right when i setup the app again all the contacts came back looking correct. It's been several hours since I did this and i just took a look at my contact list and it's all janky again.&lt;/P&gt;&lt;P&gt;It's not just a visual issue on the phone - it's affecting Contact synchronization with the phone's contact app, and everything else on the phone that relies on contacts.&lt;/P&gt;&lt;P&gt;Any idea what's going on and how to fix it for good?&lt;BR /&gt;&lt;BR /&gt;TIA&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 20:25:01 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/outlook/outlook-for-android-no-longer-grouping-contact-info/m-p/4511719#M28253</guid>
      <dc:creator>Userzero</dc:creator>
      <dc:date>2026-04-15T20:25:01Z</dc:date>
    </item>
    <item>
      <title>March 2026 Recap: Azure Database for PostgreSQL</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-blog-for-postgresql/march-2026-recap-azure-database-for-postgresql/ba-p/4511432</link>
      <description>&lt;P&gt;Hello Azure community,&lt;/P&gt;
&lt;P&gt;March was packed with major feature announcements for &lt;A class="lia-external-url" href="https://learn.microsoft.com/azure/postgresql/" target="_blank" rel="noopener"&gt;Azure Database for PostgreSQL&lt;/A&gt;. From the general availability of SSDv2, cascading read replicas, to online migration and new monitoring capabilities for logical replication slots to help ensure slots are preserved, this update brings a range of improvements to performance, scale, and reliability.&amp;nbsp;&lt;/P&gt;
&lt;H1&gt;Features&lt;/H1&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-ssdv2" target="_self" rel="noopener"&gt;SSDv2 - Generally Available&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-replica" target="_self" rel="noopener"&gt;Cascading Read replica - Generally Available&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-migrate" target="_self" rel="noopener"&gt;Online migration using PgOutput plugin - Generally Available&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-alloydb" target="_self" rel="noopener"&gt;Google AlloyDB as a migration source - Generally Available&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-edb" target="_self" rel="noopener"&gt;EDB Extended Server as a migration source - Generally Available&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-repslot" target="_self" rel="noopener"&gt;Logical replication slot synchronization metrics - Preview&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-defender" target="_self" rel="noopener"&gt;Defender Security Assessments - Preview&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-vscode" target="_self" rel="noopener"&gt;New enhancements in the PostgreSQL VS Code Extension&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-minorversion" target="_self" rel="noopener"&gt;Latest PostgreSQL minor versions: 18.3, 17.9, 16.13, 15.17, 14.22&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-extension" target="_self" rel="noopener"&gt;New extension support for PostgreSQL 18 on Azure Database for PostgreSQL&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="#community--1-guide" target="_self" rel="noopener"&gt;Guide on PostgreSQL Buffer Cache Analysis, query rewriting and elastic clusters&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;H2 id="ssdv2"&gt;SSDv2 - Generally Available&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;Premium SSD v2 is now generally available for Azure Database for PostgreSQL Flexible Server&lt;/STRONG&gt;, delivering significant performance and cost-efficiency improvements for I/O‑intensive workloads. It offers up to &lt;STRONG&gt;4× higher IOPS&lt;/STRONG&gt;, lower latency, and improved price‑performance.&lt;/P&gt;
&lt;P&gt;With &lt;STRONG&gt;independent scaling of storage and performance&lt;/STRONG&gt;, you only pay for what you need. Premium SSD v2 supports storage scaling up to &lt;STRONG&gt;64&lt;/STRONG&gt;&lt;STRONG&gt; TiB&lt;/STRONG&gt;, with performance reaching &lt;STRONG&gt;80,000 IOPS&lt;/STRONG&gt; and &lt;STRONG&gt;1,200&lt;/STRONG&gt;&lt;STRONG&gt; MiB/s throughput&lt;/STRONG&gt;, without tying performance to disk size. IOPS and throughput can be adjusted instantly, with no downtime.&lt;/P&gt;
&lt;P&gt;Additionally, built‑in baseline performance at no additional cost ensures consistent performance even for smaller deployments, making Premium SSD v2 a strong choice for modern, high‑demand PostgreSQL applications.&lt;/P&gt;
&lt;P&gt;For details about the Premium SSD v2 release, see the &lt;A href="https://techcommunity.microsoft.com/blog/adforpostgresql/premium-ssd-v2-is-now-generally-available-for-azure-database-for-postgresql/4508445?previewMessage=true" target="_blank" rel="noopener"&gt;GA Announcement Blog&lt;/A&gt; and &lt;A href="https://learn.microsoft.com/azure/postgresql/compute-storage/concepts-storage-premium-ssd-v2" target="_blank" rel="noopener"&gt;documentation&lt;/A&gt;&lt;/P&gt;
&lt;H2 id="replica"&gt;Cascading read replica - Generally available&lt;/H2&gt;
&lt;P&gt;Cascading read replicas are now generally available, giving customers greater flexibility to create read replicas from &lt;STRONG&gt;existing read replicas&lt;/STRONG&gt;. This capability supports up to &lt;STRONG&gt;two levels of replication&lt;/STRONG&gt; and up to &lt;STRONG&gt;30 read replicas&lt;/STRONG&gt; in total, with each read replica able to host up to &lt;STRONG&gt;five cascading replicas&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;With cascading read replicas, you can more effectively distribute read traffic across multiple replicas, deploy regional or hierarchical read replicas closer to end users, reduce read latency, and improve overall query performance for read‑heavy workloads. In addition, we’ve rolled out switchover support for both intermediate and cascading read replicas, making it easier to manage replica topologies. Learn more about cascading read replicas through&amp;nbsp;&lt;A class="lia-external-url" href="https://learn.microsoft.com/azure/postgresql/read-replica/concepts-read-replicas#create-cascading-read-replicas-preview" target="_blank" rel="noopener"&gt;our documentation&lt;/A&gt; and a &lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-blog" href="https://techcommunity.microsoft.com/blog/adforpostgresql/cascading-read-replicas-now-generally-available/4510610" target="_blank" rel="noopener" data-lia-auto-title="detailed blog walkthrough." data-lia-auto-title-active="0"&gt;detailed blog walkthrough.&lt;/A&gt;&lt;/P&gt;
&lt;H2 id="migrate"&gt;Online migration using PgOutput plugin - Generally Available&lt;/H2&gt;
&lt;P&gt;The new addition of the &lt;STRONG&gt;PgOutput plugin&lt;/STRONG&gt; helps make your Online migration to Azure more &lt;STRONG&gt;robust and seamless&lt;/STRONG&gt;. The native "Out-of-the-Box" support that PgOutout offers is more suited for Online Production migrations compared to other logical decoding plugins. PgOutput offers &lt;STRONG&gt;higher throughput&lt;/STRONG&gt; and &lt;STRONG&gt;superior performance&lt;/STRONG&gt; compared to other logical decoding plugins ensuring your Online migration has very limited downtime. PgOutput also offers fine-grained filtering using Publications where you can migrate specific tables and filter by specific operations.&lt;/P&gt;
&lt;P&gt;For more details about this update, see the &lt;A href="https://learn.microsoft.com/azure/postgresql/migrate/migration-service/concepts-required-user-permissions#online-migration-using-pgoutput---required-publication-permissions" target="_blank" rel="noopener"&gt;documentation&lt;/A&gt;.&lt;/P&gt;
&lt;H2 id="alloydb"&gt;Google AlloyDB as a migration source - Generally Available&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;Google AlloyDB&lt;/STRONG&gt; is now supported as a source in Azure Database for PostgreSQL Migration Service. You can use this capability to migrate your AlloyDB workloads directly to Azure Database for PostgreSQL, using either&lt;STRONG&gt; offline&lt;/STRONG&gt; or &lt;STRONG&gt;online &lt;/STRONG&gt;migration options. This support helps you move your PostgreSQL databases to Azure with confidence, while taking advantage of Azure’s flexibility and scalability.&lt;/P&gt;
&lt;P&gt;To know more about this feature, visit our &lt;A href="https://learn.microsoft.com/azure/postgresql/migrate/migration-service/tutorial-migration-service-alloy-db-offline?tabs=portal" target="_blank" rel="noopener"&gt;documentation&lt;/A&gt;.&lt;/P&gt;
&lt;H2 id="edb"&gt;EDB Extended Server as a migration source - Generally Available&lt;/H2&gt;
&lt;P&gt;Azure Database for PostgreSQL Migration Service now supports &lt;STRONG&gt;EDB&lt;/STRONG&gt; Extended Server as a migration source. This enables you to migrate EDB Extended Server workloads to Azure Database for PostgreSQL using both offline and online migration methods. With this addition, you can transition PostgreSQL databases to Azure smoothly and benefit from the scale and flexibility of the Azure platform.&lt;/P&gt;
&lt;P&gt;For more details about this update, see the &lt;A href="https://learn.microsoft.com/azure/postgresql/migrate/migration-service/tutorial-migration-service-enterprise-db-extended-server-offline?tabs=portal" target="_blank" rel="noopener"&gt;documentation&lt;/A&gt;.&lt;/P&gt;
&lt;H2 id="repslot"&gt;Logical replication slot sync status metric - Preview&lt;/H2&gt;
&lt;P&gt;You can now monitor whether your logical replication slots are &lt;STRONG&gt;failover‑ready &lt;/STRONG&gt;using the new l&lt;STRONG&gt;ogical_replication_slot_sync_status&lt;/STRONG&gt; metric, now in preview. This metric provides a simple binary signal indicating whether logical replication slots are &lt;STRONG&gt;synchronized&lt;/STRONG&gt; across High availability (HA) &lt;STRONG&gt;primary and standby nodes&lt;/STRONG&gt;. It helps you quickly assess failover readiness without digging into replication internals especially valuable for CDC pipelines such as Debezium and Kafka, where data continuity during failover is critical.&lt;/P&gt;
&lt;P&gt;Learn more about &lt;A class="lia-external-url" href="https://aka.ms/pg-flex-replication-metrics" target="_blank" rel="noopener"&gt;logical replication metrics in the documentation&lt;/A&gt;.&lt;/P&gt;
&lt;H2 id="defender"&gt;Defender Security Assessments - Preview&lt;/H2&gt;
&lt;P&gt;In March, we introduced two new Microsoft Defender for Cloud CSPM security recommendations for Azure Database for PostgreSQL Flexible Server, now available in &lt;A href="https://learn.microsoft.com/en-us/azure/defender-for-cloud/release-notes-recommendations-alerts#recommendations-alerts-and-incidents-updates" target="_blank" rel="noopener"&gt;public preview&lt;/A&gt;:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Geo-redundant backups should be enabled&lt;/STRONG&gt; for PostgreSQL Servers&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;require_secure_transport should be set to "on"&lt;/STRONG&gt; for PostgreSQL Servers&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;These integrated assessments continuously evaluate database configuration settings against security best practices, helping customers proactively identify and manage security posture risks for their Azure PostgreSQL servers while maintaining alignment with internal and industry standards.&lt;/P&gt;
&lt;P&gt;Additional security posture assessments for Azure PostgreSQL will be introduced as they become available.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To learn more, refer to the&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/azure/defender-for-cloud/recommendations-reference-data#geo-redundant-backups-should-be-enabled-for-postgresql-servers" target="_blank" rel="noopener"&gt;reference table for all data security recommendations in Microsoft Defender for Cloud.&lt;/A&gt;&lt;/P&gt;
&lt;H2 id="vscode"&gt;New enhancements in the PostgreSQL VS Code Extension&lt;/H2&gt;
&lt;P&gt;&lt;A class="lia-external-url" href="https://github.com/microsoft/vscode-pgsql/blob/main/CHANGELOG.md" target="_blank" rel="noopener"&gt;The March release (v1.20)&lt;/A&gt; of the &lt;A class="lia-external-url" href="https://marketplace.visualstudio.com/items?itemName=ms-ossdata.vscode-pgsql" target="_blank" rel="noopener"&gt;PostgreSQL VS Code extension&lt;/A&gt; delivers new server management capabilities, enhanced query plan analysis, visual improvements, and a batch of bug fixes.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Clone Server: &lt;/STRONG&gt;You can now clone an Azure PostgreSQL Flexible Server directly from within the extension. The clone operation is available from the server management UI, allowing you to duplicate a server configuration including region, SKU, and settings without leaving VS Code.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Entra ID Authentication for AI-Powered Schema Conversion: &lt;/STRONG&gt;The Oracle-to-PostgreSQL migration experience now supports Microsoft Entra ID authentication for Azure OpenAI connectivity, replacing API key–based authentication. This enables enterprise-grade identity management and access control for AI-powered schema conversion workflows.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Query Plan Visualization Improvements: &lt;/STRONG&gt;The Copilot-powered “Analyze with Copilot” feature for query plans has been improved with more relevant optimization recommendations and smoother SQL attachment handling during plan analysis.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Apache AGE Graph Visualizer Enhancements: &lt;/STRONG&gt;The graph visualizer received a visual refresh with modernized edge rendering, a color-coded legend, and a new properties pane for exploring element details.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Object Explorer Deep Refresh: &lt;/STRONG&gt;The Object Explorer now supports refreshing expanded nodes in place, so newly created tables and objects appear immediately without needing to disconnect and reconnect.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Settings Management: &lt;/STRONG&gt;The extension now supports both global user settings and local .vscode/settings.json, providing more robust connection settings management across configuration sources.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Bug Fixes: &lt;/STRONG&gt;This release includes numerous bug fixes across script generation (DDL for triggers, materialized views, and functions), IntelliSense (foreign table support), JSON data export, query execution, and server connectivity.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 id="minorversion"&gt;Latest PostgreSQL minor versions: 18.3, 17.9, 16.13, 15.17, 14.22&lt;/H2&gt;
&lt;P&gt;Azure PostgreSQL now supports the latest PostgreSQL minor versions:&amp;nbsp;&lt;STRONG&gt;18.3, 17.9, 16.13, 15.17, and 14.22&lt;/STRONG&gt;. These updates are applied automatically during planned maintenance windows, ensuring your databases stay up to date with critical fixes and reliability improvements, with no manual action required. This is an out-of-cycle release that addresses regressions identified in the previous update. The release includes fixes across replication, JSON functions, query correctness, indexing, and extensions like &lt;EM&gt;pg_trgm&lt;/EM&gt;, improving overall stability and correctness of database operations.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;For details about the minor release, see the &lt;A href="https://www.postgresql.org/about/news/postgresql-183-179-1613-1517-and-1422-released-3246/" target="_blank" rel="noopener"&gt;PostgreSQL announcement&lt;/A&gt;.&lt;/P&gt;
&lt;H2 id="extension"&gt;New extension support for PostgreSQL 18 on Azure Database for PostgreSQL&lt;/H2&gt;
&lt;P&gt;Azure Database for PostgreSQL running PostgreSQL 18 now supports extensions that enable&lt;STRONG&gt; graph querying,&lt;/STRONG&gt; &lt;STRONG&gt;in&lt;/STRONG&gt;‑&lt;STRONG&gt;database AI integration&lt;/STRONG&gt;, &lt;STRONG&gt;external storage access&lt;/STRONG&gt;, and &lt;STRONG&gt;scalable vector similarity search&lt;/STRONG&gt;, expanding the types of workloads that can be handled directly within PostgreSQL.&lt;/P&gt;
&lt;P&gt;Newly supported extensions include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;AGE (Apache AGE v1.7.0): &lt;/STRONG&gt;Adds native graph data modeling and querying capabilities to PostgreSQL using openCypher, enabling hybrid relational–graph workloads within the same database.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;azure_ai: &lt;/STRONG&gt;Enables direct invocation of Microsoft Foundry models from PostgreSQL using SQL, allowing AI inference and embedding generation to be integrated into database workflows.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;azure_storage: &lt;/STRONG&gt;Provides native integration with Azure Blob Storage, enabling PostgreSQL to read from and write to external storage for data ingestion, export, and hybrid data architectures.&lt;/LI&gt;
&lt;LI&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/azure/postgresql/extensions/how-to-use-pgdiskann" target="_blank" rel="noopener"&gt;pg_diskann&lt;/A&gt;&lt;STRONG&gt;: &lt;/STRONG&gt;Introduces disk‑based approximate nearest neighbor (ANN) indexing for high-performance vector similarity search at scale, optimized for large vector datasets with constrained memory.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Together, these extensions allow PostgreSQL on Azure to support multi-model, AI‑assisted, and data‑intensive workloads while preserving compatibility with the open‑source PostgreSQL ecosystem.&lt;/P&gt;
&lt;H2 id="guide"&gt;Guide on PostgreSQL buffer cache analysis, query rewriting&lt;/H2&gt;
&lt;P&gt;We have rolled out two new blogs on PostgreSQL buffer cache analysis and PostgreSQL query rewriting and subqueries. These blogs help you better understand how PostgreSQL behaves under the hood and how to apply practical performance optimizations whether you’re diagnosing memory usage, reducing unnecessary disk I/O, or reshaping queries to get more efficient execution plans as your workloads scale.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;PostgreSQL Buffer Cache Analysis&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This blog focuses on &lt;A href="https://techcommunity.microsoft.com/blog/adforpostgresql/postgresql-buffer-cache-analysis/4501264" target="_blank" rel="noopener" data-lia-auto-title="understanding PostgreSQL memory behavior through shared_buffers" data-lia-auto-title-active="0"&gt;understanding PostgreSQL memory behavior through shared_buffers&lt;/A&gt;, the database’s primary buffer cache. Using native statistics and the pg_buffercache extension, it provides a data‑driven approach to evaluate cache efficiency, identify when critical tables and indexes are served from memory, and detect cases where disk I/O may be limiting performance. The guide offers a repeatable methodology to support informed tuning decisions as workloads scale.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;PostgreSQL Query Rewriting and Subqueries&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This blog explores &lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-blog" href="https://techcommunity.microsoft.com/blog/adforpostgresql/postgresql-query-rewriting-and-subqueries/4499819" target="_blank" rel="noopener" data-lia-auto-title="how query structure directly impacts PostgreSQL execution plans and performance" data-lia-auto-title-active="0"&gt;how query structure directly impacts PostgreSQL execution plans and performance&lt;/A&gt;. It walks through common anti‑patterns and practical rewrites such as replacing correlated subqueries with set‑based joins, using semi‑joins, and pre‑aggregating large tables to reduce unnecessary work and enable more efficient execution paths. Each scenario includes clear explanations, example rewrites, and self‑contained test scripts you can run.&lt;/P&gt;
&lt;H1&gt;Azure Postgres Learning Bytes 🎓&lt;/H1&gt;
&lt;H4&gt;How to create and store vector embeddings in Azure Database for PostgreSQL&lt;/H4&gt;
&lt;P&gt;Vector embeddings sit at the core of many modern AI applications from semantic search and recommendations to RAG‑based experiences. But once you generate embeddings, an important question follows: how do you generate and store them in your existing database server?&lt;/P&gt;
&lt;P&gt;With Azure Database for PostgreSQL, you can generate and store vector embeddings directly alongside your application data. By using the `&lt;EM&gt;azure_ai`&lt;/EM&gt; extension, PostgreSQL can seamlessly integrate with Azure OpenAI to create embeddings and store them in your database. This learning byte walks you through a step‑by‑step guide to generating and storing vector embeddings in Azure Database for PostgreSQL.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 1: Enable the Azure AI extension&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Azure Database for PostgreSQL supports the &lt;STRONG&gt;azure_ai &lt;/STRONG&gt;extension, which allows you to call &lt;STRONG&gt;Azure OpenAI&lt;/STRONG&gt; service.&lt;/P&gt;
&lt;P&gt;Connect to your database and run:&lt;/P&gt;
&lt;LI-CODE lang="sql"&gt;CREATE EXTENSION IF NOT EXISTS azure_ai;&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;Step 2: Create (or use existing) Azure OpenAI resource&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;You need an &lt;STRONG&gt;Azure OpenAI&lt;/STRONG&gt; resource in your subscription with an embedding model deployed.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;In the Azure portal, create an &lt;STRONG&gt;Azure OpenAI&lt;/STRONG&gt; resource.&lt;/LI&gt;
&lt;LI&gt;Deploy an embedding model (for example, text-embedding-3-small).&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Azure OpenAI provides the &lt;STRONG&gt;endpoint URL&lt;/STRONG&gt; and &lt;STRONG&gt;API key&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 3: Get endpoint and API key&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Go to your &lt;STRONG&gt;Azure OpenAI resource&lt;/STRONG&gt; in the Azure portal.&lt;/LI&gt;
&lt;LI&gt;Select &lt;STRONG&gt;Keys and Endpoint&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Copy:
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;Endpoint&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;API Key (Key 1 or Key 2)&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;Step 4: Configure Azure AI extension with OpenAI details&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Store the endpoint and key securely inside PostgreSQL&lt;/P&gt;
&lt;LI-CODE lang="sql"&gt;SELECT 
  azure_ai.set_setting(
    'azure_openai.endpoint', 'https://&amp;lt;your-endpoint&amp;gt;.openai.azure.com'
  );
SELECT 
  azure_ai.set_setting(
    'azure_openai.subscription_key', 
    '&amp;lt;your-api-key&amp;gt;'
  );
&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;Step 5: Generate an embedding&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="sql"&gt;SELECT 
  LEFT(
    azure_openai.create_embeddings(
      'text-embedding-3-small', 'Sample text for PostgreSQL Lab'
    ):: text, 
    100
  ) AS vector_preview;
&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;Step 6: Add a vector column&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Add a vector column to store embeddings (example uses 1536‑dimensional vectors):&lt;/P&gt;
&lt;LI-CODE lang="sql"&gt;ALTER TABLE 
  &amp;lt; table - name &amp;gt; 
ADD 
  COLUMN embedding VECTOR(1536);&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;Step 7: Store the embedding&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Update your table with the generated embedding:&lt;/P&gt;
&lt;LI-CODE lang="sql"&gt;UPDATE 
  &amp;lt; table - name &amp;gt; 
SET 
  embedding = azure_openai.create_embeddings(
    'text-embedding-3-small', content
  );
&lt;/LI-CODE&gt;
&lt;H1&gt;Conclusion&lt;/H1&gt;
&lt;P&gt;That’s a wrap for our March 2026 recap. This month brought a set of meaningful updates focused on making Azure Database for PostgreSQL more performant, reliable, and scalable whether you’re modernizing workloads, scaling globally, or strengthening your security posture.&lt;/P&gt;
&lt;P&gt;We’ll be back soon with more exciting announcements and key feature enhancements for Azure Database for PostgreSQL, so stay tuned! Your feedback is important to us, have suggestions, ideas, or questions? We’d love to hear from you:&amp;nbsp;&lt;A href="https://aka.ms/pgfeedback" target="_blank" rel="noopener"&gt;https://aka.ms/pgfeedback&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Follow us here for the latest announcements, feature releases, and best practices:&amp;nbsp;&lt;A href="https://techcommunity.microsoft.com/category/azuredatabases/blog/adforpostgresql" target="_blank" rel="noopener" data-lia-auto-title="Microsoft Blog for PostgreSQL" data-lia-auto-title-active="0"&gt;Microsoft Blog for PostgreSQL&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 18:58:45 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-blog-for-postgresql/march-2026-recap-azure-database-for-postgresql/ba-p/4511432</guid>
      <dc:creator>gauri-kasar</dc:creator>
      <dc:date>2026-04-15T18:58:45Z</dc:date>
    </item>
    <item>
      <title>Phase 2 of Kerberos RC4 hardening begins with the April 2026 Windows security update</title>
      <link>https://techcommunity.microsoft.com/t5/windows-server-for-it-pro/phase-2-of-kerberos-rc4-hardening-begins-with-the-april-2026/m-p/4511702#M12970</link>
      <description>&lt;P&gt;Windows updates released in April 2026 and later begin the&amp;nbsp;&lt;A href="https://support.microsoft.com/topic/1ebcda33-720a-4da8-93c1-b0496e1910dc#ID0EDDBN" data-linktype="external" target="_blank"&gt;second deployment phase&lt;/A&gt;&amp;nbsp;of protections designed to address a Kerberos information disclosure vulnerability (&lt;A href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-20833" data-linktype="external" target="_blank"&gt;CVE‑2026‑20833&lt;/A&gt;). This second phase continues the shift away from legacy encryption types such as RC4 by moving toward stronger default ticket behavior. After installing the April 2026 update, domain controllers default to supporting Advanced Encryption Standard (AES‑SHA1) encrypted tickets for accounts that do not have an explicit Kerberos encryption type configuration.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If your organization relies on service accounts or applications that depend on RC4-based Kerberos service tickets, now is the time to address those dependencies to avoid authentication issues before the Enforcement phase begins in July 2026. Microsoft recommends continuing to monitor the System event log for Kerberos-related audit events and&amp;nbsp;&lt;A href="https://support.microsoft.com/topic/1ebcda33-720a-4da8-93c1-b0496e1910dc#ID0EDDBL" data-linktype="external" target="_blank"&gt;identify and address misconfigurations or remaining dependencies&lt;/A&gt;, then enabling enforcement when warning, blocking, or policy events are no longer logged.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;See&amp;nbsp;&lt;A href="https://support.microsoft.com/topic/1ebcda33-720a-4da8-93c1-b0496e1910dc" data-linktype="external" target="_blank"&gt;How to manage Kerberos KDC usage of RC4 for service account ticket issuance changes related to CVE-2026-20833&lt;/A&gt;&amp;nbsp;and&amp;nbsp;&lt;A href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-20833" data-linktype="external" target="_blank"&gt;CVE‑2026‑20833&lt;/A&gt; to learn more about the vulnerability, timelines, recommended preparation steps, and configuration options to ensure compliance before Enforcement mode begins in July 2026.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 18:42:48 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/windows-server-for-it-pro/phase-2-of-kerberos-rc4-hardening-begins-with-the-april-2026/m-p/4511702#M12970</guid>
      <dc:creator>ChrisWright</dc:creator>
      <dc:date>2026-04-15T18:42:48Z</dc:date>
    </item>
    <item>
      <title>When the shield becomes the sword: How misconfigured PAM bridges the tiering model</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-security-experts-blog/when-the-shield-becomes-the-sword-how-misconfigured-pam-bridges/ba-p/4509392</link>
      <description>&lt;P&gt;In the world of identity security, few tools promise as much peace of mind as Privileged Access Management (PAM). It is often referred to as the "vault" that locks away your kingdom's keys. However, in Microsoft Incident Response – the Detection and Response Team (DART) engagements, we frequently encounter a paradox: the tool used to secure Tier 0 often becomes a quick path for threat actors to compromise it.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;In a recent DART engagement, a&amp;nbsp;threat actor&amp;nbsp;moved from a compromised helpdesk workstation to full domain compromise in under four hours. They&amp;nbsp;didn't&amp;nbsp;use a zero-day. They used the organization's PAM server.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;We have seen this story play out in real-time. An organization invests heavily in&amp;nbsp;&lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/security/privileged-access-workstations/privileged-access-access-model" target="_blank"&gt;Active Directory (AD) Tiering&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;and a premium PAM solution. They feel secure. Yet, during an incident, we trace the&amp;nbsp;threat&amp;nbsp;actor’s&amp;nbsp;path and find they&amp;nbsp;didn't&amp;nbsp;burn a zero-day or crack a complex algorithm. They simply walked across a bridge the organization built themselves: a PAM server positioned in Tier 1 that held the keys to Tier 0.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This&amp;nbsp;isn't&amp;nbsp;a failure of the product;&amp;nbsp;it's&amp;nbsp;a failure of&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;positioning&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;. This post shares what DART sees on the front lines, why "intermediaries" are the most critical link in your chain, and how to deploy PAM without rolling out a red carpet for threat actors.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;The foundation: A quick refresher on tiering&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt; model&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt; and PAM, PIM, and PAW concepts&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Before we dive into the&amp;nbsp;threat&amp;nbsp;actor’s&amp;nbsp;tactics&amp;nbsp;and techniques,&amp;nbsp;let’s&amp;nbsp;revisit the ground rules&amp;nbsp;and define a few key concepts. The Active Directory Tiering Model is built on a simple premise:&amp;nbsp;prevent&amp;nbsp;&lt;STRONG&gt;credential&amp;nbsp;theft propagation&lt;/STRONG&gt;; ensuring that credentials&amp;nbsp;with&amp;nbsp;administrative&amp;nbsp;access&amp;nbsp;to higher-tier systems are never exposed on lower-tier systems where a&amp;nbsp;threat actor&amp;nbsp;may already have a foothold.&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Tier 0&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;is your control plane:&amp;nbsp;Domain Controllers, PKI,&amp;nbsp;and the identities that manage&amp;nbsp;your authentication plane.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Tier 1&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;houses your application servers and data.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Tier 2&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;is the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;high-risk environment&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;:&amp;nbsp;user workstations and devices&amp;nbsp;exposed to the internet.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The golden&amp;nbsp;rule&amp;nbsp;of tiering is&amp;nbsp;strictly one-way:&amp;nbsp;higher tier admins must never expose their credentials to lower tier systems,&amp;nbsp;and lower tiers must never have management access to higher tiers.&amp;nbsp;The core purpose of this separation is to ensure that a compromised workstation cannot yield Domain Admin credentials. However, operational tools that bridge these tiers often inadvertently break this definitional boundary.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="lia-external-url" href="https://www.microsoft.com/en-gb/security/business/security-101/what-is-privileged-access-management-pam" target="_blank"&gt;&lt;STRONG&gt;PAM (Privileged Access Management):&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Solutions designed to securely vault credentials and broker administrative sessions, ensuring access to critical systems is&amp;nbsp;monitored&amp;nbsp;and controlled.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="lia-external-url" href="https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-privileged-identity-management-pim" target="_blank"&gt;&lt;STRONG&gt;PIM (Privileged Identity Management):&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Tools that manage the lifecycle of elevated roles, typically by enforcing time-bound, Just-In-Time (JIT) access to&amp;nbsp;eliminate&amp;nbsp;standing privileges.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/security/privileged-access-workstations/privileged-access-devices" target="_blank"&gt;&lt;STRONG&gt;PAW (Privileged Access Workstation):&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Highly hardened, dedicated devices used exclusively for sensitive administrative tasks, physically or logically isolating tier admins from high-risk activities like email and web browsing.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img&gt;&lt;EM&gt;&lt;SPAN data-contrast="none"&gt;Figure 1: Administration with dedicated tiered accounts&lt;/SPAN&gt;&lt;/EM&gt;&lt;/img&gt;
&lt;H4&gt;&lt;SPAN data-contrast="auto"&gt;The front-line reality: the shared intermediary trap&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Imagine this scenario: A threat actor compromises a standard workstation (Tier 2) through a phishing email. Their goal is the Domain Controller (Tier 0). In a properly tiered environment, this path is blocked; there are no credentials on the workstation to steal, and no direct privilege escalation route to the Domain Controller.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;But then the&amp;nbsp;threat actor&amp;nbsp;finds&amp;nbsp;an intermediary system.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In many environments, we see a single PAM session host used by&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;everyone&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;. The Tier 1 admins use it to manage application servers, and the Tier 0 admins use it to manage Domain Controllers. This convergence creates a&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;"Shared" or "Dirty" Intermediary&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5&gt;&lt;SPAN data-ccp-props="{}"&gt;The attack path&lt;/SPAN&gt;&lt;/H5&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The foothold:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;The&amp;nbsp;threat actor&amp;nbsp;compromises a&amp;nbsp;standard&amp;nbsp;Tier 2 workstation.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;The escalation:&lt;/STRONG&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;The&amp;nbsp;threat actor&amp;nbsp;moves laterally and escalates privileges&amp;nbsp;by exploiting common lower-tier misconfigurations (such as Helpdesk scenarios or exposed&amp;nbsp;privileged&amp;nbsp;service accounts) to compromise a Tier 1 administrator account who has full control over the Tier 1 PAM Host.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The pivot:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Because the PAM Session Host&amp;nbsp;resides&amp;nbsp;in Tier 1, the&amp;nbsp;threat actor&amp;nbsp;uses those compromised Tier 1 admin rights to seamlessly gain full control of the underlying operating system of the PAM host itself.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The compromise:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;The&amp;nbsp;threat actor&amp;nbsp;simply waits for a Tier 0 admin to&amp;nbsp;initiate&amp;nbsp;a session. Because the&amp;nbsp;threat actor&amp;nbsp;already has full administrative control over the underlying server, it is a given that they can extract the Tier 0 credentials the moment that session begins.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Note:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;A threat actor at this stage does not need to exploit any weakness in the PAM software itself. Because the&amp;nbsp;session&amp;nbsp;host logically&amp;nbsp;resides&amp;nbsp;within the Tier 1 boundary, any identity or system with administrative rights over that tier holds ultimate authority over the host. This administrative control provides the means to&amp;nbsp;modify&amp;nbsp;the&amp;nbsp;host's&amp;nbsp;configuration, bypass security agents, and disable runtime protections before a privileged session ever begins. Once this foundational control is&amp;nbsp;established, credential material processed by the operating system for outbound privileged sessions becomes accessible. This is not a PAM product failure; it is an architectural placement failure&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Game over:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;The&amp;nbsp;threat actor&amp;nbsp;replays those credentials to take over the Domain Controller.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN data-contrast="auto"&gt;Here is how that&amp;nbsp;compromise&amp;nbsp;looks architecturally:&lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img&gt;&lt;EM&gt;Figure 2: Single PAM host architecture&lt;/EM&gt;&lt;/img&gt;
&lt;H4&gt;The core concept: PAM is an intermediary&lt;/H4&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;To understand why the scenario above happens, we&amp;nbsp;have to&amp;nbsp;look at how Microsoft defines&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Privileged Access Intermediaries&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;As detailed in our&amp;nbsp;&lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/security/privileged-access-workstations/privileged-access-intermediaries" target="_blank"&gt;Privileged access intermediaries guidance&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;, an intermediary is any system that stands between a user and a target resource. This includes VPNs, Jump Servers, and PAM solutions.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;The Golden Rule of intermediaries&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;&lt;EM&gt;The security assurance of the target is only as good as the security assurance of the intermediary.&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720,&amp;quot;335559738&amp;quot;:100,&amp;quot;335572083&amp;quot;:12,&amp;quot;335572084&amp;quot;:12,&amp;quot;335572085&amp;quot;:11957550,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&lt;SPAN data-contrast="auto"&gt;If you manage a Tier 0 asset (like a Domain Controller) through a PAM server,&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;that PAM server becomes a Tier 0 asset&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;. &lt;/STRONG&gt;If that PAM server allows logins from Tier 1 users or is&amp;nbsp;reachable from Tier 2 workstations, you have effectively downgraded your Domain Controllers to the security level of a workstation.&lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;You cannot have a "Tier 1" server managing "Tier 0" assets.&amp;nbsp;The math&amp;nbsp;simply&amp;nbsp;doesn't&amp;nbsp;work.&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;Each type of intermediary serves a different role, so the security controls won’t be identical.&amp;nbsp;However,&amp;nbsp;some basics apply to all of them,&amp;nbsp;like quickly patching appliances, firmware, operating systems, and applications.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;Figure 3: Security impact of different PAM approaches&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;/img&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Third-party PIM/PAM&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;solutions &lt;/STRONG&gt;are often deployed on-premises or as a&amp;nbsp;Virtual Machine (VM)&amp;nbsp;in an&amp;nbsp;Infrastructure as a Service (IaaS)&amp;nbsp;environment&amp;nbsp;and are usually reachable only from internal (intranet) systems. Even if they&amp;nbsp;aren’t&amp;nbsp;exposed to the internet, one stolen credential could let a&amp;nbsp;threat&amp;nbsp;actor&amp;nbsp;reach them through VPN or other remote access methods.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4&gt;&lt;SPAN data-ccp-props="{}"&gt;The hidden risk: the "master key" service account&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The attack path above assumes&amp;nbsp;a&amp;nbsp;threat&amp;nbsp;actor&amp;nbsp;waits for a human administrator to arrive. But there is a second, more direct&amp;nbsp;risk&amp;nbsp;and it&amp;nbsp;doesn’t&amp;nbsp;require patience at all.&amp;nbsp;It’s&amp;nbsp;not just about where users log in;&amp;nbsp;it’s&amp;nbsp;about the power the software&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;holds&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Consider the Password Reset scenario. A key feature of PAM is automatically rotating Domain Admin passwords,&amp;nbsp;so human admins never need to know them;&amp;nbsp;credentials are simply injected into the session. However, to perform this action, the PAM Service Account&amp;nbsp;itself requires massive privileges (typically Domain Admin or equivalent) to reset those target passwords.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Here is the trap: If your PAM Core or Vault&amp;nbsp;resides&amp;nbsp;in Tier 1 (or is treated as such) but manages Tier 0 credentials, you have effectively granted Domain Admin rights to a Tier 1 asset.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;A&amp;nbsp;threat actor&amp;nbsp;doesn't&amp;nbsp;even need to wait for a human administrator to log in. If they compromise the underlying server where the PAM service runs, they can extract the Service Account’s credentials. Since this account has the power to reset Domain Admin passwords, the&amp;nbsp;threat actor&amp;nbsp;instantly elevates to Tier 0;&amp;nbsp;no session&amp;nbsp;required, no waiting, no noise&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN class="lia-text-color-15"&gt;&lt;STRONG&gt;This reinforces the golden rule:&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;If a Service Account manages Tier 0, the system it&amp;nbsp;runs on&amp;nbsp;is Tier 0.&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;The two attack vectors:&amp;nbsp;hijacking a session and stealing the service account.&amp;nbsp;Both stem from the same root cause: architectural misplacement. Fix the placement, and you&amp;nbsp;eliminate&amp;nbsp;both.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720,&amp;quot;335559738&amp;quot;:100,&amp;quot;335572083&amp;quot;:12,&amp;quot;335572084&amp;quot;:12,&amp;quot;335572085&amp;quot;:11957550,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=""&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720,&amp;quot;335559738&amp;quot;:100,&amp;quot;335572083&amp;quot;:12,&amp;quot;335572084&amp;quot;:12,&amp;quot;335572085&amp;quot;:11957550,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;Practical checklist: are you exposed?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In&amp;nbsp;DART&amp;nbsp;engagements, we use this checklist to rapidly assess if a PAM deployment is a security asset or a liability.&amp;nbsp;Use this to&amp;nbsp;validate&amp;nbsp;your own environment:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The intermediary check:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Does any server used to manage Domain Controllers allow inbound RDP, SMB&amp;nbsp;or other management connections from standard workstations or Tier 1 servers?&amp;nbsp;(If yes, you are bridged).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The identity check:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Do you use the same "Admin" account to log into the PAM portal for both Tier 0 and Tier 1 tasks? (If yes, you are exposing&amp;nbsp;credentials).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The reachability check:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;Can your PAM Vault/Core be reached from the general user network? (It should only be reachable from management zones).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The isolation check:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;Are your Tier 0 Session Hosts logically and technically treated as Tier 0 assets?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;What good looks like: The tiered PAM architecture&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;How do we fix this? We&amp;nbsp;don't&amp;nbsp;throw away PAM; we align it with the&amp;nbsp;&lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/security/privileged-access-workstations/privileged-access-intermediaries" target="_blank"&gt;Enterprise Access Model&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In DART, we advocate for a &lt;STRONG&gt;t&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;iered PAM deployment&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt; This&amp;nbsp;doesn't&amp;nbsp;necessarily mean buying three different PAM vaults. It means strictly segregating the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;session&amp;nbsp;hosts&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;and the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;control plane&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5&gt;&lt;SPAN data-ccp-props="{}"&gt;The architecture of isolation&lt;/SPAN&gt;&lt;/H5&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Tier 0 Control Plane:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;The core of your PAM (the Vault, the Policy Manager) holds the keys to the kingdom. Therefore, it must be treated as Tier 0. It should only be manageable by Tier 0 admins from Tier 0 workstations.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Segregated Session Hosts:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;You must have separate&amp;nbsp;session host&amp;nbsp;infrastructure for each tier.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Tier 1 Session Host:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Accessible from Tier 1, manages Tier 1.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Blocked&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;from talking to Domain&amp;nbsp;Controllers.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Tier 0 Session Host:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Accessible&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;only&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;from Tier 0 PAWs, manages Tier 0.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Totally isolated&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;from the rest of the network.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This diagram illustrates a PAM deployment that respects the tiering model:&lt;/SPAN&gt;&lt;/P&gt;
&lt;img&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;Figure 4: Separate PAM host architecture&lt;/SPAN&gt;&lt;/EM&gt;&lt;/img&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;F&lt;SPAN data-contrast="auto"&gt;or a deeper dive into reconciling these paradigms,&amp;nbsp;review&amp;nbsp;&lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/security/privileged-access-workstations/privileged-access-intermediaries" target="_blank"&gt;Intermediaries in Securing Privileged Administration&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;and Microsoft's guide on&amp;nbsp;&lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/microsoft-identity-manager/pam/tier-model-for-partitioning-administrative-privileges" target="_blank"&gt;Partitioning Administrative Privileges&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:320,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:320,&amp;quot;335559740&amp;quot;:240}"&gt;FAQ: Clearing the confusion&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Q: Does PAM always belong&amp;nbsp;in&amp;nbsp;Tier 0?&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;A:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;If the PAM system manages Tier 0 credentials or provides access to Tier 0 assets,&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;yes&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;. &lt;/STRONG&gt;The components that touch Tier 0 (Vault, Brokers, Session Hosts) must be secured at Tier 0 standards.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Q: Can we use a single "hardened"&amp;nbsp;session host&amp;nbsp;for all tiers to save costs?&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;A:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;In DART's experience,&amp;nbsp;no. "Hardening" is often a configuration state that drifts or is bypassed by zero-days.&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Architecture beats configuration.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;If you bridge the network tiers, a compromised Tier 1 admin account is all a&amp;nbsp;threat actor&amp;nbsp;needs to gain OS-level control of that host and from there, access to Tier 0 sessions is a matter of patience, not sophistication.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Q: If we have PAM, do we still need the Tiering Model?&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;A:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Absolutely.&amp;nbsp;PAM&amp;nbsp;doesn’t&amp;nbsp;replace Tiering; when implemented correctly, it adds another layer of security and/or&amp;nbsp;governance.&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Tiering&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;keeps credentials and admin access separated,&amp;nbsp;so&amp;nbsp;threat actors&amp;nbsp;can’t&amp;nbsp;easily move sideways or reuse stolen hashes.&amp;nbsp;PAM provides&amp;nbsp;workflow, rotation, and audit trails.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Q: What is the most common mistake you see?&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;A:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;We&amp;nbsp;frequently&amp;nbsp;see organizations approach PAM as a "magic stick", believing it secures everything about credential hygiene.&amp;nbsp;Yet, because they assume the tool secures itself, they treat this critical infrastructure as just another Tier-1 asset. It gets patched like a standard file server and&amp;nbsp;monitored&amp;nbsp;like a print server, rather than being hardened and isolated as a Tier-0&amp;nbsp;component. This mindset&amp;nbsp;doesn't&amp;nbsp;secure the environment; it creates a fragile bridge that&amp;nbsp;threat&amp;nbsp;actors can easily cross.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Q: Our PAM vendor says their session host is hardened out of the box. Why is this still a risk?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;A:&lt;/STRONG&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;PAM vendors are right that a well-configured session host with Credential&amp;nbsp;Guard&amp;nbsp;enabled, application control enforced, and remote management restricted&amp;nbsp;is&amp;nbsp;considerably harder&amp;nbsp;to exploit than a&amp;nbsp;stock&amp;nbsp;Windows Server. Some vendors use Kerberos constrained delegation with S4U2Proxy, meaning the machine account rather than the Domain Admin’s actual credentials&amp;nbsp;authenticates&amp;nbsp;to the target, which limits direct credential exposure. These are meaningful controls and we&amp;nbsp;don’t&amp;nbsp;dismiss them. However,&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;application-layer hardening is defeated by OS-layer control&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;. &lt;/STRONG&gt;If the PAM host is domain-joined and sits in a Tier 1 OU, a Tier 1 Domain Admin has Group Policy, software deployment rights, and&amp;nbsp;Active Directory&amp;nbsp;machine account control over that host. They can push a GPO to disable Credential Guard, deploy a driver via software distribution, or alter the&amp;nbsp;machine’s&amp;nbsp;configuration before the next reboot,&amp;nbsp;all using entirely legitimate AD administration tools.&amp;nbsp;The vendor’s hardening is irrelevant once the&amp;nbsp;threat actor&amp;nbsp;controls the tier the machine lives in. This is precisely why&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;tier placement is not a PAM configuration decision; it is an Active Directory architecture decision.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Q:&amp;nbsp;We’re&amp;nbsp;cloud-first and use Entra ID. Does AD Tiering still apply to us?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;A:&lt;/STRONG&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;The specific tier labels change, but the principle does not. Microsoft’s&amp;nbsp;&lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/security/privileged-access-workstations/privileged-access-access-model" target="_blank"&gt;Enterprise Access Model&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;is the cloud-era evolution of AD Tiering, built around the same core concept: Control Plane (equivalent to Tier 0), Management Plane (Tier 1), and User Access / Data Plane (Tier 2). In an Entra ID environment, your Control Plane includes Global Administrators, Privileged Role Administrators, and the Conditional Access policies that govern them. A PAM or PIM&amp;nbsp;solution&amp;nbsp;managing those identities must be treated with the same isolation discipline. Hybrid environments,&amp;nbsp;where on-premises AD and Entra ID are synchronized,&amp;nbsp;carry the&amp;nbsp;additional&amp;nbsp;risk that a compromise of either plane can propagate to the other through synchronization. If anything, hybrid environments make strict intermediary placement&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;more&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; critical, not less.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4&gt;&lt;SPAN data-ccp-props="{}"&gt;Conclusion&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;PAM is a powerful tool in the defender’s arsenal;&amp;nbsp;but like any powerful tool, its effectiveness depends entirely on how it is positioned.&amp;nbsp;The&amp;nbsp;threat actors&amp;nbsp;we&amp;nbsp;encounter&amp;nbsp;in DART&amp;nbsp;engagements&amp;nbsp;don’t look for the most sophisticated path to Domain Admin. They look for the most&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;trusted&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;one.&amp;nbsp;A PAM server in the wrong tier&amp;nbsp;isn’t&amp;nbsp;a hardened barrier;&amp;nbsp;it’s&amp;nbsp;a trusted bridge with a gold-plated sign.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;By aligning your PAM deployment with the principles of&amp;nbsp;&lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/security/privileged-access-workstations/overview" target="_blank"&gt;Privileged Access Administration&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;,&amp;nbsp;treating session hosts and service accounts as the tier of the assets they manage, not the zone they physically sit in,&amp;nbsp;you close the bridge before a&amp;nbsp;threat actor&amp;nbsp;finds it.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;Build your architecture like a&amp;nbsp;threat actor&amp;nbsp;will find it. Because they will.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;Stay secure, stay&amp;nbsp;tiered.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559739&amp;quot;:200,&amp;quot;335572079&amp;quot;:6,&amp;quot;335572080&amp;quot;:1,&amp;quot;335572081&amp;quot;:11957550,&amp;quot;469789806&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 18:34:46 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-security-experts-blog/when-the-shield-becomes-the-sword-how-misconfigured-pam-bridges/ba-p/4509392</guid>
      <dc:creator>UgurTGudekli</dc:creator>
      <dc:date>2026-04-15T18:34:46Z</dc:date>
    </item>
    <item>
      <title>Live AMA: Microsoft Agent 365</title>
      <link>https://techcommunity.microsoft.com/t5/microsoft-365-events/live-ama-microsoft-agent-365/ec-p/4511700#M698</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Agent 365--generally available&amp;nbsp;May 1, 2026--is a control plane that empowers IT admins, Security Operations analysts, Identity and Network Security admins, and Data Security &amp;amp; Compliance admins to&amp;nbsp;observe, govern, and secure all agents for their organization.&amp;nbsp;We’ll&amp;nbsp;demonstrate&amp;nbsp;how to get started and answer your questions about licensing and functionality in this live 'Ask Microsoft Anything' with product and engineering team experts!&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335557856&amp;quot;:16777215,&amp;quot;335559739&amp;quot;:120,&amp;quot;335559740&amp;quot;:310}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 data-start="191" data-end="213"&gt;How to Participate&lt;/H3&gt;
&lt;UL data-start="215" data-end="861"&gt;
&lt;LI data-start="215" data-end="355"&gt;&lt;A href="https://techcommunity.microsoft.com/kb/gettingstarted/getting-started-on-the-tech-community/3512627" data-lia-auto-title="Register for the Microsoft Tech Community" data-lia-auto-title-active="0" target="_blank"&gt;&lt;STRONG data-start="217" data-end="262"&gt;Register for the Microsoft Tech Community&lt;/STRONG&gt;&lt;/A&gt;&amp;nbsp;using your email if you haven’t already. This allows you to post comments and ask questions.&lt;/LI&gt;
&lt;LI data-start="356" data-end="552"&gt;&lt;STRONG data-start="358" data-end="396"&gt;Visit this page&lt;/STRONG&gt;&amp;nbsp;during its scheduled time to join the conversation. You can post your questions in the comments, and product team members will respond live during the AMA.&lt;/LI&gt;
&lt;LI data-start="553" data-end="631"&gt;&lt;STRONG data-start="555" data-end="614"&gt;Watch the session live or catch the recording on demand&lt;/STRONG&gt;&amp;nbsp;after the event.&lt;/LI&gt;
&lt;LI data-start="632" data-end="861"&gt;&lt;STRONG data-start="634" data-end="665"&gt;Keep the conversation going&lt;/STRONG&gt;&amp;nbsp;in the&amp;nbsp;&lt;A href="https://techcommunity.microsoft.com/category/microsoft365/discussions/agent-365-discussions" data-lia-auto-title="Agent 365 discussion space" data-lia-auto-title-active="0" target="_blank"&gt;Agent 365 discussion space&lt;/A&gt;&amp;nbsp;after the sessions conclude. It’s a great place to follow up, share what’s working, and connect with others exploring similar topics.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Hope to see you there! Come ready to learn and ask our experts all of your burning questions!&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2026 18:34:36 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/microsoft-365-events/live-ama-microsoft-agent-365/ec-p/4511700#M698</guid>
      <dc:creator>Emily_Perina</dc:creator>
      <dc:date>2026-04-15T18:34:36Z</dc:date>
    </item>
    <item>
      <title>Evolving the Microsoft Certified: Azure AI Fundamentals Certification</title>
      <link>https://techcommunity.microsoft.com/t5/the-skills-hub-blog/evolving-the-microsoft-certified-azure-ai-fundamentals/ba-p/4494127</link>
      <description>&lt;H4&gt;&lt;EM&gt;As AI cloud solution adoption accelerates, &lt;SPAN data-teams="true"&gt;demonstrate your readiness to build modern, responsible&lt;/SPAN&gt;&amp;nbsp;Azure AI solutions using Microsoft Foundry and Python with the new Exam AI‑901 (beta).&lt;/EM&gt;&lt;/H4&gt;
&lt;P&gt;AI is no longer a distant, abstract idea. Organizations around the world are adopting it right now to streamline workflows and strengthen operational efficiency. As a result, the demand for AI solution developers is accelerating.&lt;/P&gt;
&lt;P&gt;To support this shift, we’re evolving the &lt;STRONG&gt;Microsoft Certified: Azure AI Fundamentals &lt;/STRONG&gt;Certification. The updated Microsoft Certification validates your knowledge of AI concepts and capabilities and your ability to implement AI solutions by using Azure and Microsoft Foundry. After June 30, 2026, to earn this Certification, you’ll need to pass&amp;nbsp;&lt;A href="https://learn.microsoft.com/credentials/certifications/exams/ai-901?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;Exam AI-901: Azure AI Fundamentals,&lt;/A&gt;&amp;nbsp;currently in beta.&lt;/P&gt;
&lt;P&gt;The &lt;A href="https://learn.microsoft.com/credentials/certifications/azure-ai-fundamentals?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;Microsoft Certified: Azure AI Fundamentals Certification&lt;/A&gt;&amp;nbsp;is designed for people who are beginning their journey in AI solution development, and it validates that you can apply responsible AI principles in real‑world scenarios. It also provides a strong foundation for pursuing more advanced role‑based Certifications in Azure AI and machine learning.&lt;/P&gt;
&lt;H4&gt;Is this the right Certification for you?&lt;/H4&gt;
&lt;P&gt;The Microsoft Certified: Azure AI Fundamentals Certification focuses on the practical skills needed to build modern AI apps and agents by using Foundry. By preparing to earn the Certification, you build practical, job‑relevant skills. Exam AI-901 validates your ability to:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Describe AI concepts and capabilities, including principles of responsible AI, along with AI workloads, model components, and configurations.&lt;/LI&gt;
&lt;LI&gt;Implement AI solutions with Foundry, including generative AI apps and agents, in addition to AI solutions for text and speech, computer vision and image-generation capabilities, and information extraction.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;As a candidate for this Certification, you should have conceptual knowledge of AI solutions in Azure and the foundational technical skills to work with them. You also need knowledge of Python coding syntax and programming techniques, and you should be familiar with provisioning Azure resources.&lt;/P&gt;
&lt;P&gt;With its expanded focus, Exam AI-901 replaces Exam AI-900, which is being retired on June 30, 2026. The new exam addresses:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Generative AI and agents, with updated coverage of the Foundry portal, tools, and models.&lt;/LI&gt;
&lt;LI&gt;AI workloads, responsible AI principles, and solution patterns.&lt;/LI&gt;
&lt;LI&gt;Simple approaches to implementing AI solutions using Foundry.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-border-color-21 lia-border-style-dotted" border="1" style="width: 95.2778%; border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;&lt;STRONG&gt;Area&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;&lt;STRONG&gt;Exam AI‑900 (old)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;&lt;STRONG&gt;Exam AI‑901 (new)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;&lt;STRONG&gt;Audience&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;Nontechnical or technical beginners&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;Technical beginners planning to &lt;EM&gt;build AI solutions&lt;/EM&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;&lt;STRONG&gt;Skills tested&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;Understanding AI and machine learning concepts; identifying when to use Azure AI services&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;Understanding AI concepts; implementing AI solutions with Microsoft Foundry&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;&lt;STRONG&gt;Required coding knowledge &lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;None&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;Basic Python syntax and programming concepts&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;&lt;STRONG&gt;Knowledge level&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;Introductory, conceptual understanding of Azure AI services (classic approach)&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;Foundational understanding of Azure resources, plus implementation with Foundry, provisioning Azure resources, and modern AI development tooling&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;&lt;STRONG&gt;Focus&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;What is AI?&lt;/P&gt;
&lt;/td&gt;&lt;td class="lia-border-color-21"&gt;
&lt;P&gt;How do I build an AI app by using Foundry?&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 27.1357%" /&gt;&lt;col style="width: 36.083%" /&gt;&lt;col style="width: 36.7653%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;NOTE:&amp;nbsp;&lt;/STRONG&gt;&lt;STRONG&gt;We’re not retiring the Azure AI Fundamentals Certification&lt;/STRONG&gt;; we’re refreshing the requirements to earn it, with a new exam that better reflects modern AI solution development skills. If you already hold this Certification, no action is required; however, you may take the new Exam AI-901 if you would like to showcase your ability with a wider skill set. For more details on the retirement of Exam AI-900 and the latest cloud and AI Certification updates, read our recent blog post,&amp;nbsp;&lt;A href="https://aka.ms/CloudandAICertificationsBlog?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;The AI job boom is here. Are you ready to showcase your skills&lt;/A&gt;?&lt;/P&gt;
&lt;H4&gt;Ready to prove your Azure AI skills?&lt;/H4&gt;
&lt;P&gt;Take advantage of the discounted beta exam offer. &lt;STRONG&gt;The first 300 people who take &lt;/STRONG&gt;&lt;STRONG&gt;Exam AI-901 (beta) on or before May 6, 2026, can get 80% off.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To receive the discount, when you register for the exam and are prompted for payment, use code&amp;nbsp;&lt;STRONG&gt;AI901Medford&lt;/STRONG&gt;. This is not a private access code. The seats are offered on a first-come, first-served basis. As noted, you must &lt;STRONG&gt;take the exam on or before May 6, 2026&lt;/STRONG&gt;. &lt;EM&gt;Please note that this discount is not available in Turkey, Pakistan, India, or China&lt;/EM&gt;.&lt;/P&gt;
&lt;H4&gt;How to prepare&lt;/H4&gt;
&lt;P&gt;Get ready to take Exam AI-901 (beta):&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Review the &lt;A href="https://learn.microsoft.com/credentials/certifications/exams/ai-901?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;Exam AI-901 (beta) exam page&lt;/A&gt; for details.&lt;/LI&gt;
&lt;LI&gt;The &lt;A href="https://aka.ms/AI901-StudyGuide?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;Exam AI-901 study guide&lt;/A&gt; explores key topics covered in the exam.&lt;/LI&gt;
&lt;LI&gt;Work through the self-paced &lt;A href="https://aka.ms/AI-901?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;Course AI-901: Introduction to AI in Azure&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;Connect with &lt;A href="https://learn.microsoft.com/training/training-services-partners?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;Microsoft Training Services Partners&lt;/A&gt; in your area for in-person offerings.&lt;/LI&gt;
&lt;LI&gt;Need other preparation ideas? Check out &lt;A href="https://techcommunity.microsoft.com/blog/skills-hub-blog/just-how-does-one-prepare-for-beta-exams/1469421?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;Just How Does One Prepare for Beta Exams?&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;Ready to get started?&lt;/H4&gt;
&lt;P&gt;You can take Certification exams online, from your home or office. Get the details in &lt;A href="https://techcommunity.microsoft.com/blog/skills-hub-blog/online-proctored-exams-what-to-expect-and-how-to-prepare/1469424?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;Online proctored exams: What to expect and how to prepare&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Remember, only the first 300 candidates can get 80% off Exam AI-901 (beta) with code &lt;STRONG&gt;AI901Medford &lt;/STRONG&gt;on or before &lt;STRONG&gt;May&amp;nbsp;6, 2026&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Beta exam rescoring begins when the exam goes live, with &lt;STRONG&gt;final results released approximately 10 days later&lt;/STRONG&gt;. For more details, read &lt;A href="https://techcommunity.microsoft.com/blog/skills-hub-blog/creating-high-quality-exams-the-path-from-beta-to-live/1469422?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;Creating high-quality exams: The path from beta to live&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Stay tuned for general availability of this Certification in June 2026.&lt;/P&gt;
&lt;H4&gt;Additional information&lt;/H4&gt;
&lt;P&gt;For more cloud and AI Certification updates, read our recent blog post, &lt;A href="https://aka.ms/CloudandAICertificationsBlog?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;The AI job boom is here. Are you ready to showcase your skills&lt;/A&gt;?&lt;/P&gt;
&lt;P&gt;Follow our credentials news on &lt;A href="https://techcommunity.microsoft.com/category/skills-hub/blog/skills-hub-blog?wt.mc_id=credentials_AI901_blog_wwl" target="_blank" rel="noopener"&gt;&lt;EM&gt;The Skills Hub blog&lt;/EM&gt;&lt;/A&gt; as we roll out additional new Certifications in April, May, and June 2026.&lt;/P&gt;
&lt;P&gt;Join our &lt;A href="https://www.linkedin.com/groups/13561088/" target="_blank" rel="noopener"&gt;Microsoft Worldwide Learning SME Group for Credentials&lt;/A&gt; on LinkedIn for beta exam alerts and opportunities to help shape future Microsoft learning and assessments.&lt;/P&gt;
&lt;P&gt;Explore&amp;nbsp;&lt;A href="https://aiskillsnavigator.microsoft.com/credentials/?UTM_Source=CRED_Blog&amp;amp;UTM_Medium=Blog&amp;amp;UTM_Campaign=AI901" target="_blank" rel="noopener"&gt;Microsoft Credentials on AI Skills Navigator&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2026 00:55:08 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/the-skills-hub-blog/evolving-the-microsoft-certified-azure-ai-fundamentals/ba-p/4494127</guid>
      <dc:creator>LibertyMunson</dc:creator>
      <dc:date>2026-04-16T00:55:08Z</dc:date>
    </item>
  </channel>
</rss>

