---
title: "Architecture Asset: Sovereign Lakehouse Data Platform on STACKIT"
description: 'Reference architecture for a sovereign lakehouse on STACKIT with Object Storage as data lake, Kubernetes processing, and PostgreSQL plus OpenSearch serving.'
sidebar:
  badge:
    text: "STACKIT"
    variant: success
scfAsset:
  maintainers:
    - user: "tobias.mueller"
  managed: false
  category: 'blueprint'
  external: false
  tags: ["foundation", "data-platform", "lakehouse", "object-storage", "kubernetes", "wip"]
source_url: "https://framework.stackit.cloud/data-and-ai/assetcontainer/stackit/lakehouse-data-platform/"
source_file: "docs/data-and-ai/assetcontainer/stackit/lakehouse-data-platform.mdx"
---

## Overview

This pattern is a typical target for a governed, sovereign data platform. Raw data lands in Object Storage as the data lake, is processed on Kubernetes, and is served through managed PostgreSQL and OpenSearch for analytics and search.

## Typical use case

- **Central data foundation**: consolidate data from many sources into a governed lakehouse.
- **Analytics and search**: serve curated data for BI, reporting, and full-text or vector search.
- **Sovereign hosting**: keep all storage and processing on a sovereign cloud with clear residency.

## Architecture diagram

```d2
vars: {
  d2-config: {
    pad: 32
  }
}

style.font-size: 22
direction: down
grid-columns: 1

Sources: "Source Systems" {
  direction: right
  grid-columns: 3

  Apps: "Applications" {
    icon: ../../../../../../public/stackit-icons/developer-docs/git.svg
  }
  Db: "Operational DBs" {
    icon: ../../../../../../public/stackit-icons/databases/postgresql-flex.svg
  }
  Files: "Files & Exports" {
    icon: ../../../../../../public/stackit-icons/computing/object-storage.svg
  }
}

Platform: "STACKIT Data Platform" {
  direction: down
  grid-columns: 1

  Ingestion: "Ingestion & Integration" {
    icon: ../../../../../../public/stackit-icons/artificial-intelligence/intake.svg
    link: https://docs.stackit.cloud/products/data-and-ai/intake/
  }

  Lake: "Data Lake (Object Storage)" {
    icon: ../../../../../../public/stackit-icons/computing/object-storage.svg
    link: https://docs.stackit.cloud/products/storage/object-storage/
  }

  Processing: "Processing (Kubernetes)" {
    icon: ../../../../../../public/stackit-icons/runtime/kubernetes.svg
    link: https://docs.stackit.cloud/products/runtime/kubernetes-engine/
  }

  Serving: "Serving Layer" {
    direction: right
    grid-columns: 2

    PG: "PostgreSQL" {
      icon: ../../../../../../public/stackit-icons/databases/postgresql-flex.svg
      link: https://docs.stackit.cloud/products/databases/postgresql-flex/
    }
    Search: "OpenSearch" {
      icon: ../../../../../../public/stackit-icons/databases/opensearch.svg
      link: https://docs.stackit.cloud/products/databases/opensearch/
    }
  }
}

Cross: "Platform Services" {
  direction: right
  grid-columns: 2

  Secrets: "Secret Manager" {
    icon: ../../../../../../public/stackit-icons/security/secrets-manager.svg
    link: https://docs.stackit.cloud/products/security/secrets-manager/
  }
  Obs: "Observability" {
    icon: ../../../../../../public/stackit-icons/logging-monitoring/observability.svg
    link: https://docs.stackit.cloud/products/logging-and-monitoring/observability/
  }
}

Sources -> Platform.Ingestion
Platform.Ingestion -> Platform.Lake
Platform.Lake -> Platform.Processing
Platform.Processing -> Platform.Serving
Platform -> Cross
```

## Design best practices

- **Treat data as a product**: assign ownership, documentation, and quality SLAs per dataset.
- **Separate raw, curated, and serving layers**: keep clear boundaries and lineage between zones.
- **Use Secret Manager by default**: never embed credentials in jobs or manifests.
- **Standardize observability**: monitor pipeline health, freshness, and cost from day one.

## Related data & AI assets

- <LinkChip href="/data-and-ai/assetcontainer/stackit/streaming-analytics-pipeline/">Streaming analytics pipeline</LinkChip>
