Checkly, una plataforma de monitoreo que ejecuta pruebas sintéticas y de tiempo de actividad, recientemente reescribió su componente daemon de resultados de Node.js a Go utilizando agentes de IA. El daemon de resultados procesa aproximadamente 92 millones de mensajes todos los días, lo que lo convierte en un componente crítico de la plataforma. La reescritura se motivó por la necesidad de mejorar el rendimiento del componente y reducir el número de incidentes.

El equipo de Checkly diseñó un conjunto de pruebas para garantizar que el comportamiento de la nueva aplicación coincidiera con el del sistema legado. El conjunto de pruebas prueba el componente como una caja negra, con zero acoplamiento entre el código o lenguaje del sistema bajo prueba y el conjunto de pruebas en sí. Cada caso de prueba proporciona una entrada y espera una salida determinista, con todas las salidas registradas en "archivos dorados". Estos archivos se generan contra el sistema legado y luego se utilizan por la reescritura para afirmar la paridad byte a byte.

El conjunto de pruebas se construyó utilizando Playwright, un marco de pruebas construido para la confiabilidad, con herramientas sólidas para la interceptación de la red y la ejecución de pruebas en paralelo. Docker Compose se utilizó para iniciar y desmontar contenedores para los límites, tanto localmente como en CI. Toxiproxy, un proxy TCP, se utilizó para emular condiciones de red y probar cómo se comporta el sistema cuando la infraestructura circundante falla.

Con el conjunto de pruebas en su lugar, el equipo envió una instancia de Claude Code, un agente de IA, para reescribir el daemon de resultados en Go. El agente produjo un servicio implementable de aproximadamente 13.000 líneas de código de aplicación, que refleja arquitectónicamente la implementación legada. La nueva aplicación se implementó en todos los entornos excepto la producción, donde se probó y refinó antes de ser implementada para los clientes.

La estrategia de migración fue deliberadamente cautelosa, con el nuevo daemon implementado primero en cuentas internas, seguido de cuentas gratuitas, cuentas pagas y finalmente cuentas empresariales. El equipo monitoreó la implementación de cerca, solucionando errores y problemas menores a medida que surgían. El resultado final fue una migración exitosa sin incidentes importantes, y la carga de trabajo legada se desmanteló.

La reescritura resultó en mejoras significativas, incluyendo una reducción del 70% en los pods en ejecución, un mejor rendimiento de la base de datos y una mayor eficiencia y operabilidad. La nueva aplicación también liberó alrededor de 15 vCPU y 45 GB de memoria, y la observabilidad adicional integrada en la nueva aplicación ayuda con la identificación de problemas durante cualquier alerta o incidente.

El éxito de la reescritura se atribuyó al conjunto de pruebas robusto, que garantizó un comportamiento consistente antes de cualquier implementación. El equipo pudo enviar código escrito por agentes más rápido que antes, confiando en el conjunto de pruebas para detectar regresiones en lugar de depender solo de la revisión manual. La experiencia demostró el potencial de los agentes de IA en la reescritura de aplicaciones legadas, y la importancia de las pruebas rigurosas y la definición estricta de límites para garantizar el éxito de dichos proyectos.

Cet article a été rédigé avec l'assistance de l'IA.
News Factory APP - actualités agentiques pour booster votre SEO et AEO.