Turn your real-world experience into part of the show.

Episodes

Oct. 23, 2025

Dataverse vs SharePoint for Power Apps Governance

SharePoint Lists feel “free” and familiar, so teams prototype apps on them—and then accidentally build departments on sand. As lists multiply, you get broken lookups, 5k-item throttling, rogue permissions, attachment bloat, and schema drift. Governance collapses quietly: no environment isolation, inconsistent security, unreadable audit trails, and reporting that turns into archaeology. Dataverse exists to stop that decay. It’s the Power Platform’s governed data backbone: relational schema with referential integrity, role/field-level security, managed environments (dev/test/prod), DLP/retention via Purview, reliable delegation, and first-class integration with Power Apps, Power Automate, Power BI, and Dynamics. The “Dataverse is expensive” objection is a cost illusion—SharePoint’s hidden rework, outages, and compliance risk cost more over time. Practical rule: use Lists for lightweight, short-lived, non-sensitive data; use Dataverse for anything relational, regulated, cross-app, or lon…
Guest: Mirko Peters
Dataverse vs SharePoint for Power Apps Governance
M365 FM Podcast
Dataverse vs SharePoint for Power Apps Governance
Oct. 23, 2025

Reduce Azure PostgreSQL Flexible Server Costs

Azure Database for PostgreSQL – Flexible Server isn’t pricey because of traffic; it’s pricey because defaults quietly overprovision compute, storage, and HA. “Managed” means patched, not optimized—you still pay for VM cores at idle, disks that only grow, and standby replicas that double costs while doing nothing. The audit hits five leak paths: baseline vCores (and burstable traps), storage auto-grow with no auto-shrink, Premium SSD v2 overbuy (capacity + IOPS + MB/s), HA mirroring that bills 2× for zero business value in most tiers, and backups/maintenance that charge or reboot when you’re not looking. The playbook: right-size from observed metrics, cap/trim storage, reserve HA for revenue-critical writes, use read replicas where they earn their keep, set custom maintenance windows, and pair snapshots with tested logical dumps. Cost control isn’t a SKU—it’s discipline: measure, cap, schedule, and delete the “temporary” you forgot. Defaults prevent support tickets, not invoices.
Guest: Mirko Peters
Reduce Azure PostgreSQL Flexible Server Costs
M365 FM Podcast
Reduce Azure PostgreSQL Flexible Server Costs
Oct. 22, 2025

Run Azure Application Gateway Without Public IP Exposure

For years, a “private” Azure Application Gateway still needed a public IP and outbound Internet just to talk to Microsoft’s control plane. Management (control plane) and user traffic (data plane) shared the same door—an architectural contradiction that forced ugly firewall exceptions, Azure-DNS dependencies, and auditor discomfort. The new Network Isolation model finally fixes it: control traffic now travels entirely over Azure’s private backbone, fully separated from your app’s data path. Enable a subscription flag, deploy new gateways, and you can drop the public IP, block all Internet egress, use your own DNS, and still keep WAF, probes, scaling, and cert automation humming. Caveat: isolation applies to new gateways (no in-place flip), and Private Link pairing isn’t supported yet on isolated builds. The move isn’t just config—it’s philosophy: Zero Trust by structure, not exception. Register the flag, redeploy, and retire every “temporary” rule that kept your “private” gateway kinda…
Guest: Mirko Peters
Run Azure Application Gateway Without Public IP Exposure
M365 FM Podcast
Run Azure Application Gateway Without Public IP Exposure
Oct. 22, 2025

Speed Fabric and AKS Workloads with Local NVMe Storage

Your Fabric and Power Platform workloads aren’t slow because of Spark or DAX—they’re slow because your data lives far from your compute. Managed storage adds network hops, caps IOPS, and taxes every read/write with latency. The fix isn’t “more nodes”; it’s proximity. Azure Container Storage v2 (ACStor v2) puts hot data on local NVMe inside your AKS nodes, exposing silicon-speed via a lean, CSI-based, ephemeral driver that stripes across all NVMe disks for obscene throughput (multi-GB/s, ~M IOPS). No SANs, no LVM, no etcd—just raw speed you’re already paying for in L-series/Dv6/NC VMs. Use it for Spark shuffles, Dataflows Gen2 staging, Direct Lake caches, and AI model weights; keep durable truth in Blob/managed stores. Result: 3–5× faster pipelines and dashboards, lower Fabric capacity burn, and dramatically cheaper I/O. ACStor v2 reframes storage: NVMe = racetrack (hot, fast, disposable), Blob = archive (cold, durable, cheap). Bring the bytes to the CPU and watch “overnight jobs” fini…
Guest: Mirko Peters
Speed Fabric and AKS Workloads with Local NVMe Storage
M365 FM Podcast
Speed Fabric and AKS Workloads with Local NVMe Storage
Oct. 21, 2025

Reduce the Multi-Cloud Network Tax Across Azure, AWS, and GCP

Multi-cloud sounds like freedom—until physics and billing collide. Stitching Azure, AWS, and GCP together turns “resilience” into a toll road: you pay egress to leave one cloud, port/cross-connect fees in the colocation meet-me, and operational overhead to run three of everything (IAM, gateways, monitors, DNS). Latency adds a hidden tax: even with private interconnects, packets still traverse real buildings and fiber, so microseconds compound into slower pipelines and bigger clusters “to compensate.” The result: triple networks, triple consoles, triple invoices—often to move the same dataset in circles. Fixes aren’t shiny services; they’re disciplined design. Pick a primary cloud (where the data lives) and treat others as satellites. Prefer shared services/APIs over bulk data copies—compute near storage, move results, not raw tables. If multi-cloud is unavoidable, colocate smartly: choose regions in the same metro and land in the same carrier-neutral facility to cut latency and cos…
Guest: Mirko Peters
Reduce the Multi-Cloud Network Tax Across Azure, AWS, and GCP
M365 FM Podcast
Reduce the Multi-Cloud Network Tax Across Azure, AWS, and GCP
Oct. 21, 2025

Build Internal Outlook Newsletters with Dynamic Groups

Most internal updates die in Teams noise. The fix isn’t a new platform—it’s wiring together tools you already own. Build a clean, repeatable newsletter pipeline inside Microsoft 365: target precisely with Dynamic Distribution Groups (Entra ID attributes), send consistently from a shared mailbox (branding + continuity), compose with a reusable Outlook template (clear blocks, predictable layout), automate the intake → approval → send workflow (Forms + Planner/Loop + Power Automate), and measure with Exchange traces + Delivery Reports → Power BI. Segmentation keeps messages relevant; a shared sender builds trust; templates train readers; workflow removes heroics; analytics replace guesswork. Wrap it all in light governance (roles, retention, versioned assets), then scale to other departments with the same pattern. The payoff: updates stop getting buried, audiences see only what matters, and leaders finally get measurable engagement—no extra licenses, just discipline across Outlook, Ex…
Guest: Mirko Peters
Build Internal Outlook Newsletters with Dynamic Groups
M365 FM Podcast
Build Internal Outlook Newsletters with Dynamic Groups
Oct. 20, 2025

Prevent Dataverse Guest Access Data Leaks

Your Power App didn’t get “hacked”—it was over-permitted. Treating Dataverse like SharePoint (big buckets, broad roles) turns guest access into a data breach waiting to happen. Dataverse is a relational fortress built on granular privileges (Create/Read/Write/Delete/Append/Append To/Assign/Share), scoped access (User, Business Unit, Parent:Child, Organization), and Business Unit boundaries. One accidental Organization-level privilege on a guest or team role overwhelms every careful filter and exposes records across the environment. This episode shows the failure pattern (cloned roles, Parent:Child scope, team inheritance) and then the fix: isolate external users in their own Business Unit, build minimal guest roles from scratch, prefer Team ownership + Access Teams for precise sharing, apply Field-Level Security to sensitive columns, and automate join/leave via Entra ID. Close with governance: audit ownership and roles, enforce DLP with Purview, monitor high-scope changes, and run …
Guest: Mirko Peters
Prevent Dataverse Guest Access Data Leaks
M365 FM Podcast
Prevent Dataverse Guest Access Data Leaks
Oct. 20, 2025

Reduce Power BI Premium Costs with Better Data Models

Your dashboards aren’t just slow—they’re expensive. Every bloated column, lazy import, and tangled relationship silently taxes your Power BI Premium capacity and your team’s time. That inefficiency adds up to real money—often five figures a year. The cure isn’t a plug-in; it’s architecture. Move from kitchen-junk-drawer models to a proper star schema: lean fact tables (events) surrounded by descriptive dimensions (product, customer, date). Keep relationships one-to-many, single-direction. Use surrogate keys, not “unique-ish” natural keys. Then impose DAX discipline: push transformations to Power Query (M) instead of calculated columns, favor columnar ops over row iterators, build clean base measures and layer logic with CALCULATE. Avoid bidirectional filters by default; reach for CROSSFILTER/TREATAS only when you truly mean it. Measure and tune with DAX Studio until refreshes finish in minutes, not hours. The payoff: lower capacity burn, faster refreshes, higher adoption, and re…
Guest: Mirko Peters
Reduce Power BI Premium Costs with Better Data Models
M365 FM Podcast
Reduce Power BI Premium Costs with Better Data Models
Oct. 19, 2025

Build an Automated Microsoft 365 GRC Reporting Agent

Manual GRC reporting burns time and budget: exporting Purview logs to Excel, reconciling pivots, and hoping nothing changed overnight. Replace that drag with an autonomous GRC agent built entirely on Microsoft 365: Purview for audit truth, Power Automate for scheduled extraction + classification, and Copilot Studio for clean, human-readable summaries. The agent is deterministic—not guessy “AI.” You define sources, filters, thresholds, tone, and distribution. Pipeline: Power Automate (on a recurrence) pulls scoped Purview activities, filters noise, normalizes JSON, persists a slim history (Dataverse/SharePoint/SQL), classifies per user/event with numeric thresholds, and logs every run (success/failure) for auditability. It then calls a Copilot Studio endpoint with a structured payload to generate (1) exec summary, (2) technical appendix, (3) recommendations, which the flow publishes to Teams and archives to SharePoint—every time, same format, same metadata. Net effect: standardiz…
Guest: Mirko Peters
Build an Automated Microsoft 365 GRC Reporting Agent
M365 FM Podcast
Build an Automated Microsoft 365 GRC Reporting Agent
Oct. 19, 2025

Lock Down Copilot Studio Agent Permissions with DLP

Copilot Studio agents don’t have their own ethics—or identities. By default they borrow the caller’s token, so any SharePoint, Outlook, Dataverse, or custom API you can see, your bot can see—and say. That’s how “innocent” answers leak context: connectors combine, chat telemetry persists, and analytics stores echo fragments you never meant to share. The fix isn’t ripping out AI; it’s Power Platform DLP done correctly—plus Entra scoping and continuous monitoring. Design the fortress at the connector–environment boundary: classify connectors into Business / Non-Business / Blocked, forbid cross-group traffic, and apply a tenant-level policy that overrules everything below. Put Microsoft 365 data sources (SharePoint/Outlook/OneDrive/Dataverse) in Business; quarantine AI/HTTP/Custom in Non-Business or Blocked; and stop assuming “tenant-wide” means “every environment.” Enforce least-privilege in Entra, segregate environments by function, and test like an attacker. There’s one sealing m…
Guest: Mirko Peters
Lock Down Copilot Studio Agent Permissions with DLP
M365 FM Podcast
Lock Down Copilot Studio Agent Permissions with DLP
Oct. 19, 2025

Build Responsive Power Apps with Containers and Components

Most Power Apps look “off” because makers skip Containers and reinvent UI on every screen. The fix is structural (containers) and systemic (component libraries). Containers replace fragile X/Y positioning with responsive layout physics—stack, align, distribute, and resize automatically across devices. Component libraries encode brand + behavior once (headers, nav, buttons, dialogs) and push updates everywhere—so one logo, one color change, one accessibility tweak propagates across all apps. Build screens like modern web layouts: a top-level vertical container → header, main area (sidebar + content in a horizontal container), and an optional footer. Let gap, padding, align, justify, and flexible width/height do the work—no positioning formulas. Then enforce look-and-feel with a central library (cmp_Header, cmp_Nav, cmp_ButtonPrimary) exposing only safe properties (text, icon, visibility). Ship library updates via CI/CD so marketing changes land once, globally. Finally, scale with…
Guest: Mirko Peters
Build Responsive Power Apps with Containers and Components
M365 FM Podcast
Build Responsive Power Apps with Containers and Components
Oct. 18, 2025

Scale HR Onboarding with Power Automate and Logic Apps

Power Automate is not your integration engine—it’s your burnout factory. In this episode, we expose why mission-critical workflows keep collapsing under throttling, licensing traps, and “citizen-developer optimism.” You’ll learn why Power Automate chokes at scale, why your 3 a.m. approval flow dies without warning, and how Logic Apps instantly outperforms it by 10×. We break down the hybrid pattern professionals really use—Power Automate for buttons, Logic Apps for the heavy lifting. If your business depends on flows held together by retries and hope, this episode might save your career.
Guest: Mirko Peters
Scale HR Onboarding with Power Automate and Logic Apps
M365 FM Podcast
Scale HR Onboarding with Power Automate and Logic Apps
Oct. 18, 2025

Manage Microsoft 365 Copilot with PowerShell

The Microsoft 365 Admin Center is a great map—but it’s not the vehicle. For Copilot and AI governance, clicking through GUI toggles won’t scale, won’t prove compliance, and won’t survive audits. The Admin Center prioritizes visibility; PowerShell delivers authority: bulk actions, reproducible changes, immutable logs, and environment-wide consistency. You argue three big gaps the GUI can’t close: (1) Bulk & repeatability (licenses, DLP, exclusions across tenants and BUs), (2) Governance evidence (who enabled what, when, with which data boundary), and (3) True auditing (inputs/prompts, model access, cross-workload traces). Scripts turn policy from a PDF into enforceable law—scheduled, versioned, and self-documenting. Automation encodes expertise, removes human drift, and creates receipts that pass audits: detect → remediate → validate. The playbook: adopt PowerShell/Graph for inventory and control, wire DLP/RBAC with code, schedule compliance jobs, and export signed audit artifact…
Guest: Mirko Peters
Manage Microsoft 365 Copilot with PowerShell
M365 FM Podcast
Manage Microsoft 365 Copilot with PowerShell
Oct. 18, 2025

Microsoft Copilot Rollout: DPA and Product Terms Checklist

Turning on Microsoft Copilot isn’t magic—it’s governance in motion. That toggle activates a chain of contractual, technical, and organizational controls that either align…or explode. Contracts (Microsoft Product Terms + DPA) set the legal wiring: data residency, processor role, IP ownership, no training on your tenant data. Licenses unlock features; roles and permissions decide what Copilot can actually surface via Microsoft Graph. If RBAC and group membership are sloppy, Copilot will faithfully mirror that chaos. Your exposure equals your hygiene. Copilot only shows what users already can access, which means overshared SharePoint/Teams libraries and unlabeled documents become prompt-ready. Purview’s labels, DLP, retention, eDiscovery—and Defender’s endpoint/runtime enforcement—are the real brakes. Admin Center provisions; Purview classifies and audits; Defender blocks at runtime. Governance that lives in PDFs fails; governance encoded in policies and automation wins. Practical …
Guest: Mirko Peters
Microsoft Copilot Rollout: DPA and Product Terms Checklist
M365 FM Podcast
Microsoft Copilot Rollout: DPA and Product Terms Checklist
Oct. 17, 2025

Microsoft 365 Copilot vs Teams Premium: What to Buy First

Copilot in Teams isn’t a cute sidebar; it’s an orchestration layer across meetings, chats, and a central intelligence hub (M365 Copilot Chat). It runs on Microsoft Graph, so it only surfaces what you already have permission to see—precise, not omniscient. In meetings, Copilot turns live transcription into decisions, actions, and mid-call catch-ups you can export (when allowed by labels/policy). In chat, it crushes thread sprawl into cited digests and drafts grounded in the original posts and files. In the Copilot Chat hub (in Teams, Microsoft365.com, or copilot.microsoft.com), one question reconciles Outlook, SharePoint, and Teams with links back to sources. Go further with Agents built in Copilot Studio: approved, published, and governed task executors that file tickets, route forms, and update records—within RBAC and policy limits. Reality check: behavior depends on admin settings (e.g., “On with transcript required”), sensitivity labels, DLP, Defender, and licensing. Done right, Co…
Guest: Mirko Peters
Microsoft 365 Copilot vs Teams Premium: What to Buy First
M365 FM Podcast
Microsoft 365 Copilot vs Teams Premium: What to Buy First
Oct. 16, 2025

Write Better Microsoft 365 Copilot Prompts

The “perfect prompt” is a myth. Pros don’t one-shot Copilot; they iterate. They feed just-enough context, set deliberate tone, and refine in short loops until output matches business reality. With Microsoft 365 Copilot, grounded responses come from your Graph data, so structure beats verbosity: state goal → context → format/tone → sources and then converge step-by-step. Newer models (more memory, better following) amplify habits: good structure gets great; sloppy prompts yield polished nonsense. Treat Copilot like a capable colleague: give it blueprints (context), assign a role (tone), and checkpoint the work (iteration & verification). Save high-performers as templates. Share them. This isn’t wizardry—it's systems thinking.
Guest: Mirko Peters
Write Better Microsoft 365 Copilot Prompts
M365 FM Podcast
Write Better Microsoft 365 Copilot Prompts
Oct. 16, 2025

EU AI Act Compliance for Copilot in HR and Finance

The EU AI Act doesn’t just regulate model makers—it deputizes deployers. Rolling out tools like Microsoft 365 Copilot or ChatGPT makes you responsible for risk classification, documentation, transparency, and monitoring. The “risk ladder” (unacceptable, high, limited, minimal) is determined by use case, not brand. Copilot arrives with enterprise guardrails (Purview, logging, Graph permissions, EU Data Boundary), but you still have to configure, log, and prove. ChatGPT’s flexibility is great, but in standalone use you must build the compliance scaffolding yourself (DPIA, RoPA, DLP, audit logs, disclosures). The episode gives a practical survival kit: classify your use, wire Purview/DLP/retention, enable audit trails and activity history, run DPIAs, train staff, and mandate citations + human review for people-impacting decisions. Regulation isn’t an innovation killer—it’s the scaffold that lets you scale without setting off legal tripwires.
Guest: Mirko Peters
EU AI Act Compliance for Copilot in HR and Finance
M365 FM Podcast
EU AI Act Compliance for Copilot in HR and Finance
Oct. 16, 2025

Design an Enterprise AI Factory for GPUs, Data, and MLOps

AI is not “just another app” you park on general-purpose servers. Enterprise AI behaves like an ecosystem — volatile workloads, bursty data, exotic compute, and constant model evolution. That’s why so many AI pilots glow in the lab then die in production. The five tells that you’re no longer dealing with a normal workload: (1) you need horizontal scale, (2) accelerators like GPUs/TPUs matter, (3) data pipelines must flood continuously not trickle, (4) models mutate across versions and require versioning, observability and drift monitoring, (5) integration with legacy systems becomes the real bottleneck. The escape from “pilot / proof-of-concept death zone” is MLOps + orchestration — a Factory model — where DataOps, MLOps and GenAIOps operate from a unified command deck: templates, RBAC, private networking, GPU scheduling, AutoLake-style consistent data surfaces, and repeatability over artisanal hacking. The engine room is hardware + data + algorithms — and balance across those three …
Guest: Mirko Peters
Design an Enterprise AI Factory for GPUs, Data, and MLOps
M365 FM Podcast
Design an Enterprise AI Factory for GPUs, Data, and MLOps
Oct. 16, 2025

Copilot Memory vs Windows Recall vs Vision

Copilot Memory isn’t stealth surveillance—it only saves what you explicitly ask it to remember (e.g., tone, format, project tags). Every save is announced with “Memory updated.” You can review, edit, or wipe entries anytime. The real privacy hazard is confusing Memory with Recall (automatic, device-local screenshots on Copilot+ PCs) or Vision (opt-in, realtime screen/camera analysis that discards images when the session ends; only the text chat can persist). Three features, three consent models. Users and admins both have hard controls—toggles, deletions, tenant policies, and eDiscovery visibility—so personalization is governed, not guessed.
Guest: Mirko Peters
Copilot Memory vs Windows Recall vs Vision
M365 FM Podcast
Copilot Memory vs Windows Recall vs Vision
Oct. 15, 2025

Govern High-Risk Power Platform AI Under the EU AI Act

This episode is a practical walk-through of what actually goes wrong when organizations deploy copilots or chatbots without Responsible AI guardrails. It explains why: modern LLMs are non-deterministic prompt injection is not hypothetical bad outputs can cascade across business workflows faster than any human mistake Then it walks through the EU AI Act (which is now real, and not optional), and the implications for Power Platform / Microsoft 365 builders — especially if you’re building anything that touches employment, credit or productivity scoring. Finally, it closes with the practical shields that already exist inside Microsoft 365 / Power Platform — and the final “line of defense” — a functioning Governance Board.
Guest: Mirko Peters
Govern High-Risk Power Platform AI Under the EU AI Act
M365 FM Podcast
Govern High-Risk Power Platform AI Under the EU AI Act
Oct. 14, 2025

Reduce Developer Backlogs with Citizen Automation

Most organizations don’t lack coding talent — they lack capacity because requests are funneled into a tiny central dev team. This creates a backlog that burns out developers and traps massive value inside manual work. The unlock isn’t “more IT,” it’s enabling citizen developers—frontline employees who know the work best—to build small, safe automations themselves. With Power Platform + guardrails (environments, DLP, CoE, admin controls) those micro-automations stack up into significant enterprise-level time recovery. Meanwhile, professional developers return to strategic architecture work instead of small repetitive fixes. Forrester TEI data shows the financial outcome is not subtle: ~248% ROI, payback in under 6 months, ~200–250 hours saved per user yearly, and an NPV around $39.85M when scaled across the org. Thesis: distribute automation, don’t centralize it — but do it under governance.
Guest: Mirko Peters
Reduce Developer Backlogs with Citizen Automation
M365 FM Podcast
Reduce Developer Backlogs with Citizen Automation
Oct. 14, 2025

Prove Microsoft 365 Copilot ROI for Sales Teams

This episode breaks down the real return organizations see from Copilot by reframing it as a time-recovery system rather than a productivity gimmick. It starts with the hidden cost of modern work: hours lost every week to emails, meetings, drafts, reports, and administrative upkeep that create the feeling of motion without real progress. Copilot’s value comes from collapsing this routine work so that time and attention can be redirected toward higher-impact outcomes instead of being consumed by maintenance. The discussion shows how even small time savings compound at scale. When people recover a handful of hours each month, the effect is modest individually but dramatic across thousands of employees. These reclaimed hours become a flexible currency that can either disappear back into busywork or be intentionally reinvested into strategic work. The episode stresses that results depend heavily on how organizations choose to use that recovered time, not just on deploying the tool. …
Guest: Mirko Peters
Prove Microsoft 365 Copilot ROI for Sales Teams
M365 FM Podcast
Prove Microsoft 365 Copilot ROI for Sales Teams
Oct. 13, 2025

AI Agents vs Automation: When to Use Each

This episode explains the real difference between automation and agents, cutting through the confusion created by marketing and buzzwords. Automation is framed as rigid and repetitive, useful for consistent, rule-based tasks but incapable of adapting when conditions change. Agents, by contrast, are autonomous systems that observe their environment, plan their next steps, and act based on judgment rather than fixed scripts. That difference matters because agents can carry memory, adapt to new situations, and make decisions without constant human intervention, while automation simply replays instructions. The core of true agent behavior is the Observe–Plan–Act loop. Agents continuously gather signals from their environment, reason about possible actions using memory and goals, execute decisions through integrations, and then learn from the results. This loop allows agents to improve over time instead of breaking when something unexpected happens. Without this cycle, a system may look…
Guest: Mirko Peters
AI Agents vs Automation: When to Use Each
M365 FM Podcast
AI Agents vs Automation: When to Use Each
Oct. 13, 2025

Build Auditable AI Agents with Azure AI Foundry

Azure AI Foundry isn’t “just a big model.” It’s a governed runtime where every interaction is logged and traceable. Agents are built as disciplined “squad leaders” from three gears—Model (brain), Instructions (orders), Tools (capabilities)—and their work leaves receipts via Threads (conversation history), Runs (executions), and Run Steps (step-by-step actions). This structure turns AI from ad-hoc chat into reproducible, auditable systems you can operate at enterprise scale: models are swappable, tools are permissioned and observable, and governance (identity, audit, approvals) is built in. Bottom line: agents ≠ scripts; with Foundry’s OPA mindset and lifecycle logs, you get autonomy with accountability.
Guest: Mirko Peters
Build Auditable AI Agents with Azure AI Foundry
M365 FM Podcast
Build Auditable AI Agents with Azure AI Foundry