#Lakehouse Architecture and Enterprise Topology
"Design secure, scalable and high-performing Lakehouse platforms" β at enterprise scale this is mostly a topology and operating-model question, not a pipeline question.
#1. Control plane vs compute plane
The distinction every Databricks security and networking conversation starts from. Be able to draw it in 90 seconds.
βββββββββββββββββββββββββ DATABRICKS CONTROL PLANE (Databricks cloud account) ββββββββββββββββββββ
β Web application Β· REST APIs Β· Notebooks & source Β· Job scheduler & orchestration β
β Cluster manager Β· Unity Catalog metastore service Β· Query history & system tables β
βββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β (control messages; no customer data at rest)
βββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββ
βΌ βΌ
βββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββ
β CLASSIC COMPUTE PLANE β β SERVERLESS COMPUTE PLANE β
β (your cloud account / VPC) β β (Databricks-managed account) β
β β’ VMs you can see and tag β β β’ Instant start, scale to zero β
β β’ Your network controls β β β’ Network controls via NCC / β
β β’ Full instance-type control β β egress policy / Private Link β
βββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββ
β β
βββββββββββββββββββΊ CLOUD STORAGE ββββββββββββββββββββ
(S3 / ADLS / GCS β your account, your data)
The sentence that answers most security questions: "Your data lives in your cloud storage. The control plane orchestrates; it isn't where the data sits. The decision that actually matters is whether compute runs in your VPC (classic) or Databricks' (serverless), and that drives your network design β customer-managed VPC and Private Link for classic, network connectivity configurations and egress control for serverless."
#2. The object hierarchy
ACCOUNT (one per cloud provider; identity, billing, admin, metastore management)
βββ METASTORE β one per region; the Unity Catalog root
β βββ CATALOG ββ SCHEMA ββ { TABLE Β· VIEW Β· VOLUME Β· FUNCTION Β· MODEL }
βββ WORKSPACE (many; a working environment, attached to one metastore)
βββ compute Β· jobs Β· dashboards Β· notebooks Β· SQL warehouses
Two facts people get wrong, so state them cleanly:
- A metastore is regional, and a workspace attaches to exactly one. Multiple workspaces in a region share one metastore β that shared metastore is what makes data discoverable and governable across teams.
- Identity lives at the account level (users, groups, service principals via SCIM) and is federated down to workspaces. Groups defined once, granted everywhere.
#3. How many workspaces? How many metastores?
The question you will be asked, phrased as "we have 14 teams, how should we structure this?" The wrong answer is a number. The right answer is a set of criteria and then a recommendation.
#What a workspace boundary actually gives you
- A blast-radius and access boundary for compute, jobs and notebooks
- A unit for cost attribution and cloud-account separation
- Separate cluster policies, quotas and admin delegation
- Regional placement and, where needed, data-residency alignment
#What it costs you
- Duplicated administration, policies and CI/CD targets
- Fragmented discovery unless UC is used well
- More network plumbing per workspace
#The pattern that works at enterprise scale
Environment separation is non-negotiable; team separation is a judgement call.
Region: eu-west-1 ONE METASTORE
β
βββ Workspace: platform-prod βββββββ
βββ Workspace: domain-a-prod βββ catalogs: prod_sales, prod_finance, prod_risk β¦
βββ Workspace: domain-b-prod βββββββ (bound to prod workspaces only)
β
βββ Workspace: shared-dev ββββββββββ¬ββ catalogs: dev_sales, dev_finance β¦
βββ Workspace: shared-test βββββββββ
- One metastore per region, catalogs as the isolation unit per environment and domain.
- Workspace-catalog binding so a dev workspace physically cannot attach production catalogs β this is what makes a single metastore safe across environments.
- A workspace per domain in production when domains have genuinely different admin, compliance or cost-ownership needs; a shared workspace when they do not. Do not create 14 workspaces reflexively.
- Separate metastores per environment only when you need hard isolation and are willing to give up cross-environment lineage and sharing β it makes promoting between environments harder, and the usual answer is catalogs plus binding instead.
The interview line: "I'd default to one metastore per region with catalogs as the isolation unit, and use workspace bindings so dev can't see prod. I'd add workspaces where there's a real administrative or regulatory boundary β not per team by default, because each workspace is recurring operational cost and the governance model already gives me the isolation."
#4. The medallion architecture β and its honest critique
SOURCES βββΆ BRONZE βββββββββββΆ SILVER βββββββββββΆ GOLD βββββββΆ CONSUMPTION
raw, append-only cleansed, business BI Β· ML Β·
schema-on-read conformed, aggregates apps Β· agents
immutable history deduplicated, dimensional
full fidelity quality-enforced models
- Bronze: exact source fidelity, append-only, with ingestion metadata (source file, ingest time, batch id). Never transform destructively here β bronze is your ability to reprocess.
- Silver: deduplicated, typed, conformed, quality-checked; the layer most engineering teams actually build against. CDC is usually applied here.
- Gold: business-level aggregates and dimensional models, serving BI, apps and agents.
The critique to have ready (it shows you have done this in anger, not read a blog):
"Medallion is a useful default and a bad religion. Three failure modes I watch for: teams create all three layers for data that needed one, so you pay three times to move a lookup table; 'silver' becomes a dumping ground with no owner; and the layer boundaries get mistaken for team boundaries, which creates hand-offs and queues. I use it as a naming convention for quality guarantees, and I'm happy to collapse layers where the guarantee is already met."
How many layers for a small source? Two is often right. Say so β it signals judgement over dogma.
#5. Data mesh on Unity Catalog
Mesh maps cleanly onto UC, which makes it a common enterprise ask.
| Mesh principle | UC mechanism |
|---|---|
| Domain ownership | A catalog per domain, owned by the domain team |
| Data as a product | Curated gold schemas with owners, documentation, SLAs; Domains for business-aligned grouping |
| Self-serve platform | Cluster policies, asset bundles, templates, paved-road pipelines |
| Federated governance | Account-level groups, tag-based (ABAC) policies, central audit via system tables |
The honest caveat to volunteer: mesh fails organisationally far more often than technically. If the domains do not have their own engineers and their own budget, you get "mesh" as a naming convention over a central team that is now also blamed for everything. Ask about funding and staffing before endorsing mesh β and say that in the interview, because it demonstrates you have seen it fail.
#6. Environments, promotion and CI/CD
The unit of promotion is code plus configuration, never data.
- Databricks Asset Bundles (DABs) β declare jobs, pipelines, clusters and permissions as YAML in the repo, deploy the same bundle to dev/test/prod with per-target overrides. This is the standard answer for "how do you do CI/CD" and you should name it immediately.
- Git folders / repo integration for source control of notebooks and code.
- Environment parity via catalogs: the same code refers to
${catalog}.schema.table, with the catalog supplied per target. - Test data strategy:
SHALLOW CLONEfrom production into a dev catalog gives realistic data instantly with no storage copy β subject to the data-sensitivity question, which is where masking and synthetic data come in. - Pipeline of record: Git β CI validates and runs tests β bundle deploys to test β integration tests β promote to prod. Service principals, not personal tokens, own production deployment.
#7. Disaster recovery
A question that separates architects from engineers, because the interesting part is what isn't automatically replicated.
What you must handle explicitly:
- Data β cloud storage replication (cross-region bucket replication) or
DEEP CLONEon a schedule. Storage replication is cheaper and continuous; deep clone gives you transactionally consistent, table-level control. - Metastore β a UC metastore is regional. A second region needs its own metastore, and the catalog/permission structure has to be reproduced. This is the part people forget.
- Workspace configuration β clusters, policies, jobs, permissions. Reproduce from code (asset bundles + Terraform), never by hand. If your DR plan is a runbook of UI clicks, it is not a DR plan.
- Identity and secrets β groups, service principals, secret scopes, external credentials.
- Orchestration state β where a failed-over pipeline resumes; streaming checkpoints are region-specific and generally need to be re-established.
Postures:
| Posture | RPO / RTO | Cost | When |
|---|---|---|---|
| Backup and restore | Hoursβdays | Low | Non-critical analytics |
| Pilot light | Hours | Low-medium | Most enterprise analytics |
| Warm standby | Minutesβhour | Medium-high | Regulated, business-critical |
| Active/active | Near-zero | High, and genuinely complex | Rare; usually only for serving layers |
The line: "Most analytics platforms claim they need active/active and actually need pilot light with a tested restore. I'd rather have a four-hour RTO we've genuinely rehearsed than a one-hour RTO on paper that nobody has ever executed."
#8. Reference architecture β enterprise, regulated, multi-domain
The picture to be able to draw cold. Practise until it takes four minutes.
SOURCES INGEST LAKEHOUSE (UC-governed) CONSUME
βββββββββββββ ββββββββββββββββββββββ ββββββββββββββββββββββββββββββββ ββββββββββββββββ
β SaaS apps ββββββΆβ Lakeflow Connect βββββΆβ BRONZE (raw, append) β β BI / AI-BI β
β (SFDC, β β (managed connectors)β β β β β dashboards β
β Workday) β ββββββββββββββββββββββ β βΌ β ββββββββββββββββ€
βββββββββββββ€ ββββββββββββββββββββββ β SILVER (conformed, DQ) ββββΆβ Genie / NL β
β Databases ββββββΆβ CDC ingest βββββΆβ β β β analytics β
β (OLTP) β β (Lakeflow / CDC) β β βΌ β ββββββββββββββββ€
βββββββββββββ€ ββββββββββββββββββββββ β GOLD (products, metrics)ββββΆβ ML / agents β
β Files / ββββββΆββββββββββββββββββββββ ββββββββββββββββββββββββββββββββ ββββββββββββββββ€
β object β β Auto Loader β β β Apps / APIs β
βββββββββββββ€ ββββββββββββββββββββββ β ββββββββββββββββ€
β Events / ββββββΆββββββββββββββββββββββ β β Delta Sharingβ
β Kafka β β Structured Stream ββββββββββββββββ β to partners β
βββββββββββββ ββββββββββββββββββββββ ββββββββββββββββ
CROSS-CUTTING: Unity Catalog (access Β· lineage Β· audit Β· discovery Β· tags/ABAC)
Network isolation (Private Link Β· egress control) Β· CMK Β· compliance profile
Asset Bundles + Git CI/CD Β· System tables β cost, usage, audit observability
Narrate it in this order: governance first (it is the spine), then ingest, then the layers, then consumption, then operations. Candidates who start at "and then we put Kafka here" lose the plot; starting with the governance spine signals enterprise thinking immediately.
#9. Questions to answer cold
- Draw control plane vs compute plane and say what changes with serverless.
- How many metastores for a company operating in the EU and the US, with dev/test/prod? Why?
- What does workspace-catalog binding buy you, and what does it not protect against?
- When would you not use three medallion layers?
- What in a Databricks estate is not covered by cloud storage replication in a DR event?
- How do you promote a pipeline from dev to prod without promoting data?
- A customer wants a workspace per team, 40 teams. Talk them through it.