Alejandro Cabello Jiménez

Alejandro Cabello Jiménez is a Staff Software Engineer at TravelPerk, based in Barcelona. He leads Python backend projects that evolve the product, focusing on performance, maintainability, and reliability. His work ensures the system scales and adapts, delivering a smooth experience to business travelers worldwide.


Session

19/10
11:20
40minutos
Python en Serverless: Hacks pragmáticos para un rendimiento extremo
Alejandro Cabello Jiménez, Alberto Maldonado

Las arquitecturas serverless escalan con facilidad, pero no se caracterizan precisamente por su velocidad. En entornos de ejecución efímeros con Python como AWS Lambda o plataformas serverless basadas en contenedores, la latencia de arranque, el uso de memoria y el coste de la serialización pueden convertirse rápidamente en respuestas más lentas y facturas de infraestructura más altas.

Nos vimos ante estas limitaciones al construir una API web que procesa miles de ofertas de vuelo por petición —deserializar, enriquecer, transformar, responder— y necesitábamos recortar cada milisegundo innecesario. No esperábamos que el garbage collector (GC) de Python fuera un problema en funciones tan breves… hasta que vimos que consumía cientos de milisegundos por invocación. Este hallazgo cambió por completo nuestra forma de afinar el rendimiento.

Compartiremos las optimizaciones de bajo nivel que nos permitieron hacer ese sistema más rápido, ligero y predecible. Veremos cómo "desactivamos" el garbage collector (gc) durante los puntos críticos, migramos de Pydantic a TypedDict para reducir la sobrecarga en la serialización y reestructuramos partes del código para reducir la presión de memoria. En una de las funciones clave, pasamos de 1,2 segundos a solo 300 milisegundos —una mejora de 4×. Mostraremos pruebas de rendimiento reales, decisiones de diseño y compromiso técnico que cuestionaron nuestras propias suposiciones sobre las "mejores prácticas".

A lo largo de la charla, profundizaremos en el modelo de memoria de Python, el ciclo de vida de los objetos y el comportamiento en tiempo de ejecución, aplicando estos conceptos a sistemas reales. Aunque nuestro caso se ejecuta en AWS Lambda, las lecciones se aplican a cualquier carga de trabajo Python crítica en rendimiento y de corta duración, ya sea serverless, en contenedores o ejecutándose en entornos edge.

Si trabajas con web APIs y quieres exprimir todo el potencial de Python, esta charla es para ti.

Desarrollo Web
Track 04 - E05, A01