Gerardo Arroyo Arce

Gerardo Arroyo Arce

from San José, Costa Rica 59 posts

Arquitecto de Soluciones, AWS Golden Jacket con pasión por compartir conocimiento. Como miembro activo de AWS Community Builders, ex-AWS Ambassador y AWS User Group Leader, me dedico a construir puentes entre la tecnología y las personas. Desarrollador Java de corazón y consultor independiente, llevo la arquitectura cloud más allá de la teoría a través de conferencias internacionales y soluciones del mundo real. Mi curiosidad insaciable por aprender y compartir me mantiene en constante evolución junto a la comunidad tech.

Bedrock Structured Outputs: Del Ruego al Contrato

Cómo migré mi agente de noticias AWS de parsing defensivo a Bedrock Structured Outputs, eliminé 130 líneas de código y reduje las llamadas a la API a la mitad. La diferencia entre pedirle al modelo que sea consistente y garantizarlo.

AgentCore Memory Episódica: Agentes que Aprenden de la Experiencia

Deja de inflar tu system prompt con casos edge. Descubre cómo AgentCore Memory Episódica transforma las interacciones pasadas de tu agente en episodios estructurados y reflections que mejoran su rendimiento con el tiempo. Implementación completa con boto3 y un caso DevOps real.

AgentCore Policy: Evita que tu Agente DevOps Destruya Producción

Análisis técnico de AgentCore Policy anunciado en AWS re:Invent 2025. Implementación real de control determinístico para agentes de IA con código funcional, traces.

Amazon Bedrock AgentCore Evaluations: LLM-as-a-Judge en Producción

Amazon Bedrock AgentCore Evaluations: LLM-as-a-Judge con 13 evaluadores built-in, monitoreo online continuo y evaluadores custom. Guía práctica con código.

Amazon Bedrock Automated Reasoning: Elimina Alucinaciones con IA

Elimina alucinaciones con Bedrock Automated Reasoning Checks: verificación matemática formal para LLMs. Tutorial paso a paso con ejemplo real y métricas de precisión.

Amazon Bedrock + MCP: Integración Model Context Protocol con FastMCP

Model Context Protocol (MCP) con Amazon Bedrock: auto-descubrimiento de herramientas, servidor FastMCP y cliente LangGraph. Código de producción incluido.

Amazon Bedrock Session Management: Persistencia de Contexto en IA

Implementa persistencia de conversaciones con Amazon Bedrock Session Management APIs: mantén contexto entre sesiones con LangGraph y patrones de diseño probados.

Automatización de Reseñas con Amazon Bedrock Flows y Claude 3.5

Aprende a automatizar la generación de reseñas de productos usando Amazon Bedrock Flows y Claude 3.5 Sonnet. Guía práctica paso a paso con ejemplos reales.

Amazon Bedrock Prompt Routing: Reduce Costos de IA hasta 94%

Bedrock Prompt Routing enruta automáticamente al modelo óptimo y reduce costos de IA hasta un 94%. Tutorial paso a paso con análisis de costos desde la consola AWS.

Amazon Bedrock Guardrails: Filtros, PII y Streaming en Producción

Implementa Amazon Bedrock Guardrails: content filters modulares, detección y redacción de PII, streaming en tiempo real y versionado DRAFT→producción. Con código.

Amazon Bedrock Multi-Agent: Orquestación de Agentes IA en Producción

Orquesta agentes IA especializados con Amazon Bedrock Multi-Agent: equipo virtual para marketing digital en redes sociales. Con código y casos reales.

Amazon Bedrock Agents: Asistente Industrial Inteligente con IA

Construye con Amazon Bedrock Agents un asistente industrial: APIs optimizadas para IA, base de conocimiento técnico e integración IoT. Código real incluido.

LLM + SQL: Respuestas Determinísticas con Amazon Bedrock y Athena

Combina Amazon Bedrock con SQL en Athena para respuestas determinísticas precisas. Arquitectura híbrida que supera las limitaciones de los LLMs en análisis de datos empresariales.

Amazon Bedrock + RDS Aurora: IA Generativa en tu Base de Datos MySQL

Integra Amazon Bedrock con Aurora MySQL para consultas SQL inteligentes: asistente de IA generativa dentro de tu base de datos. Guía paso a paso con código.

AWS RDS Proxy: Pool de Conexiones, Failover y Benchmarks Reales

AWS RDS Proxy vs conexión directa: benchmarks con Aurora PostgreSQL, failover con 1 falla en 10,000 peticiones y pool de conexiones para Lambda. Configuración paso a paso.

AWS SES + Lambda: Procesar Adjuntos de Email Automáticamente

Automatiza el procesamiento de adjuntos de email con AWS SES, Lambda y S3. Solución serverless escalable con configuración paso a paso y código completo.

Multithreading en AWS Lambda con Java: Rendimiento Serverless

Implementa multithreading en AWS Lambda con Java: mejores prácticas, casos de uso reales y benchmarks de rendimiento para cargas de trabajo serverless.

AWS Lambda SnapStart: Elimina Cold Starts en Java

AWS Lambda SnapStart elimina cold starts en Java: benchmarks reales, comparativa con Quarkus y Provisioned Concurrency. Configuración paso a paso con resultados.

Amazon QLDB: Base de Datos Inmutable y Verificable Criptográficamente

Amazon QLDB: base de datos de libro mayor inmutable con verificación criptográfica en AWS. Casos de uso, características clave e integración con otras bases de datos, con ejemplos.

AWS DevOps Guru for RDS: Detecta Anomalías con Machine Learning

AWS DevOps Guru for RDS usa ML para detectar y resolver anomalías de rendimiento en bases de datos relacionales automáticamente. Implementación y casos de uso reales.

AWS Session Manager: Acceso Seguro a EC2 Sin SSH ni Bastion Host

Reemplaza SSH y bastion hosts con AWS Session Manager: acceso a EC2 con control IAM, auditoría en CloudTrail y encriptación TLS. Sin abrir puertos ni gestionar llaves SSH.

AWS Errores habilituales que impactan tus costos

Descubre los 9 errores más comunes de AWS que disparan tus costos de infraestructura en la nube. Desde sobredimensionamiento de instancias hasta configuraciones ineficientes de servicios como EC2, Lambda y ECS, este artículo te guía para optimizar tu facturación mensual y reducir gastos innecesarios en AWS. Aprende estrategias prácticas de ahorro y mejora el rendimiento de tu infraestructura cloud.

AWS S3 Presigned URL: Cómo Generar y Usar URLs Firmadas con Java

Genera S3 Presigned URLs con Java y Quarkus: sube y descarga objetos con acceso temporal sin exponer credenciales AWS. Ejemplos de código completos.

CloudFront Functions: JavaScript en el edge sin Lambda@Edge

Ejecuta JavaScript en el edge con CloudFront Functions: redirects, headers y autorización. Más rápido y económico que Lambda@Edge. Con código real.

AWS RDS PostgreSQL y Lambdas

Descubre cómo invocar funciones AWS Lambda directamente desde una base de datos PostgreSQL RDS. Este artículo detalla paso a paso los requisitos técnicos, configuración de permisos IAM, y ejemplos prácticos de ejecución síncrona y asíncrona de Lambda. Aprende a extender las capacidades de tu base de datos con integraciones serverless, mejorando la eficiencia y flexibilidad de tus aplicaciones cloud con AWS.

AWS Compute: EC2, ECS, EKS y Lambda — Cuándo Usar Cada Uno

Compara las opciones de cómputo en AWS: EC2, ECS, EKS y Lambda. Cuándo usar cada servicio y sus diferencias clave para tu arquitectura cloud.

Video Blog: AWS Database Migration Services

En este artículo cubriremos el servicio de AWS Database Migration Services y realizaremos una migración de Oracle en tierra a AWS RDS Aurora PostgreSQL.

Video Blog: Métricas AWS Lambdas y Quakus

Benchmarks reales de AWS Lambda con Quarkus: tiempos de arranque en modo JVM vs nativo, memoria consumida y comparativa de rendimiento bajo carga en producción.

Video Blog: Saga y Quakus

En este artículo veremos que son SAGAS y como implementarlas en Quarkus con Microprofile.

Java 14 Records: Clases de Datos Inmutables con Menos Código

Java 14 Records: crea clases de datos inmutables con sintaxis concisa. Elimina boilerplate de getters, constructores y equals(). Guía práctica con ejemplos.

Quarkus, Picocli

Construye aplicaciones CLI nativas con Quarkus y Picocli: comandos, subcomandos, opciones y compilación nativa GraalVM. Ejemplo completo con arranque en milisegundos.

Quarkus, Apache Tika y Lucene

En este artículo les explicaré como se puede utilizar Apache Tika y Lucene con Quarkus

Idea de Uso: Caché, API y Quarkus

En este artículo les explicaré poder un cache no distribuido en un RestAPI creado en Quarkus.

AWS Lambda: Soluciones con Quarkus

Crea AWS Lambda functions con Quarkus: arranque nativo en milisegundos, modo JVM vs nativo y despliegue con AWS SAM. Guía paso a paso con código completo.

AWS CloudWatch: Métricas Personalizadas

En este artículo les explicaré como crear una métrica personalizada para AWS CloudWatch desde Java.

AWS ElastiCache

En este artículo les explicaré como podemos utilizar el servicio de AWS Elasticache con nuestro código en Java.

Nginx - http_mirror_module

En este artículo les explicaré como podemos probar una plataforma nueva al replicar todo el tráfico entrante al sitio productivo.

JavaEE + OpenAPI: Sin MicroProfile

En este artículo les comentaré cómo poder usar OpenAPI en una aplicación JavaEE/JakartaEE sin emplear MicroProfile.

Eclipse MicroProfile 3.1: Primicias

En este artículo les comentaré respecto a que cambios nos trae MicroProfile 3.1

MicroProfile: OpenAPI

Documenta y expone APIs REST automáticamente con MicroProfile OpenAPI: anotaciones @OpenAPIDefinition, @Operation y generación del contrato OpenAPI 3.0 en Java EE.

MicroProfile: OpenTracing y Jaeger

Implementa trazabilidad distribuida en microservicios Java con MicroProfile OpenTracing y Jaeger: configuración, anotaciones @Traced y visualización de trazas en producción.

Eclipse MicroProfile 3.0: Novedades

En este artículo les comentaré sobre los tres cambios más relevantes que trae Eclipse MicroProfile 3.0

Migración de JEE a Quarkus: Guía Paso a Paso para Microservicios

Migra microservicios de JavaEE a Quarkus: configuración, dependencias y código de ejemplo. Aprovecha el rendimiento nativo y el arranque rápido de Quarkus.

Resilience4J con Prometheus y Grafana: Monitoreo de Microservicios

Integra Resilience4J con Prometheus y Grafana para monitorear microservicios tolerantes a fallas: circuit breaker, retry y métricas en tiempo real con ejemplos.

AWS Pinpoint: Cómo Enviar Alertas y Notificaciones con Java

Aprende a usar AWS Pinpoint para enviar alertas y notificaciones desde Java: configuración del servicio, integración con tu aplicación y ejemplos prácticos.

TimeOuts, CircuitBreaker y Bulkheads

En este artículo les expondré como construir microservicios que sean tolerantes a fallas.

EJB y @TransactionAttribute

En este artículo expondremos los diferentes tipos de @TransactionAttribute que se pueden utilizar en un EJB.

EJB Timer en WebLogic Cluster

En este artículo expondremos como configurar WebLogic 12c para el adecuado funcionamiento de EJB 3.1 Timer en un cluster.

Java Optional: Guía Práctica con Ejemplos (Java 8+)

Domina Java Optional con ejemplos prácticos: isPresent(), orElse(), orElseThrow(), map() y filter(). Evita NullPointerException y escribe código Java más limpio.

Java Caching System

En este artículo vamos a explicar el uso del Java Caching System (JCS), como una opción para implementar un cache en nuestras aplicaciones.

Java Time API (Java 8): LocalDate, LocalTime y ZonedDateTime

Domina la Java Time API de Java 8: LocalDate, LocalTime, LocalDateTime y ZonedDateTime. Guía práctica con ejemplos de fechas, zonas horarias y formateadores.

Cómo obtener el nombre del servidor en WebLogic

En este artículo explicaremos como obtener el nombre del servidor y puerto de un WebLogic 12c usando MBeanServer

Let's Encrypt con WebLogic

En este artículo comentaremos como integrar los certificados de Let's Encrypt con WebLogic 12c

JSF 2.3 (Java Server Faces): Novedades y Características Clave

Novedades de Java Server Faces 2.3 (JSR 372): nuevas características, mejoras en el ciclo de vida de JSF y ejemplos prácticos de implementación.

Java WebSockets API (JSR 356): Guía Práctica con Ejemplos

Implementa WebSockets en Java con la API estándar JSR 356: ejemplo completo de servidor y cliente, anotaciones @ServerEndpoint y manejo de mensajes.

Servlet 4.0 Server Push

En este artículo daremos un ejemplo de Server Push, una de las nuevas características de Servlet 4.0 [JSR 369](https://www.jcp.org/en/jsr/detail?id=369) que fue liberado oficialmente en setiembre de 2017.

JSON-B (JSR 367): Serialización JSON Estándar en Java EE

Aprende a usar JSON-B (JSR 367) para serialización y deserialización JSON estándar en Java EE: mapeo de objetos, adaptadores y personalización con anotaciones.

Malas Prácticas en Java EE. Parte II

En esta segunda entrega les presentamos un conjunto adicional de conductas inadecuadas que hemos encontrado a lo largo del 2015.

Malas Prácticas en Java EE. Parte I

Una de las múltiples actividades que realizamos como consultores en _Java_ es realizar revisiones de aplicaciones con diversos tipos de problemas. Este 2015 no fue la excepción y en términos generales los equipos de desarrollo cometen -de manera consistente- el mismo tipo de errores en diferentes clientes. Es por ello que en esta primer parte detallamos algunos de los casos más representativos y la manera más adecuada para atenuarlos o corregirlos.