Skip to main content

Operations Overview

For Platform Teams

This section covers everything you need to deploy and operate Olytix Core in production environments. From containerized deployments to monitoring and resilience patterns, you will find comprehensive guidance for running Olytix Core at scale.

Deployment Options

Olytix Core supports multiple deployment models to fit your infrastructure:

Deployment MethodBest ForComplexity
DockerDevelopment, small teamsLow
Docker ComposeMulti-service setupsLow
KubernetesProduction, scaleMedium
Helm ChartsStandardized K8s deploymentsMedium

Quick Deployment Comparison

┌─────────────────────────────────────────────────────────────────┐
│ Olytix Core Deployment Options │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Development Staging Production │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Docker │ → │ Docker │ → │ K8s │ │
│ │ Single │ │ Compose │ │ Cluster │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ - Fast setup - Multi-service - Auto-scaling │
│ - Local dev - Redis, Postgres - High availability │
│ - Debugging - Celery workers - Load balancing │
│ │
└─────────────────────────────────────────────────────────────────┘

Architecture Components

A production Olytix Core deployment consists of several components:

Core Services

ComponentPurposeReplicas
API ServerREST/GraphQL endpoints2+ (HA)
Query EngineSQL execution via DataFusion2+ (HA)
Celery WorkersBackground tasks, pre-aggregations1+
RedisCaching, task queue1 (or cluster)

Data Stores

ComponentPurposeNotes
Metadata DBProject state, configsPostgreSQL recommended
Cache LayerQuery results, sessionsRedis
WarehouseSource dataYour existing DWH

System Requirements

Minimum Production Requirements

ResourceAPI ServerWorkerRedis
CPU2 cores2 cores1 core
Memory4 GB4 GB2 GB
Storage10 GB10 GB5 GB
ResourceAPI ServerWorkerRedis
CPU4 cores4 cores2 cores
Memory8 GB8 GB4 GB
Storage50 GB50 GB20 GB

Monitoring and Observability

Olytix Core provides comprehensive observability through:

Metrics (Prometheus)

  • Request latency and throughput
  • Query execution times
  • Cache hit rates
  • Worker queue depth

Logging (Structured)

  • JSON-formatted logs with structlog
  • Correlation IDs for request tracing
  • Configurable log levels

Health Checks

# Liveness probe
GET /health/live

# Readiness probe
GET /health/ready

# Detailed status
GET /health/status

Resilience Patterns

Olytix Core implements several resilience patterns for production reliability:

PatternPurposeImplementation
Circuit BreakersPrevent cascade failuresWarehouse connections
Retry PoliciesHandle transient failuresConfigurable backoff
Rate LimitingProtect against overloadPer-tenant limits
Graceful DegradationMaintain partial availabilityCache fallbacks

Configuration Management

Olytix Core uses environment variables with the OLYTIX_ prefix:

# Database configuration
OLYTIX_DATABASE__HOST=postgres.example.com
OLYTIX_DATABASE__PORT=5432
OLYTIX_DATABASE__USER=olytix-core
OLYTIX_DATABASE__PASSWORD=secret

# Redis configuration
OLYTIX_REDIS__URL=redis://redis.example.com:6379

# Server configuration
OLYTIX_SERVER__HOST=0.0.0.0
OLYTIX_SERVER__PORT=8000
OLYTIX_SERVER__WORKERS=4

# Logging
OLYTIX_LOG_LEVEL=INFO
OLYTIX_LOG_FORMAT=json

Use __ (double underscore) as the nested delimiter for hierarchical configuration.

Security Considerations

Production deployments should implement:

  • TLS/HTTPS: Terminate at load balancer or ingress
  • Network Policies: Restrict pod-to-pod communication
  • Secrets Management: Use Kubernetes secrets or Vault
  • RBAC: Configure API authentication and authorization

Operations Sections

Deployment

Monitoring

Resilience

Next Steps