Skip to content

Architecture Overview

The Intelligent Command Center (ICC) is designed as a cloud-native, microservices-based control plane for managing and optimizing Kubernetes applications. It follows modern architectural patterns to ensure scalability, reliability, and maintainability.

The main orchestrator that coordinates the following ICC operations:

  • API Gateway - RESTful API for all client interactions
  • Authentication & Authorization - OAuth2/OIDC integration
  • Service Mesh - Inter-service communication and load balancing
  • Event Bus - Asynchronous message processing

ICC uses multiple specialized databases for different concerns:

  • PostgreSQL Databases:

    • Activities Database - Audit logs and system events
    • Cluster Manager Database - Kubernetes cluster state
    • Control Plane Database - Core configuration and metadata
    • User Manager Database - User accounts and permissions
    • Scaler Database - Autoscaling rules and metrics
    • Compliance Database - Policy and compliance data
    • Cron Database - Scheduled job definitions
    • Cold Storage Database - Historical data archival
    • Trafficante Database - Traffic routing and analysis
  • Caching Layer:

    • Valkey for application caching
    • Elasticache (AWS) for managed caching solutions

Applications integrate with ICC through:

  • WattPro Runtime (@platformatic/wattpro) - Node.js runtime wrapper
  • Telemetry Agent - Metrics and log collection
  • Service Discovery - Automatic registration and health checking
  • Synchronous: RESTful APIs for real-time operations
  • Asynchronous: Event-driven architecture for background processing
  • Streaming: WebSockets for real-time updates to UI
  • Prometheus: Metrics ingestion via PromQL
  • Kubernetes API: Direct integration for cluster management
  • OAuth Providers: GitHub, Google for authentication

ICC deploys as a set of Kubernetes resources:

┌───────────────────────────────────────┐
│ Kubernetes Cluster │
├───────────────────────────────────────┤
│ ┌──────────────┐ ┌─────────────┐ │
│ │ ICC │ │ Machinist │ │
│ │ - API │ │ - Worker │ │
│ │ - UI │ │ - Monitor │ │
│ │ - Services │ │ │ │
│ └──────────────┘ └─────────────┘ │
│ │
│ ┌──────────────────────────────┐ │
│ │ Application Pods │ │
│ │ (with WattPro runtime) │ │
│ └──────────────────────────────┘ │
└───────────────────────────────────────┘
  • OAuth2/OIDC for user authentication
  • Service accounts for machine-to-machine communication
  • Session management with secure tokens
  • Role-Based Access Control (RBAC)
  • Fine-grained permissions per resource
  • Audit logging of all actions
  • TLS encryption for all communications
  • Network policies for pod-to-pod communication
  • Secret management via Kubernetes secrets
  • Stateless services for easy scaling
  • Load distribution across instances
  • Auto-scaling based on metrics
  • Application metrics via Prometheus
  • System metrics from Kubernetes
  • Custom business metrics
  • Centralized logging architecture
  • Structured logging format
  • Log aggregation and analysis
  • Distributed tracing for request flow
  • Performance bottleneck identification
  • Error tracking and debugging
  • Node.js: Primary runtime
  • TypeScript: Type-safe development
  • PostgreSQL: Primary database
  • Valkey: Caching layer
  • React: User interface framework
  • TypeScript: Type-safe frontend
  • WebSockets: Real-time updates
  • Kubernetes: Container orchestration
  • Helm: Package management
  • Docker: Containerization
  • Prometheus: Monitoring