Blueprints / Capability Architecture

EDP Capability Architecture

EDP capability architecture: 35+ capabilities across 7 groups. Data acquisition, management, processing, storage, access, governance, and observability.

An enterprise data platform is not just a storage and transformation stack. It is a governed capability system with explicit operational, control, and service responsibilities: seven capability groups spanning acquisition, management, processing, storage, access, governance, and observability. Most platform failures trace to capability gaps (missing lineage, absent quality controls, no reprocessing path, no cost visibility) rather than to technology choices. Use this model as a gap assessment, a vendor evaluation frame, a team structure blueprint, or a maturity scorecard. If you cannot name the component that delivers a capability, you have a gap; a component nobody owns is a risk.

graph TB
    subgraph "Data Acquisition"
        A1[Batch] --- A2[CDC] --- A3[Events] --- A4[Files] --- A5[3rd Party]
    end
    subgraph "Data Management"
        M1[Schema] --- M2[Metadata] --- M3[Lineage] --- M4[Quality] --- M5[Historization]
    end
    subgraph "Core Processing"
        P1[Transform] --- P2[Orchestrate] --- P3[Execute] --- P4[Isolate] --- P5[Reprocess]
    end
    subgraph "Storage and Modeling"
        S1[Raw Zone] --- S2[Curated Zone] --- S3[Semantic Layer] --- S4[History] --- S5[Serving]
    end
    subgraph "Access and Consumption"
        C1[BI] --- C2[Self-Service] --- C3[APIs] --- C4[ML Features] --- C5[Export]
    end
    subgraph "Governance and Control"
        G1[Access] --- G2[Masking] --- G3[Audit] --- G4[Contracts] --- G5[Policy]
    end
    subgraph "Observability"
        O1[Freshness] --- O2[Pipelines] --- O3[Cost] --- O4[SLAs] --- O5[Incidents]
    end

    A1 -.-> M1
    M1 -.-> P1
    P1 -.-> S1
    S1 -.-> C1
    C1 -.-> G1
    G1 -.-> O1

The Capability Model

Seven capability groups. Each group contains sub-capabilities with a single responsibility. Every sub-capability must have an owner, an implementation, and a measurable outcome.

1. Data Acquisition

Sub-CapabilityDescription
Batch ingestionScheduled extraction from source systems (files, databases, APIs)
Change data capture (CDC)Real-time or near-real-time capture of source system changes
Event ingestionStreaming event consumption from message backbones
File onboardingStructured and semi-structured file processing (CSV, JSON, Parquet, XML)
Third-party data onboardingExternal data vendor integration with quality validation

2. Data Management

Sub-CapabilityDescription
Schema evolutionHandling schema changes without breaking downstream consumers
Metadata captureAutomated collection of technical, operational, and business metadata
Lineage trackingEnd-to-end traceability from source to consumption
Quality controlsAutomated validation at each refinement stage (completeness, accuracy, timeliness)
Retention managementPolicy-driven data lifecycle (hot/warm/cold/archive/delete)
HistorizationTime-variant data preservation (SCD Type 2, append-only, bitemporal)
ReconciliationCross-source and cross-layer data consistency verification

3. Core Platform Processing

Sub-CapabilityDescription
TransformationData cleaning, conforming, aggregation, and business logic execution
OrchestrationWorkflow scheduling, dependency management, and retry logic
Pipeline executionReliable, scalable compute for batch and micro-batch workloads
Workload isolationPreventing one workload from degrading another
Reprocessing and recoveryAbility to replay and rebuild any layer from source
Rules executionBusiness rule application for derived calculations and classifications

4. Storage and Modeling

Sub-CapabilityDescription
Raw/landing zoneImmutable capture of source data in native format
Curated/integrated zoneCleansed, conformed, deduplicated datasets
Semantic/business layerBusiness-ready models, metrics, and governed views
Time-variant historyFull change history for audit, regulatory, and analytical use
Analytical serving structuresPre-aggregated, denormalized datasets optimized for query patterns

5. Access and Consumption

Sub-CapabilityDescription
BI/reporting accessGoverned access for dashboards and reporting tools
Self-service queryAd-hoc SQL access for analysts and data scientists
Governed APIs and data sharingControlled data exposure to external consumers
ML feature accessIntegration with feature stores for model training and inference
Downstream publish/exportReverse ETL and operational sync to downstream systems

6. Governance and Control

Sub-CapabilityDescription
Access controlRole-based and attribute-based access at column and row level
Data masking and tokenizationPII protection for non-production and limited-access use
AuditabilityComprehensive logging of data access, transformations, and changes
Data contractsFormal schema, quality, and SLA agreements between producers and consumers
Stewardship hooksIntegration points for human review, approval, and escalation
Policy enforcementAutomated application of governance rules across all layers

7. Observability and Platform Operations

Sub-CapabilityDescription
Freshness monitoringTracking data age against SLA thresholds
Pipeline monitoringJob success, failure, duration, and resource utilization
Cost observabilityReal-time and historical cost tracking by workload, domain, and data product
SLA/SLO monitoringAutomated tracking of platform service level commitments
Incident managementDetection, classification, routing, and resolution of platform issues
Platform telemetryUsage metrics, adoption tracking, and capacity signals

Capabilities vs Components

A capability is what the platform must do. A component is one way to do it. Confusing the two is how platforms end up locked to a vendor with no understanding of what they actually need.

ConceptCapabilityComponent (one realization)
LineageEnd-to-end data traceabilityDataplex, Unity Catalog, OpenLineage
HistorizationTime-variant data preservationSCD Type 2 tables, Data Vault satellites
Policy enforcementAutomated governance rulesColumn-level security policies, tag-based masking
OrchestrationWorkflow scheduling and dependencyAirflow, Cloud Composer, Dagster
Quality controlsAutomated data validationGreat Expectations, dbt tests, Soda
TransformationData cleaning and business logicdbt, Spark, Dataform
Freshness monitoringData age trackingCustom dashboards, Monte Carlo, Bigeye

Capabilities are durable; components change. Design for the capability, then select the component.

How to Use This Model

Gap assessment. Walk through all 7 groups and 35+ sub-capabilities. For each one, name the component that delivers it. If you cannot, you have a gap. Gaps do not fix themselves.

Vendor evaluation. When evaluating a platform vendor or tool, map their feature set to these capabilities. Most vendors cover 3-4 groups well and leave the rest to you. Know what you are buying and what you still need to build or integrate.

Team structure. Each capability group suggests a team ownership boundary. Data acquisition is not the same team as governance. Observability is not the same team as transformation. Align teams to capability groups, not to tools.

Maturity assessment. For each sub-capability, score your current state: (0) absent, (1) manual/ad-hoc, (2) partially automated, (3) fully automated with monitoring. The distribution tells you where to invest. A platform that scores 3 on transformation but 0 on lineage is blind, whatever its maturity score says.

Using this framework for an architecture review or a target-state design? Start with the review checklists, open an issue on GitHub, or reach the author at sunil@sunilprakash.com.

Search the guide