GeekInData
GeekInData is a blog of notes from real delivery work on Microsoft Fabric, Databricks, Power Platform, Azure, and Microsoft Foundry. What broke, what we changed, and what held up.
October 2026
Fabric Branch Workspaces: Ready for Team Git?
Branch workspaces, selective branching and compare and commit are GA in Fabric. What I tested, what is still Preview, and where a merge can drop an edit.
Fabric Data Agents: What a 20-Question Baseline Proves
I baselined a Fabric data agent on 20 questions with no instructions. 19 were right. The miss was a guess it never asked about. Token CU is a likely floor.
Fabric Mirroring Lag: Where the Minutes Go
Changes reached Delta in a Fabric SQL database mirror in 18 seconds, then took about 2 minutes to show on the SQL analytics endpoint. What to promise.
Foundry Hosted Agents Still Need a Front Door
Hosted agents move your agent's runtime into Foundry, not your front door. When to move off a prompt agent, and what your backend must still own.
Fabric or Databricks? How I Decide
Not a feature war. Five questions I ask before choosing Fabric, Databricks or both, where each choice bites a year later, and when both is honest.
Databricks Bundles: What Changes per Target?
One bundle, three targets. What should change per environment, why modes are not a ladder, and how to split deploy and run identities for prod.
Fabric IQ: Is Your Semantic Model Ready?
Fabric IQ puts your semantic model behind Copilot Chat. Shape measures, scope the AI data schema, steer with instructions, and prove it before approval.
Agent Evals: Can a Score Block a Release?
Turn real agent conversations into a versioned Foundry evaluation set, gate releases on a pass rate, and catch regressions before users do.
September 2026
Foundry Agent Webapps: Cosmos or Azure SQL for Backend State, and When?
Split app-owned state from Foundry platform stores. Use Cosmos for document-shaped chat state and Azure SQL when app records need relational operations.
Fabric CI/CD: Merge the whole ladder, or cherry-pick what is ready?
In a multi-dev Fabric ladder, merge the tip only when everything is ready. Otherwise cherry-pick squash commits onto a temp branch, open a PR, deploy.
Foundry + private Search: Is Name or service not known a DNS problem or an auth problem?
Foundry tool listing fails with Name or service not known on a private Azure AI Search MCP? Check DNS and the VNet path first, then 403 and RBAC.
Agent Apps: Can a Public POC Become a Private MVP?
How to stage agent webapps from a public POC to a private MVP without pretending env files are a network design.
Workspace Naming: Is a One-Time Rename Cheaper Than Translating Prefixes Forever?
Inconsistent workspace name prefixes are an operational tax. A one-time rename with stable catalog names beats maintaining translation layers forever.
Env Isolation: How Do You Handle Dev/Staging/Prod with Azure CLI and Subscriptions?
Collapse redundant env templates and treat Azure CLI subscriptions and resource groups as the real isolation boundary to stop POC and MVP config drift.
August 2026
CI Gates: What Do You Actually Gate in Azure DevSecOps Pipelines?
Argue for native CI linters and language test gates so locale and string regressions fail the build before release does.
Agent Shells: How Do You Feature-Toggle Agent Capabilities Across Environments?
Replace hard-coded agent catalogs with product feature flags plus per-agent overlay rows for scope, starters, export prefixes, and access arrays.
Data Agent Readiness: Is Genie (and Fabric Agents) Really a Modeling Problem?
What has to be true in naming, modeling, and catalog descriptions before conversational analytics tools like Genie produce trustworthy answers.
Bronze Typing: Is Ingesting Everything as Strings a Good Idea?
Argue for typing published columns in bronze (or the earliest stable layer) and banning ritual CAST in silver and gold.
Agent Access: How Do You Scope an Agent's Permissions Safely?
Enterprise agent webapps need separate control planes for sign-in, agent access and knowledge entitlements. Entra app roles on the API enforce them.
Canvas Apps: When Do You Outgrow Power Apps at Platform Scale?
How to keep canvas apps maintainable at scale: fewer mega-screens, less chatty data access, more Dataverse-side work.
Semantic Migration: How Do You Rebind Reports When the Model Moves to Lakehouse?
Why lakehouse migrations fail on NULL versus zero, float drift, and type rebase settings, and how to treat parity as a contract.
Import UX: Should Uncertain AI Rows Start Selected or Deselected?
Default-deny AI import UX: keep uncertain and incomplete rows deselected, bind validity to the live section schema, and show selected versus valid counts.
MLV Data Quality: Why Can't We Do Column-Level Uniqueness Checks Natively?
Push migration checklists to per-column tables and type-aware aggregates so MLV cutovers catch semantic drift early.
MLV + SCD2: Is SCD2 in Bronze the Right Pattern Before Silver MLVs?
Explain why attribute history on a dim table should be SCD2 Materialized Lake Views before anyone builds as-of reports.
NEE Fallback: Why Do Results Differ With and Without Native Execution Engine?
Teach teams to measure where MLV DAG time actually goes and fix only actionable native-execution engine fallbacks.
Fabric CI/CD: How Do You Limit Blast Radius Across Dev Workspaces?
Why Fabric deployment tooling can republish unchanged notebooks and how to design for stable identities and smaller blast radius.
Direct Lake: Do You Still Need to Refresh a Semantic Model?
How to choose notebook, pipeline, or scheduled refresh for lakehouse semantics, and when Direct Lake beats a SQL endpoint for heavy facts.
Lakehouse Design: One Lakehouse with Schemas, or Many Lakehouses?
How to choose between multiple Fabric lakehouses and a schema-enabled lakehouse for bronze, silver, and gold, including CI/CD and naming fallout.
Enterprise Agents: How Do Big Companies Secure AI Agents and Knowledge Access?
How to design folder-scoped knowledge access for enterprise agents so chat, library browse, downloads, and citation files share one entitlement model.
Fabric Monitor: How Do You Systematically Monitor Refresh Failures?
Show why scattered Fabric monitor scripts should become one skill/runbook interface for humans and coding agents.
July 2026
Materialized Lake Views: Can MLVs Replace Silver and Gold Tables?
Move a large set of warehouse views to MLVs as a phased program: schema-enabled lakehouses, shortcut layouts, and POC gates before bulk conversion.
Spark Ingest: How Do You Load Large Tables Without Driver OOM?
Explain batched parallel page ingest for large source tables so full reloads finish without driver OOM.
Agent Traceability: How Do You See Inside an AI Interaction for Audit?
Argue that activity timelines must reconcile Foundry traces, MCP knowledge searches, and UI tool-call counts, or reviewers will never trust the product.
Agent Pilots: Should You Rank Use Cases Before Picking an Agent Topology?
Start an enterprise agent program from ranked use cases (orchestrator, single agent or tools), not from a menu of model endpoints.
Microsoft Foundry: How Do You Persist Agent Sessions Outside the Chat Shell?
Where conversation state should live when a browser shell wraps a platform agent, and why refresh and quit behavior is an architecture choice.
Large Facts: Why Does a Green Refresh Still Drift?
Diagnose large fact table refresh drift as mismatched incremental contracts between notebooks, watermarks, and semantic consumers.
Microsoft Foundry: Is Deploy as Web App Enough, or Do You Need a Backend Proxy?
Walk through a VNet-integrated container App Service pattern with secretless OBO, managed identity, and private egress to Foundry, Search, and storage.
June 2026
Secure AI Shells: Should the Browser Talk to Foundry, or Only Through a Proxy?
Compare hardening options for browser-to-API proxies in front of agent backends, including runtime mismatch and Front Door failure modes.
Fabric PII: What Would You Do When Ingesting Sensitive Data?
A reusable notebook redaction contract makes free-text exports from Fabric safe without blanking the legitimate addresses and codes people still need.
Pivot Once in Gold: How Do You Replace Wide Import Pivots for Direct Lake?
Replace OUTER APPLY Import-mode pivots with a pre-pivoted gold fact built in PySpark for Direct Lake.
Semantic Relationships: Why Do Model Relationships Break After Pipeline Runs?
Show how int64 vs string mismatches across role-playing dims silently break relationships and how to align gold SQL with TMDL.
Gold + Direct Lake: Direct Lake or Import for Large Fact Tables?
Show why a high-volume source table belongs in gold as a documented fact table with shared key matching and Direct Lake storage mode for volume.
OneLake Shortcuts: Should Shortcuts Stay Bronze-Only?
Argue that bronze should be a contract of OneLake shortcuts and clean views, not a second physical copy of upstream gold and silver.
May 2026
Warehouse Views: Should Heavy Views Be Materialized for Direct Lake?
Propose a layered performance playbook: drop orphans, cheap rewrites, then materialize the two or three consolidations everything else depends on.
Direct Lake on OneLake: Is the Juice Worth the Squeeze?
Reframe literal URL required failures as service regressions with validators, promotion playbooks, and support cases - not as eternal architecture dogma.
Variable Library: How Do You Switch Active Value Sets from Dev to Prod?
Use a Git-tracked Fabric Variable Library with per-stage value sets so rebind notebooks and pipelines stop hard-coding workspace IDs.
Fact Remodel: Shared Dimensions, or Split Facts for Cleaner Models?
Show why many-to-many relationships between two dimensions need an explicit bridge/fact remodel before report pages can be trusted.
Fabric Lineage: What's Next When Pipeline Lineage Becomes Untraceable?
Argue for a small lineage explorer over ad-hoc pipeline docs so engineers can see dependencies before they break them.
Gold Semantic Contract: Can You Choose Which Columns Reach the Direct Lake Model?
Argue that gold tables only become platform assets when unmatched keys, captions, and relationships are explicit in the semantic model.
April 2026
Databricks Genie: Can It Build My Deck and Deploy My App?
What Databricks Genie Code changes for deck generation and app deploy when the assistant already sits inside your governed lakehouse context.
Azure Custom Vision: How Do You Train and Run Image Classification in an Azure Function?
Shape an image classification web app on Azure so the UI stays simple, the backend stays operable, and Custom Vision iteration avoids the demo trap.
Pose Estimation: MediaPipe or YOLOPose for Real-Time Pose Classification?
Real-time pose is a capture, infer and render systems problem. Budget latency, plan for backpressure, and pick MediaPipe or YOLOPose for runtime shape.
Fabric Airflow: Is It Possible to Use Apache Airflow with Fabric?
Keep Fabric as the execution plane and Airflow as the orchestration plane. Thin tasks, terminal-state success, and what breaks when one tool does both.