Data platform architecture ยท regulated environments

How I architect.

I design data platforms as solutions to business problems โ€” then prove the platform actually matches the design.

Middle East market focus. Vendor-agnostic on tooling, deep on Snowflake and the AWS data stack. I select technology against constraints, not preference โ€” and in this region, regional product availability and in-Kingdom residency are constraints that eliminate most of the shortlist before anyone gets to compare features.

01 Engineer โ†’ architect

Not a title โ€” four things changed. I still write SQL and Python; the difference is the code is now downstream of a documented decision, and the decision is downstream of a business requirement someone signed.

As an engineerAs an architect
Problem I solveTechnical: this pipeline is slow, this model is wrongBusiness: leadership can't get event numbers they trust in time to act
What I optimiseCorrectness, runtimeCost, scalability, security, privacy โ€” as designed properties
What I produceWorking pipelines and modelsSolution architecture, decision records, risk matrix, acceptance criteria
Who I talk toAnalysts, BI developers, engineersExecutive leadership, cybersecurity, infrastructure, delivery vendors โ€” plus the engineers

02 How I work โ€” three phases

1

Assessment

Interview stakeholders on both sides โ€” business (what decision are you trying to make, what's stopping you) and technical (platform, infrastructure, cybersecurity, governance). Analyse the real landscape, not the diagram of it. Name risks, assess maturity honestly.

Output Current-state architecture, findings & a risk register โ€” the artefact most people skip, and the one that makes the target state defensible.

2

Design

Architecture pattern & style first (warehouse / lake / lakehouse; centralised or federated; batch, streaming, or both). Then technology selection against criteria. Then low-level design as a set of views, so each stakeholder reads the one they own.

Output Target-state architecture plus a decision log explaining every non-obvious choice and what was traded away.

3

Reviewal

Walk the design through the people who actually sign โ€” cybersecurity, infrastructure, the platform owner, executive leadership. Their questions are the design review. If it can't clear that room, it isn't a design โ€” it's a preference.

Output Signed-off architecture, with any forced change captured as a decision rather than a silent edit.

03 Requirements discipline

Most platform failures I've seen trace back to a requirement nobody wrote down. I separate three kinds:

Functional

What it must do

Absent, the business problem isn't solved. Serve historical ticketing & attendance for reporting; ingest competition results on cadence; support natural-language querying.

Non-functional

How it must perform

Absent, it's solved but with ongoing pain. Encryption at rest & in transit; freshness SLA per source; BI-tool integration; auditable access.

Architecturally significant

What eliminates options

Absent, you redesign. These are what I hunt for in the first week.

The governing ASR on the EDP

In-Kingdom data residency under Saudi PDPL & NDMO. That single requirement decided the warehouse region, constrained the cloud-provider choice, ruled out several otherwise-strong governance and AI tools outright, and set the standard every later decision was measured against. Not a checkbox at the end โ€” the first line of the design.

04 How I select technology

I don't start from a product. I start from criteria, score the candidates, and write down what I gave up.

05 Selected architecture decisions

Written as decision records, because that's the deliverable. Each names the constraint that drove it and the trade-off I accepted. Click to expand.

Warehouse platform & region

Decision Snowflake, deployed in a Saudi cloud region.

Driving constraint In-Kingdom residency (PDPL / NDMO) โ€” an ASR, not a preference.

Considered. Multiple cloud-native warehouses across providers.

Why. Regional availability with the required feature set was the binding filter. Once residency was applied, the shortlist collapsed to a small set; from there, elasticity, separation of storage and compute, and native governance (RBAC, masking, account-level auditing) decided it.

Trade-off accepted. Consumption pricing needs active cost governance to stay predictable โ€” which is why cost attribution was designed in, not bolted on. Regional feature parity is checked per release, not assumed.

Transformation layer

Decision Code-based transformation (dbt) over a low-code ETL tool.

Driving constraint Model correctness must be testable & reviewable; changes traceable to an author and a reason.

Why. Version control, code review, automated tests, and lineage generated from the code rather than maintained beside it. The team's core skill is SQL, so the tool matches the skillset criterion.

Trade-off accepted. Non-engineers can't change transformation logic โ€” deliberate. Business users are served through the governed semantic layer and self-service marts, not by editing models.

Orchestration

Decision Managed Airflow over self-hosted.

Driving constraint A small team supporting a live global event can't also be a platform-operations team.

Why. Operational overhead and time-to-market dominated. A managed service removes upgrade, scaling, and availability work from a team whose time is better spent on data.

Trade-off accepted. Less control over runtime versions and plugin freedom; some patterns have to be adapted to the managed environment.

Governance & data-quality tooling

Decision Split the stack by persona โ€” code-based tests for engineers in-pipeline; a point-and-click catalogue & quality UI for stewards. Open-source first, validated by PoC before any commercial procurement.

Driving constraint Governance isn't an engineering function โ€” the people accountable for ownership don't write code; residency rules out several commercial platforms.

Why. A single tool optimised for engineers produces a governance programme on paper and none in practice. Running the PoC first turns observed gaps into evidence-backed procurement requirements, instead of buying a licence against a feature list.

Trade-off accepted. Self-hosted open source carries upgrade/ops overhead, and the PoC has to be honest about where it falls short โ€” that finding is the input to the commercial case, not a failure.

Natural-language access to the warehouse

Decision Ship it โ€” with residency and zero data retention as the deciding criteria, not model quality.

Driving constraint Regulatory review had to be clearable before capability mattered. An AI feature that can't pass cybersecurity review is not a feature.

Why. Least-privilege read-only role scoped to approved marts only, on a dedicated warehouse so AI consumption is separately attributable. Grounded in documented metric definitions so answers come from the modelled layer, not from the model guessing. Access behind a data-owner approval workflow, audited on the same terms as human access.

Trade-off accepted. A narrower scope than an unconstrained agent, and real work to maintain the semantic context. Both are cheap next to an unauditable path to production data.

Cost as a designed property

Decision Treat cost as a first-class quality attribute with its own architecture, not a monthly surprise.

Driving constraint Consumption pricing punishes waste silently unless spend is attributable.

Why. Attribution first โ€” metering joined to query history, tagged at source so every statement traces to a model, a job, and an identity. Once spend is attributable, waste is visible: idle compute, row-by-row loads, uniform retention on rebuildable layers, orphaned clones. Then the levers: auto-suspend & right-sizing, bulk staged loading, transient tables for reproducible intermediates, retention set per layer by recovery value.

Outcome. Recurring compute on the refactored ingestion pipelines dropped by an order of magnitude, and storage growth went from compounding to predictable with a documented rule per layer.

Trade-off accepted. Shorter retention on rebuildable layers means recovery is a rebuild, not a rollback โ€” documented and accepted deliberately.

06 Architectural views I produce

I don't hand one diagram to everyone. Each stakeholder gets the view they're accountable for, and each has to stand on its own.

Conceptual

The solution as an answer to the business problem โ€” no product names required. For leadership.

Technology

Components and how they fit together.

Data

Source โ†’ landing โ†’ medallion layers โ†’ governed marts โ†’ consumption, with modelling & schema decisions attached.

Network

Connectivity, boundaries, private paths, egress control.

Security

Identity, RBAC hierarchy, encryption, masking & classification, audit logging, exfiltration controls.

Deployment

Environments, promotion path, CI/CD, what runs where and in which region.

Governance

Ownership, catalogue, lineage, quality gates, approval workflows.

Logging & monitoring

Task state and data condition: freshness, row deltas, null rates on critical columns, alerts to a named owner.

07 Quality attributes I design against

Named up front, each with the mechanism that delivers it โ€” so the design can be reviewed against them, not just admired.

CostAttribution to model & identity ยท auto-suspend & right-sizing ยท retention by layer ยท bulk loading.
ScalabilitySeparated storage & compute ยท isolated warehouses per workload ยท elastic scaling under event peak.
ReliabilityIdempotent loads ยท failure isolation across the ingestion fleet ยท backfill & recovery runbooks written before they're needed.
SecuritySSO & MFA for humans ยท key-pair for service identities ยท network policies ยท least-privilege RBAC ยท audit logging.
PrivacyPII classification & masking ยท in-Kingdom residency ยท purpose-limited access under a data-owner approval matrix.

08 Architecture governance & delivery acceptance

The part of architecture that isn't design โ€” and where I add the most value. When a platform is delivered by an implementation partner, the architect's job ends not at the target state, but at verified acceptance.

  • Acceptance criteria written before delivery, per phase, with explicit environment-by-environment sign-off gates. Specific criteria get met; ambiguous ones get argued about later.
  • Verification against live platform state, not documentation. Every finding is backed by a query or artefact anyone can re-run. Design documents describe intent; the platform is the fact.
  • Design-to-build delta tracking. Where the build diverges from the approved design, I record it, judge variation vs defect, and route it โ€” amend the design through a decision record, or correct the build. Silent divergence is the failure mode.
  • Controls verified, not asserted. If a design says masking, MFA, or network restriction is in place, I confirm it exists before signing anything that depends on it.
  • Findings sequenced by risk โ€” security & compliance first, then structural model defects, then operational discipline. A prioritised remediation plan beats a flat list of complaints.
  • An observational register. "I've observed X โ€” can you confirm the intended behaviour" opens a technical conversation; "fix X" opens a contractual one. The first resolves faster.

Deliverables from this work

Acceptance-criteria checklists ยท design-to-build delta registers ยท annotated design reviews ยท architecture decision records ยท risk matrices โ€” the documents that let a non-technical decision-maker act with confidence.

09 What a client or employer receives

Current-state architecture & findings Requirements catalogue (functional / non-functional / ASR) Target-state & solution architecture document Low-level design as stakeholder views Architecture decision records with trade-offs Risk matrix with owners & mitigations Cost model & cost-governance design Data governance & quality framework input Acceptance criteria & delivery-verification evidence

โ†’ Let's talk architecture

If you're hiring for data platform architecture in a regulated environment, I'd like to hear about it.