Ahnlich in Production
Ahnlich is production-ready and designed for deployment at scale. This section covers everything you need to run Ahnlich in production environments.
What You'll Learn
- Deployment - Docker-based deployment strategies for cloud and on-premise
- Kubernetes (Helm) - Deploy DB and AI on Kubernetes with the official Helm charts
- Tracing - Distributed tracing setup for observability
Architecture Overview
A typical production setup consists of:
┌─────────────┐
│ Clients │
└──────┬──────┘
│
├──────────────────────┐
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Ahnlich AI │───────>│ Ahnlich DB │
│ (Port 1370)│ │ (Port 1369) │
└─────────────┘ └─────────────┘
- Ahnlich DB handles vector storage and similarity search
- Ahnlich AI transforms inputs (text, images, or audio) into embeddings
- Both services communicate over gRPC
Key Features for Production
Persistence
Both services support disk persistence to survive restarts:
- Configurable intervals for snapshots
- Automatic recovery on startup
Performance
- In-memory operations for low latency
- Batch processing support
- Configurable model batch sizes
Observability
- Distributed tracing with OpenTelemetry
- Integration with Jaeger and other collectors
- Request/response logging
Scalability
- Horizontal scaling via multiple instances
- Load balancing support
- Model caching to reduce startup time
Quick Start
Get started with Docker Compose:
curl -O https://raw.githubusercontent.com/deven96/ahnlich/main/docker-compose.ymldocker-compose up -dThis starts both services with persistence enabled.
Next Steps
- Deploy to Production - Choose your deployment platform
- Enable Tracing - Set up observability
- Review the CLI reference for configuration options