REFERENCE ARCHITECTURE

Data pipeline & analytics

Ingest via Conduit, transform with Compute workers, land in Archive and Datastore — Lane for batch jobs, Insight for pipeline SLOs.

AdvancedPlan: Business+Resilience: multi-zona

Diagram

Use cases

  • Product analytics
  • Finance reporting
  • Audit log aggregation

Components

LayerRoleProduct
IngressEvent APICompute + Gateway
StreamingDurable event logConduit
BatchScheduled & backfill jobsLane
ProcessingTransform workersCompute (worker)
LakeRaw & staged filesArchive
WarehouseAnalytics tablesDatastore
OperationsPipeline monitoringInsight

Products

When to use

  • ETL/ELT from operational DBs to analytics warehouse.
  • Clickstream ingestion and nightly aggregation.
  • Export to BI tools (Metabase, Looker) from Postgres marts.

When to avoid

  • Real-time sub-second analytics — add Beacon fan-out or stream processing tier.
  • Single CSV upload once a month — a cron Compute job is enough.

Design notes

Bronze / silver / gold

Raw events in Archive (bronze), cleaned Parquet/CSV in Archive paths (silver), curated tables in Datastore Postgres (gold).

Lane for backfill

Use Lane queues for reprocessing jobs; Conduit for live event stream with retention.

Blueprint

Use this JSON as a starting point when creating a project via the Tesserra API or console. Replace image URLs, domains, and resource references with your values.

json
{
  "nome": "Analytics Pipeline",
  "modo": "avancado",
  "recursos": [
    {
      "tipo": "compute",
      "nome": "ingest-api",
      "config": {
        "subtipo": "api",
        "porta": 8080,
        "replicas_min": 2
      }
    },
    {
      "tipo": "conduit",
      "nome": "events",
      "config": {
        "particoes": 12,
        "retencao_horas": 168
      }
    },
    {
      "tipo": "lane",
      "nome": "batch-jobs",
      "config": {
        "duravel": true,
        "prefetch": 5
      }
    },
    {
      "tipo": "compute",
      "nome": "etl-worker",
      "config": {
        "subtipo": "worker",
        "replicas_min": 1,
        "replicas_max": 10
      }
    },
    {
      "tipo": "archive",
      "nome": "datalake",
      "config": {
        "subtipo": "arquivos",
        "tamanho_gb": 500,
        "publico": false
      }
    },
    {
      "tipo": "datastore",
      "nome": "warehouse",
      "config": {
        "engine": "postgres",
        "tamanho_gb": 100,
        "ha": true
      }
    },
    {
      "tipo": "gateway",
      "nome": "ingest-dns",
      "config": {
        "dominio": "ingest.acme.io",
        "tls": true
      }
    },
    {
      "tipo": "insight",
      "nome": "pipeline-obs",
      "config": {
        "retencao_dias": 30,
        "alertas": true
      }
    }
  ]
}
Documentation · Tesserra