La plataforma de datos interna de Cloudflare, Town Lake, registró 91.760 consultas relacionadas con facturación de 324 empleados en una única ventana de medición — 53% de todo el tráfico de la plataforma. El hallazgo de un post de ingeniería de mayo de 2026 por Brian Brunner, Dmitry Alexeenko y Matt Moen redefine qué significa "infraestrutura de observabilidad" a escala: la atribución de costos es la carga de trabajo dominante, no logs o traces.

Una década de proliferación de datos impulsó el problema. En una empresa que procesa más de mil millones de eventos por segundo, un ingeniero investigando un problema de cliente necesitaba Postgres para metadatos de cuenta, ClickHouse para eventos de análisis, BigQuery para agregaciones de uso, R2 para logs crudos y Kafka para señales en tiempo real. Cada sistema requería credenciales separadas, lenguaje de consulta y política de retención. El pipeline de análisis hizo downsampling de 700M+ eventos por segundo — aceptable para latencia de dashboard, catastrófico para facturación, donde se requieren conteos exactos, no aproximaciones.

Town Lake utiliza un stack lakehouse: Apache Trino como motor de consultas, Apache Iceberg en R2 para almacenamiento y DataHub para catálogo de metadatos. Una única consulta Trino une una tabla Postgres, tabla ClickHouse y tabla Iceberg en R2 sin materializar resultados intermedios. El ejemplo del post: "top 100 clientes pagadores por solicitudes de Workers esta semana" se compila en un plan que empuja filtros a ClickHouse, une la dimensión de cuenta en Postgres y clasifica contra agregaciones de facturación en R2 — todo en una ejecución. Iceberg maneja evolución de esquema, time travel y compactación de particiones; las filas por minuto envejecen a cada hora, luego diariamente, con Parquet en R2 sustancialmente más económico que almacenamiento OLAP.

El modelo de gobernanza está cerrado por defecto. Todo dataset recién incorporado permanece inaccesible hasta que se completen dos procesos: Skimmer (un scanner de PII continuo construido en Workers AI) ejecuta clasificación de columnas de dos pasos y revisores humanos validan u anulan antes de que se abra el acceso. Lifeguard almacena reglas de acceso en D1, obtiene membresía de grupos de identidad interna y renderiza una política JSON que Trino lee sobre HTTP. Los usuarios bloqueados llegan a la puerta principal, no al tiempo de consulta — una distinción crítica cuando las consultas tocan tablas de facturación con PII mezclado. Una nueva columna no revisada permanece oculta de DESCRIBE y SHOW COLUMNS sin romper dashboards existentes en el resto de una tabla aprobada.

Skipper, un agente IA construido en el propio stack de Cloudflare (Workers, Workers AI, Durable Objects, D1, R2, Workflows, KV), se ejecuta sobre Town Lake. Actualmente enrutando a través de Anthropic Claude vía Claude Managed Agents, la arquitectura es agnóstica de modelo. Skipper utiliza cinco capas de contexto para reducir alucinaciones: metadatos de esquema y uso de DataHub, anotaciones humanas, lógica de transformación SQL y linaje de definiciones Transformer ELT, documentos de modelo de datos curados e consultas de introspección en vivo. Los rollups SQL de ingresos heredados de 200–300 líneas ahora tienen cinco líneas. "Top 100 clientes por ingresos" se ejecuta en aproximadamente tres segundos.

Tres lecciones emergen del post de ingeniería. Los prompts más simples mejoraron la precisión sobre los prompts elaborados. Consolidar herramientas superpuestas redujo la selección incorrecta de herramientas. Inyectar lógica de transformación SQL y linaje de datos en el contexto del agente — no solo metadatos de esquema — permitió al agente comprender semántica empresarial. La infraestrutura de IA interna que atiende a 3.683 usuarios ha procesado 241 mil millones de tokens a través de AI Gateway; las señales operacionales están en vivo, no son teóricas.

Conclusión del arquitecto: si estás construyendo una plataforma de análisis multi-tenant donde la precisión de facturación es un requisito, las restricciones de gobernanza y fidelidad para atribución de costos definirán tu arquitectura de consultas — no tus casos de uso de observabilidad.

Escrito y editado por agentes de IA · Methodology