Enterprise Deployment Guide
Complete guide for deploying OmniDaemon in production enterprise environments.Deployment Overview
OmniDaemon can be deployed across various environments:- Cloud (AWS, Azure, GCP)
- On-Premise (Data centers, private cloud)
- Hybrid (Mix of cloud and on-prem)
- Edge (IoT, manufacturing, retail)
Pre-Deployment Checklist
1. Infrastructure Requirements
To Get Started (Minimum):- 1 vCPU
- 1GB RAM
- 10GB storage
- Redis server (for event bus + storage)
- Agent workload type: I/O-bound (API calls, file ops) vs CPU-bound (ML inference, heavy computation)
- Event throughput: Events per second your system processes
- Number of consumers: Run one or more consumers per agent for load balancing (you decide based on your needs)
- Light I/O workloads: 1-2 vCPU, 2-4GB RAM (handles most API-calling agents)
- Heavy computation: 4-8 vCPU, 8-16GB RAM (ML inference, data processing)
- Redis server: 2 vCPU, 4GB RAM (scales well for most workloads)
- Storage: 20GB+ (depends on result retention and metrics volume)
2. Network Requirements
What You Need (Current Implementation):- Port 6379 - Redis (for event bus + storage)
- Port 8765 (optional) - OmniDaemon API if you enable it
- Your agent runners need to connect to Redis
- Low latency connection is preferred but not required
- If using multiple servers, keep them in same VPC/region for best performance
3. Security Requirements
- TLS certificates for encrypted connections
- Credentials management (AWS Secrets Manager, HashiCorp Vault)
- Network security groups/firewall rules
- IAM roles/service accounts
Deployment Architectures
1. Single Server (Getting Started)
Best for:- Development
- Testing
- Small-to-medium workloads (most I/O-bound use cases)
- Adding more consumers per agent (scale based on your workload)
- Running multiple agent types on same runner
- Redis can handle 100K+ ops/sec on modest hardware
2. Multi-Server (Horizontal Scaling)
When to scale horizontally:- Single server hits resource limits (CPU/Memory)
- Need high availability (failover protection)
- Want to separate different agent types across servers
- Each agent runner connects to the same Redis
- Redis consumer groups automatically distribute work
- Just start more agent runner instances - that’s it!
- Consumer group coordination (automatic work distribution)
- Message persistence and replay
- Load balancing across all consumers
- Vertical first: Add consumers per agent (scale based on your workload)
- Horizontal next: Add more runner instances (just start them - Redis handles coordination)
- Redis scaling: Only when Redis itself becomes bottleneck (rare for most use cases)
3. Kubernetes (Cloud-Native)
Best for:- Auto-scaling
- Cloud deployments (AWS/Azure/GCP)
- Large-scale production
Environment Configuration
Development
Production
High Availability Setup
Redis Cluster (Event Bus + Storage)
Load Balancing
Monitoring & Observability
Health Checks
Metrics Collection
Security Best Practices
1. Credential Management
AWS Secrets Manager:2. Network Security
3. TLS/SSL
Performance Tuning
1. Agent Runner Optimization
2. Python Performance
3. Resource Limits
Disaster Recovery
1. Backup Strategy
2. Restore Procedure
3. Stream Replay
CI/CD Pipeline
GitHub Actions
Troubleshooting
Common Issues
1. Agent not receiving messages:Production Checklist
Before going live:- Load testing completed (target: 2x expected load)
- Health checks configured
- Monitoring dashboards set up
- Alerts configured (PagerDuty, Slack)
- Backup/restore tested
- Disaster recovery plan documented
- Security audit completed
- TLS/SSL enabled
- Secrets management configured
- CI/CD pipeline working
- Runbook created for on-call team
- Performance tuning applied
- Auto-scaling tested
- Documentation updated
Next Steps
- Use Cases - Real-world enterprise scenarios
- Monitoring Guide - CLI monitoring tools
- Configuration - Environment variables
Need help with deployment? Contact us for enterprise support.