Microsoft Fabric Architecture

Microsoft Fabric Architecture

Overview

Whoa! That’s quite a headline… What, we’re going to deal with the whole of Microsoft Fabric Architecture in a single blog post! No I’m not, that would be a really really long blog post and out of date after it was published. This is a starting point as this all needs to start from somewhere. “How do I setup my Fabric architecture?” is probably one of the most common questions I see on forums/socials. One thing is for sure, you’ll need Azure architecture experience to implement Fabric in a production ready enterprise environment…it may be 5 seconds to wow, but it’ll also be 5 seconds to owww if things aren’t set-up correctly.


Platform & Data Architecture

Microsoft Fabric Architecture…you sit down and start working on drawing boxes and arrows, connecting things up, and then stop… “I need Azure services to work with Fabric” and then “Ah I need to structure my Fabric workspaces…then my data storage pattern…” It can be quite a lot in one big bang. If it helps to think this way, I split it into 2 existing areas of questioning: Platform & Data Architecture.

Platform Architecture

Platform Architecture should answer the “How do we host the solution?” and includes the infrastructure, services, and tools that support Fabric. Azure tenancy, subscriptions, resource groups, capacities, DevOps, Key Vault, Data Lake (if relevant). It also includes Fabric Capacities…yes, we’ll be covering this topic too. Due to the “all in one” compute of Fabric, it’s easy to overlook this part and just think “hey, it’s just compute right?” Well it is but you’ll need to understand the workloads, isolation, bursting, smoothing, the all important capacity planning. Get this wrong and your workloads will suffer, I’ve seen plenty of social posts around “one data pipeline brought down my entire capacity and we can’t access anything!” Let’s minimise the chance of that.

Data Architecture

Data Architecture should answer the question of “How do we structure and manage the data?” and includes the structure, flow, and governance of the data itself. Think domain and workspace structuring, data storage & processing patterns, lineage, auditing, and tagging. We’ll go through structuring a Fabric deployment optimised for different scenarios, ranging in complexity which also includes application lifecycle management with source control and CI-CD. We’ll look at the Fabric items themselves such as Lakehouses and look at structuring data within.


Inter & Intra Fabric Architecture

I think of Platform Architecture as the Inter Fabric Architecture, by that I mean the services that compliment and sit outside Fabric, this could be Azure Storage accounts, Key Vault, Networking, other data services like Databricks, 3rd parties to load data from. We need to look outside of Fabric first.

And I think of Data Architecture as the Intra Fabric Architecture, which is inside Fabric itself, domains, workspaces, lakehouses, pipelines. All the items you need to stand-up a Fabric data processing and serving platform.

Here’s a basic illustration to outline my point, ignore the items in the workspace themselves as they are just to represent Fabric items.


Coarse-Grain & Detail-Grain

We’ll need to start with coarse-grain and when relevant drill down into detail-grain. Why? Well, as an example let’s look at networking and network security in Fabric. At the course-grain level we can show connectivity with Fabric to other services inside and outside Azure, at the detail level we’ll show what actual features within Fabric and what configuration those features require. We’ll need to look at the following areas (which will be expanded on):

  • Azure Tenant and Entra
  • Management Groups & Subscriptions
  • Regions & Resource Groups
  • Networking
  • Fabric
    • Capacities
    • Domains
    • Workspaces
  • Relevant Azure Services
    • Azure Key Vault
    • Azure Data Lake Gen2
    • Azure SQL Database
    • Databricks
    • DevOps (& by extension GitHub)

Documentation

“Where’s all the relevant Fabric Architecture documentation” I hear you shout? Well there is no one single resource for “Fabric Architecture” and it’s split across platform and data architecture and in various states of freshness. There are articles scattered around Microsoft’s documentation, some within the Architecture area, some within the Fabric docs themselves. I appreciate the time that MS folk have spent on these resources. Here’s a current list available:

Deployment Patterns for Microsoft Fabric

This briefly mentions tenants but really the main bulk is around capacity and workspace setup scenarios: Do you go with monolithic and have a single capacity and single workspace? Or a single capacity and multiple workspaces? Or multiple capacities with multiple workspaces?

Architecture Examples

These are more based on patterns and whilst some are Fabric specific, others mention Fabric as a component in an overall architecture.

Assessments

Anyone familiar with Azure assessment will be in familiar territory here. There was an assessment specific to Azure Synapse Analytics that I used many times, there isn’t one for Fabric currently. I asked MS but no response yet. The Analytics Journey tracker is very useful to work through areas that do relate to Fabric such as data zone design, engineering, data serving. It’s well worth your time.

Data Layout

These articles discuss data layout with Medallion being a focal point here. I also appreciate the Data Lake storage layout including folder structure, very relevant to Fabric Lakehouse File structures.


Conclusion

I’m very much looking forward to working through this blog series on Fabric Architecture, there may be some twists and turns along the way, but that’s all part of it.

I also have something exciting brewing with Johnny Winter & Craig Porteus around this space too…hopefully more on that soon.

Leave a Reply

Your email address will not be published. Required fields are marked *