Evok Inteligencia Logística
Evok convierte el sistema de gestión de transporte de un operador de carga en una plataforma de analítica. Una flota de scrapers en Python opera el sistema de origen mediante Playwright, transmite los payloads extraídos por colas en Valkey hacia un controlador de ingesta en Go, y proyecciones CQRS los reconstruyen en los KPI, paneles e informes que la operación realmente usa.
En ProducciónLos servicios en Go y la flota de scrapers en Python nunca se llaman directamente. Toda la coordinación pasa por Valkey: eventos de ciclo de vida por pub/sub, colas de trabajo por tenant consumidas con pop bloqueante, estado de tareas en hashes, y payloads extraídos enviados a una cola de ingesta que el controlador en Go consume.
El scraping está orquestado, no guionizado. Un orquestador se suscribe a eventos de ciclo de vida del tenant y de sincronización solicitada y reparte las tareas en una cola acotada a ese tenant, de modo que el atraso de un tenant no puede dejar sin recursos al de otro.
Las actualizaciones de estado de los workers se publican en un canal que el backend en Go escucha y retransmite como server-sent events, así una sincronización larga informa su progreso al navegador en vivo en lugar de ser consultada por polling.
Los registros crudos nunca se sirven directamente. Proyecciones CQRS los reconstruyen en los modelos analíticos detrás de los paneles de KPI, desempeño de vendedores y logística, con informes PDF y de auditoría generados desde esas mismas proyecciones.
El aislamiento de tenant recorre toda la profundidad del stack: Ory Kratos emite la sesión, Casbin evalúa política de rol y atributo, y el row-level security de PostgreSQL acota la consulta — siendo la ruta privilegiada del agente una excepción explícita y documentada, no un accidente.
La plataforma está instrumentada de extremo a extremo con OpenTelemetry hacia VictoriaMetrics y Grafana, con Traefik en el borde y cada secreto inyectado desde Infisical en el despliegue en vez de vivir en el archivo de compose.