Operations Overview
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 Method | Best For | Complexity |
|---|---|---|
| Docker | Development, small teams | Low |
| Docker Compose | Multi-service setups | Low |
| Kubernetes | Production, scale | Medium |
| Helm Charts | Standardized K8s deployments | Medium |
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
| Component | Purpose | Replicas |
|---|---|---|
| API Server | REST/GraphQL endpoints | 2+ (HA) |
| Query Engine | SQL execution via DataFusion | 2+ (HA) |
| Celery Workers | Background tasks, pre-aggregations | 1+ |
| Redis | Caching, task queue | 1 (or cluster) |
Data Stores
| Component | Purpose | Notes |
|---|---|---|
| Metadata DB | Project state, configs | PostgreSQL recommended |
| Cache Layer | Query results, sessions | Redis |
| Warehouse | Source data | Your existing DWH |
System Requirements
Minimum Production Requirements
| Resource | API Server | Worker | Redis |
|---|---|---|---|
| CPU | 2 cores | 2 cores | 1 core |
| Memory | 4 GB | 4 GB | 2 GB |
| Storage | 10 GB | 10 GB | 5 GB |
Recommended Production Requirements
| Resource | API Server | Worker | Redis |
|---|---|---|---|
| CPU | 4 cores | 4 cores | 2 cores |
| Memory | 8 GB | 8 GB | 4 GB |
| Storage | 50 GB | 50 GB | 20 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:
| Pattern | Purpose | Implementation |
|---|---|---|
| Circuit Breakers | Prevent cascade failures | Warehouse connections |
| Retry Policies | Handle transient failures | Configurable backoff |
| Rate Limiting | Protect against overload | Per-tenant limits |
| Graceful Degradation | Maintain partial availability | Cache 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
- Docker Deployment - Containerized deployments
- Kubernetes Deployment - Production K8s setup
Monitoring
- Prometheus Metrics - Available metrics and dashboards
- Structured Logging - Log configuration and analysis
Resilience
- Circuit Breakers - Failure isolation patterns
- Retry Policies - Transient failure handling
Next Steps
- Deploy with Docker - Start with containerized deployment
- Set up Kubernetes - Production-ready Kubernetes setup
- Configure monitoring - Enable Prometheus metrics