Micronaut 4 en AWS Lambda Parte 3 Arranques en frío con SnapStart y precalentamiento de DynamoDB

Aprende a acelerar los arranques en frío de AWS Lambda combinando SnapStart con priming de DynamoDB en Micronaut 4: CRaC hooks, precarga de clases y mejoras de latencia.

18 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Introducción: en la tercera parte de la serie sobre Micronaut 4 en AWS Lambda explicamos cómo mejorar los arranques en frío combinando AWS Lambda SnapStart con técnicas de precalentamiento o priming centradas en peticiones a DynamoDB. Reutilizamos la aplicación de ejemplo basada en Micronaut, API Gateway y DynamoDB y añadimos pequeños recursos de inicialización que se ejecutan antes de crear el snapshot de SnapStart para reducir drásticamente la latencia de los primeros invocaciones.

Qué es SnapStart y por qué primar: SnapStart permite crear un snapshot del entorno Java después de la inicialización de la aplicación para acelerar arranques en frío. Gracias a los hooks CRaC podemos ejecutar código justo antes de que se tome el snapshot, con lo que forzamos la carga de clases, la inicialización del cliente HTTP y los marshallers Jackson para que no se produzcan costosas operaciones durante el primer invocado real. A esta preparación la llamamos priming.

Implementación del priming para DynamoDB: en Micronaut añadimos un bean singleton que implementa OrderedResource y define el hook beforeCheckpoint. En ese método realizamos una llamada de prueba a DynamoDB mediante productDao.getProduct 0 con el único objetivo de forzar la carga e inicialización de las dependencias relacionadas con DynamoDB y JSON. No necesitamos el resultado de la consulta, solo provocar la inicialización una vez antes de crear el snapshot.

Dependencias y configuración: para usar los hooks CRaC en Micronaut hay que incluir la dependencia io.micronaut.crac micronaut-crac en el pom.xml de la aplicación y activar SnapStart en el template SAM o en la configuración de la función Lambda con ApplyOn PublishedVersions. Además, recomendamos ajustar las opciones Java para probar compilación por niveles con la variable de entorno JAVA_TOOL_OPTIONS establecida en -XX:+TieredCompilation -XX:TieredStopAtLevel=1 cuando se quiera comparar efectos de compilación sobre los tiempos de arranque.

Precauciones: cuando se aplica este priming es conveniente desactivar temporalmente otros recursos de priming que puedan interferir en las pruebas, como un priming específico de eventos de API Gateway, para aislar el efecto del priming de DynamoDB. También hay que tener en cuenta que SnapStart tiene una cache por niveles del snapshot; por eso los primeros arranques en las medidas suelen ser los más largos y posteriormente los tiempos se reducen conforme la cache se llena.

Mediciones resumidas: en pruebas con aproximadamente 100 arranques en frío y 100 000 arranques en caliente, función con 1024 MB en arquitectura x86, observamos que activar SnapStart sin priming ya reduce significativamente la mediana del arranque en frío respecto a no usar SnapStart. Al aplicar el priming de DynamoDB se consigue una reducción adicional notable en percentiles p50, p90 y p99, e incluso en la reducción del valor máximo de arranque en caliente, porque las clases y clientes ya están precargados en el snapshot. En algunos percentiles la reducción del arranque en frío superó el 50 por ciento respecto a solo usar SnapStart.

Impacto de la compilación tiered: al comparar la compilación por niveles por defecto de Java 21 con la opción -XX:+TieredCompilation -XX:TieredStopAtLevel=1 se apreció que esta última configuración puede ofrecer arranques en frío más bajos para este tipo de priming, aunque los resultados pueden variar según la aplicación y la carga.

Beneficios prácticos: con un esfuerzo de implementación pequeño se logra mejorar la experiencia del usuario en escenarios donde una baja latencia inicial es crítica. Esto es especialmente útil en APIs que sirven tráfico intermitente o en microservicios que se actualizan con frecuencia. Si buscas apoyo profesional para implementar estas técnicas, optimizar costes y rendimiento, o desplegar arquitecturas serverless seguras, en Q2BSTUDIO ofrecemos servicios especializados en desarrollo de aplicaciones a medida y servicios cloud.

Sobre Q2BSTUDIO: somos una empresa de desarrollo de software y aplicaciones a medida con experiencia en inteligencia artificial, ciberseguridad y servicios cloud. Diseñamos soluciones personalizadas que van desde software a medida para procesos críticos hasta implementaciones de IA para empresas y cuadros de mando con Power BI. Si necesitas migrar o optimizar cargas en la nube, consulta nuestros servicios de servicios cloud AWS y Azure o descubre cómo aplicar la inteligencia artificial en tus procesos.

Conclusión y siguiente paso: el priming de peticiones a DynamoDB combinado con SnapStart aporta mejoras importantes en arranques en frío y reduce la variabilidad de latencias en producción. En la siguiente entrega presentaremos otra técnica de priming basada en eventos de API Gateway y compararemos resultados para ofrecer una guía práctica sobre cómo escoger la mejor estrategia según el patrón de uso de la función Lambda. Para asesoramiento personalizado en aplicaciones a medida, inteligencia artificial, ciberseguridad, agentes IA o Power BI, contacta con nuestro equipo en Q2BSTUDIO.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.