Todas las cápsulas
Experiencias reales convertidas en aprendizaje.
Un endpoint resiliente no rompe apps viejas
No todos los usuarios actualizan al mismo tiempo. Un endpoint no es solo código, es un contrato con quien lo consume.
2026-09-24
Tener razón no es lo mismo que tener la decisión
Propuse robustecer el producto en producción — código e infraestructura. La prioridad fue otra: nuevas funcionalidades. Semanas después llegaron las quejas de los clientes.
2026-09-22
Feature flags: código en producción... apagado
¿Subir código nuevo a producción sin que nadie lo vea? Así funciona una feature flag — y por qué hay que eliminarlas a tiempo.
2026-09-17
Un restaurante real sin menú impreso
El cliente escanea un QR en la mesa y el menú aparece al instante — sin apps, sin esperar al mesero para saber si ya se acabó algo.
2026-09-14
Mi servicio en AWS se conecta sin una sola key en el .env
En mi máquina uso las credenciales temporales de un rol IAM. Al desplegar dentro de AWS no defino ninguna variable y el servicio sigue conectándose: el SDK resuelve las credenciales desde el rol adjunto a la instancia.
2026-08-31
Sin una cola de por medio, un pico de tráfico tumba tu backend
Con n8n autoescalando en AWS, el problema no era escalar instancias — era que un pico perdía ejecuciones antes de que el Auto Scaling Group reaccionara. El modo queue de n8n con Redis lo resolvió.
2026-08-27
Migrar 5 millones de registros enseña lo que ningún tutorial cuenta
Tuve que reconstruir una colección de MongoDB time series con más de 5 millones de registros. Eso me forzó a pensar distinto sobre cómo construir scripts de migración.
2026-08-24
Mi protocolo de deploy a producción
Sin orden fijo, cada deploy es un intento de suerte. Y producción no es el lugar para improvisar.
2026-08-20
El deploy salió bien. La infraestructura no.
Un servicio concurrente que no cerraba conexiones HTTP consumió toda la RAM de la instancia y tumbó a los demás servicios. ¿Culpa del dev o del DevOps? De los dos.
2026-08-17
CloudWatch Alarms: el monitoreo que actúa, no solo registra
No esperé a que algo se rompiera — configuré CloudWatch antes del primer incidente. Una sola alarma escala el ASG y me notifica al correo al mismo tiempo.
2026-08-14
Tu factura de AWS no subió por el cómputo. Subió por lo que nunca miras
En S3 no solo pagas por los GB que guardas — también pagas por cada request. Un PUT masivo de archivos pequeños puede disparar la factura aunque el almacenamiento sea barato.
2026-08-06
Crear un SaaS: código e infraestructura son dos batallas igual de duras
Cuando empecé LuminHealth creía que el reto terminaba al escribir un buen backend. Era apenas la mitad — un SaaS exige código sólido y una infraestructura que lo sostenga.
2026-08-03
Mi servidor de producción se cayó y yo ni me enteré
Una instancia de producción murió a las 19:21 UTC. El Auto Scaling Group la detectó y la reemplazó sola en minutos, sin que yo tocara nada. Eso es self-healing.
2026-07-30
En AWS, abrir de más sale caro
La primera vez que configuré un proyecto en AWS, le di permisos amplios a todo para que funcionara rápido. Era una bomba de tiempo.
2026-07-27
Seguridad Básica en tu VPS: lo que nadie te cuenta al empezar
¿Sabías que tu VPS recibe intentos de acceso no autorizado desde el primer minuto que lo enciendes?
2026-07-21
Nadie rompe main. Ni yo. Ahora es regla.
Apliqué 7 reglas de protección de ramas sin excepción — ni para el admin. Ningún cambio entra a develop o main sin PR, aprobación y checks en verde.
2026-07-20
Audité un VPS y encontré un gusano que llevaba 6 días adentro
145 horas de CPU robadas. Un gusano de la botnet TeamTNT operando en silencio. Y entró sin pedir contraseña.
2026-07-15
El Primer Guardián del Repo
Un guardián que nunca se cansa, nunca olvida y no tiene malos días. Así implementé GitHub Actions Workflows para proteger las ramas principales del proyecto.
2026-07-13
Analytics sin regalarle tus datos a Google
Instalé Umami en mi propio VPS en menos de 30 minutos. Datos 100% míos, sin cookies de terceros y con un script de 2Kb que no penaliza el rendimiento.
2026-07-08
Mis contenedores en AWS no tienen ningún puerto abierto al internet
Un contenedor que recibe tráfico real sin estar expuesto al internet. Cloudflare Tunnel convierte la conexión saliente del contenedor en el camino de entrada del tráfico.
2026-07-07
Sin logs estructurados, no tienes infraestructura. Tienes una caja negra.
Un servicio de LuminHealth se cayó en producción. Fui directo a los logs. Pero eran texto plano — reconstruir qué pasó me tomó el doble de tiempo del necesario.
2026-07-02
Si tus backups viven en el mismo servidor que tu app… no tienes backups
El disco se reduce con cada backup. Y si el servidor se cae, pierdes la app Y los backups al mismo tiempo. Sin forma de restaurar.
2026-06-30
Docker no es "envolver tu app". Es dejar de decir "en mi máquina funciona"
Cuando deployé LuminHealth en el VPS, tenía tres servicios corriendo juntos. Sin Docker, eso habría sido un caos de dependencias, versiones y configs manuales.
2026-06-25
LuminHealth: un proyecto personal en producción
Diseñé el backend. Desarrollé el frontend. Configuré el servidor. Lancé el producto. Y hoy tiene usuarios reales.
2026-06-22
VPS o Cloud: no es una filosofía, es una decisión técnica
Tuve dos proyectos en producción al mismo tiempo. Uno en VPS, otro en AWS. La misma persona. Decisiones completamente distintas.
2026-06-20
Nginx no es solo "el servidor web"
Tu API corre en el puerto 3000. Pero tus usuarios nunca deberían saberlo.
2026-06-18
De Developer a DevOps: por necesidad
Nadie aprende DevOps porque quiere. Lo aprende porque necesita resolver algo real.
2026-06-16