Carmen Cloud: De Contenedores a Lambda SnapStart
En Adaptive Recognition desarrollaron Carmen Cloud para reconocimiento ANPR y MMR con motores neuronales que llevan más de 30 años evolucionando. El verdadero reto fue escalar sin sacrificar tiempo de respuesta ni costes. En entornos basados en ECS Fargate y EC2 el arranque del contenedor y la inicialización del motor podía tardar alrededor de 60 segundos, un tiempo inaceptable para cargas impredecibles y picos globales.
El enfoque inicial con Fargate funcionaba para cargas predecibles porque permite programar capacidad y definir reglas de escalado, pero cuando las peticiones llegan desde múltiples clientes y regiones de forma aleatoria los compromisos se vuelven costosos: latencia de scale up por arranque de EC2 y carga de motor, coste de mantener contenedores prewarm, y overhead operativo por creación y gestión de imágenes y ECR.
La solución llegó con la adopción temprana de Lambda SnapStart en Java 21 combinada con CRaC Coordinated Restore at Checkpoint. SnapStart reduce drásticamente los cold starts al restaurar un estado preinicializado, y CRaC permite crear checkpoints donde los motores ya están cargados en memoria. Sin embargo SnapStart tiene limitación de almacenamiento efímero de 512 MB y no soporta EFS, y nuestros motores por región superan ese tamaño. Para solucionarlo implementamos una carga escalonada de motores:
durante la inicialización del handler descargamos por lotes los datos del motor desde S3, inicializamos cada lote en memoria desde nuestra clase VehicleHandler, eliminamos archivos temporales para liberar espacio y repetimos con el siguiente lote. De este modo permanecemos por debajo del límite de 512 MB y mantenemos cobertura completa. CRaC requiere cerrar conexiones de red en el checkpoint y reabrirlas al restaurar, así que la gestión de recursos en beforeCheckpoint y afterRestore es crítica.
Arquitectura de apoyo: API Gateway como punto de entrada, Lambda SnapStart para los motores de reconocimiento, Cognito para autenticación de usuarios, DynamoDB para llaves de API y facturación, SNS y EventBridge para eventos asíncronos, y servicios como S3, SSM, CloudFront, WAF y Route53 para almacenamiento, configuración, entrega y seguridad. Los beneficios observados han sido reducción de latencia de cold start de segundos a fracciones, ahorro importante de costes frente a dejar contenedores permanentemente prewarm, y una escalabilidad real ante ráfagas impredecibles en diferentes zonas horarias.
Lecciones aprendidas: incluso motores neuronales pesados pueden escalar en arquitectura serverless si se combinan SnapStart y CRaC. Es esencial cerrar y reabrir conexiones para que CRaC funcione, y una estrategia de carga por etapas resuelve las limitaciones de almacenamiento efímero. La adopción temprana de SnapStart supuso ahorros de tiempo y coste desde el primer día, aunque incrementó la complejidad de inicialización y despliegue.
En Q2BSTUDIO somos especialistas en llevar proyectos como este a producción. Ofrecemos desarrollo de aplicaciones a medida y software a medida, soluciones de inteligencia artificial y agentes IA, así como servicios cloud aws y azure que facilitan migraciones y optimización de costes. Si buscas potenciar tus modelos con despliegues escalables y reducir latencia y costes podemos ayudarte con arquitectura serverless y mejoras DevOps, y también con seguridad mediante servicios de ciberseguridad y pentesting.
Si te interesa profundizar en despliegues cloud y migraciones a Lambda SnapStart visita nuestra página de servicios cloud en Servicios cloud AWS y Azure y para soluciones de inteligencia artificial y agentes IA consulta Inteligencia artificial para empresas. También ofrecemos servicios de inteligencia de negocio y power bi, automatización de procesos y ciberseguridad para garantizar despliegues robustos y escalables.
Palabras clave integradas para mejorar posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.