Skip to main content

Overview

This guide covers the infrastructure and software requirements for deploying Praxos to production.

System Requirements

Minimum Specifications

For small deployments (1-10 users):
  • CPU: 2 cores
  • RAM: 4 GB
  • Storage: 20 GB
  • Network: Stable internet connection
For production (10-100 users):
  • CPU: 4-8 cores
  • RAM: 8-16 GB
  • Storage: 50-100 GB SSD
  • Network: High-bandwidth, low-latency

High-Scale Specifications

For enterprise (100+ users):
  • CPU: 16+ cores (distributed)
  • RAM: 32+ GB (per pod)
  • Storage: 500+ GB SSD
  • Network: Load balanced, redundant

Software Dependencies

Required

  • Python: 3.11 or higher
  • Docker: 20.10 or higher (for containerized deployment)
  • Kubernetes: 1.24+ (for orchestration)
  • MongoDB: 4.4+ or Azure Cosmos DB

Optional

  • Redis: 6.0+ (for local queue, alternative to Azure Service Bus)
  • NGINX: Load balancing and SSL termination
  • Prometheus: Monitoring and metrics
  • Grafana: Visualization

Cloud Services

  • Azure Kubernetes Service (AKS) - Container orchestration
  • Azure Cosmos DB - Primary database
  • Azure Service Bus - Message queue
  • Azure Key Vault - Secrets management
  • Azure Container Registry - Docker images
  • Azure Storage - Blob storage
  • Application Insights - Monitoring

AWS (Alternative)

  • EKS - Kubernetes
  • DocumentDB - MongoDB compatible
  • SQS - Message queue
  • Secrets Manager - Secrets
  • ECR - Container registry
  • S3 - Object storage
  • CloudWatch - Monitoring

GCP (Alternative)

  • GKE - Kubernetes
  • Cloud Firestore or MongoDB Atlas - Database
  • Cloud Tasks - Message queue
  • Secret Manager - Secrets
  • Container Registry - Images
  • Cloud Storage - Object storage
  • Cloud Monitoring - Observability

Database Requirements

MongoDB

Minimum:
  • Version: 4.4+
  • Storage: 10 GB
  • RAM: 4 GB
  • Connection pooling: 100 connections
Recommended:
  • Version: 6.0+
  • Storage: 50+ GB SSD
  • RAM: 8+ GB
  • Replica set with 3 nodes
  • Connection pooling: 500 connections
Collections:
  • users
  • conversations
  • user_context
  • integrations
  • tasks
  • logs

Azure Cosmos DB

Configuration:
  • API: MongoDB
  • Throughput: 1000 RU/s minimum
  • Consistency: Session (default)
  • Multi-region: Recommended for HA

Message Queue

Azure Service Bus

Configuration:
  • Tier: Standard or Premium
  • Queues: agent_tasks, scheduled_tasks
  • Topic/Subscriptions: Optional for pub/sub
  • Max message size: 256 KB
  • Message TTL: 14 days

Redis (Alternative)

Configuration:
  • Version: 6.0+
  • Memory: 2-8 GB
  • Persistence: RDB + AOF
  • Cluster mode: For high availability

API Keys & Credentials

Required

  • LLM Provider
    • Portkey API Key
    • OpenAI API Key (primary)
    • Google AI API Key (secondary)
  • Database
    • MongoDB connection string
    • Or Azure Cosmos DB endpoint + key
  • Message Queue
    • Azure Service Bus connection string
    • Or Redis connection URL

Integration-Specific

Configure based on enabled integrations:
  • Telegram: Bot token
  • Discord: Bot token, Application ID
  • Slack: Bot token, Signing secret
  • Google: Client ID, Client Secret
  • Microsoft: Client ID, Client Secret, Tenant ID
  • Notion: Integration token
  • Trello: API key, Token

Networking Requirements

Inbound

  • Port 8000: HTTP/HTTPS (API)
  • Port 443: HTTPS (webhooks)

Outbound

Must allow connections to:
  • LLM providers (OpenAI, Google)
  • Integration APIs (Google, Microsoft, Telegram, etc.)
  • Database servers
  • Message queue services

Webhooks

Public HTTPS endpoint required for:
  • Telegram webhooks
  • Discord webhooks
  • Slack events
  • Google Calendar notifications
  • Microsoft Graph subscriptions

SSL/TLS

Requirements

  • Valid SSL certificate
  • TLS 1.2 or higher
  • HTTPS for all external endpoints

Options

  • Let’s Encrypt (free)
  • Commercial certificate
  • Cloud provider managed certificate
  • Kubernetes cert-manager

Domain & DNS

Domain Requirements

  • Production domain (e.g., hetairos.yourcompany.com)
  • Optional: Separate domains per environment

DNS Records

A record: hetairos.yourcompany.com → Load Balancer IP
CNAME: www.hetairos.yourcompany.com → hetairos.yourcompany.com

Storage Requirements

Application Storage

  • Docker images: 2-5 GB
  • Logs: 10-50 GB (with rotation)
  • Temporary files: 5-10 GB

Database Storage

  • User data: ~10 MB per active user
  • Conversation history: ~50 MB per active user
  • Growth rate: ~5-10 GB/month (100 users)

Monitoring & Logging

Metrics Collection

  • CPU and memory usage
  • Request latency
  • Error rates
  • Queue depth
  • Database performance

Log Aggregation

  • Application logs
  • Error logs
  • Access logs
  • Audit logs

Tools

  • Prometheus: Metrics
  • Grafana: Dashboards
  • ELK Stack: Logs (Elasticsearch, Logstash, Kibana)
  • Azure Monitor: All-in-one (if using Azure)

Backup & Disaster Recovery

Database Backups

  • Frequency: Daily (minimum)
  • Retention: 30 days (minimum)
  • Point-in-time recovery: Enabled
  • Cross-region replication: Recommended

Configuration Backups

  • Environment variables
  • Kubernetes manifests
  • SSL certificates
  • Integration credentials

RTO/RPO Targets

Recommended:
  • RTO (Recovery Time Objective): < 4 hours
  • RPO (Recovery Point Objective): < 1 hour

Security Requirements

Authentication & Authorization

  • Service account authentication
  • Role-based access control (RBAC)
  • API key rotation
  • Secret management

Data Protection

  • Encryption at rest (database, storage)
  • Encryption in transit (TLS)
  • Secrets in Key Vault/Secrets Manager
  • No credentials in code or config files

Compliance

Consider requirements for:
  • GDPR (EU users)
  • CCPA (California users)
  • SOC 2 (enterprise)
  • HIPAA (healthcare)

Scalability Considerations

Horizontal Scaling

  • Stateless workers
  • Load balancing
  • Auto-scaling based on:
    • CPU usage
    • Memory usage
    • Queue depth

Vertical Scaling

  • Increase pod resources
  • Database tier upgrades
  • Message queue tier upgrades

Performance Targets

  • Message processing: < 5 seconds (simple)
  • API response time: < 500ms (p95)
  • Concurrent users: 100+ per pod
  • Queue throughput: 100+ messages/sec

Cost Estimation

Small Deployment (10 users)

  • Compute: $50-100/month
  • Database: $25-50/month
  • Queue: $10-25/month
  • LLM API: $50-200/month
  • Total: ~$150-400/month

Medium Deployment (50 users)

  • Compute: $200-400/month
  • Database: $100-200/month
  • Queue: $25-50/month
  • LLM API: $250-1000/month
  • Total: ~$600-1700/month

Large Deployment (100+ users)

  • Compute: $500-1000/month
  • Database: $300-600/month
  • Queue: $50-100/month
  • LLM API: $500-2500/month
  • Total: ~$1400-4200/month
Costs vary significantly based on usage patterns, enabled integrations, and cloud provider.

Pre-Deployment Checklist

  • Cloud infrastructure provisioned
  • Database created and configured
  • Message queue set up
  • Secrets stored in Key Vault
  • Domain and SSL configured
  • Monitoring and logging enabled
  • Backup strategy implemented
  • Load balancer configured
  • Network security rules set
  • API keys obtained for all integrations
  • Deployment manifests prepared
  • CI/CD pipeline configured (optional)

Next Steps