Cómo desplegar self‑hosted GitHub Actions runners en Lambda MicroVMs

Problema Muchas organizaciones usan GitHub Actions como motor de CI/CD, pero los runners gestionados por GitHub tienen tres limitaciones que aparecen con frecuencia: Coste por minuto que supera al de alternativas serverless cuando el flujo de trabajo es intensivo. Límite de tiempo (6 h) que impide jobs de larga duración, como compilaciones de firmware o pruebas de integración extensas. Compromiso de facturación de 60 s, lo que penaliza pipelines con etapas cortas y alta concurrencia. El patrón típico es: un equipo necesita ejecutar jobs de forma esporádica, con diferentes arquitecturas (ARM64 vs x86) y sin mantener infraestructura permanente. La solución ideal sería un runner que aparezca sólo cuando hay trabajo, se apague inmediatamente después y cueste lo menos posible. ...

July 2, 2026 · Ernesto

Cómo exportar un Azure Resource Group a Terraform sin sorpresas

Problema Exportar la definición de un Azure Resource Group a archivos Terraform (.tf) parece una tarea de pocos minutos: apuntar aztfexport al grupo, generar los archivos y listo. En la práctica, la operación se vuelve una lucha contra errores de arquitectura, límites de tiempo y memoria, y diferencias entre tipos de recursos (por ejemplo, Logic Apps Consumption vs Standard). El patrón recurrente es que la herramienta funciona en un entorno controlado, pero falla cuando se ejecuta en Cloud Shell o en máquinas con políticas restrictivas. ...

July 2, 2026 · Ernesto

Cómo gestionar flujos de token OAuth 2.0 en Azure: Client Credentials vs Authorization Code y rotación de refresh tokens

Problema En entornos donde Azure actúa como hub de integración (por ejemplo, conectando Salesforce o ServiceNow), los equipos suelen mezclar dos patrones de OAuth 2.0 sin entender sus implicaciones. El resultado típico es: Un backend que usa Authorization Code para llamadas entre servicios, generando refresh tokens que expiran y no se actualizan correctamente. Un servicio que usa Client Credentials pero intenta reutilizar un token de usuario, provocando errores de autorización. La validación del JWT se hace sin revisar la firma ni los claims críticos, lo que abre la puerta a accesos no deseados. El síntoma más frecuente es que la integración funciona en pruebas, pero falla silenciosamente después de unos días o semanas, con errores como 401 Unauthorized o invalid_grant sin una pista clara del origen. ...

July 1, 2026 · Ernesto

Cómo gestionar la retirada de funcionalidades y cambios de configuración en Microsoft 365

Problema Los entornos Microsoft 365 cambian con frecuencia: funcionalidades se retiran, parámetros de autenticación se modifican y los planes de precios se ajustan. Cuando una característica desaparece (por ejemplo, la creación de SharePoint Alerts en tenants nuevos) o una API pierde un parámetro (como -Credential en Connect-ExchangeOnline), los scripts y flujos de trabajo existentes dejan de funcionar. El síntoma típico es un error inesperado en la automatización o la imposibilidad de cumplir con una política de seguridad recién impuesta. El reto para el administrador es detectar el cambio, migrar la lógica a la alternativa recomendada y evitar interrupciones en la operación diaria. ...

July 1, 2026 · Ernesto

Cómo solucionar estados de protección fallidos en Azure Site Recovery (ASR)

Problema En entornos híbridos donde Azure Site Recovery (ASR) protege máquinas virtuales VMware on‑premises, es frecuente encontrarse con máquinas que, tras un failover o planned failover, quedan en estados inconsistentes: Protection couldn’t be enabled – la VM aparece como no protegida y la única acción disponible es Disable replication. Healthy / Protected pero con opciones limitadas (solo Planned failover y Disable replication). Estos síntomas impiden volver a la infraestructura local o iniciar un nuevo failover, obligando al equipo a decidir entre una migración completa a Azure o una restauración manual desde backups. El problema suele aparecer después de cambiar la configuración del ASR appliance, por ejemplo al activar o desactivar la encriptación, o al interrumpir una sesión de failover sin completar el proceso de failback. ...

July 1, 2026 · Ernesto

Cómo gestionar el blast radius y la deuda Day 2 de AI agents que generan IaC

Problema Los equipos que usan agentes de IA para generar infraestructura como código (IaC) ganan velocidad en la fase de “Day 1”, pero rápidamente aparecen dos síntomas críticos en producción: Blast radius amplio – Un PR generado por IA contiene cientos de líneas de recursos interdependientes. Un error de sintaxis o una configuración insegura se propaga a todo el entorno y, al aplicar, afecta a múltiples regiones o a recursos críticos. Deuda Day 2 – La falta de comprensión del razonamiento del agente genera código que se vuelve difícil de mantener. Los ingenieros senior pasan horas revisando cada PR, mientras que los incidentes nocturnos requieren una investigación profunda porque nadie conoce la lógica subyacente. Estos patrones aparecen en cualquier stack que incluya Terraform, Helm, K8s manifests o GitHub Actions, sin importar el proveedor de nube. El reto es transformar la generación automática en un proceso controlado, reproducible y auditable. ...

June 29, 2026 · Ernesto

Cómo aplicar Azure Conditional Access a cuentas privilegiadas

Problema En entornos con cientos de usuarios y varios roles críticos, la combinación de Azure Privileged Identity Management (PIM) y Conditional Access (CA) debería garantizar que cada elevación requiera una autenticación fuerte. En la práctica, muchos equipos observan que, al activar un rol privilegiado, la sesión existente se reutiliza y la política de MFA no se dispara. El resultado es que un usuario puede activar dos o más roles sin volver a aprobar MFA, lo que debilita la premisa de “least‑privilege” y expone a la organización a ataques de phishing o de sesión comprometida. ...

June 28, 2026 · Ernesto

Cómo reducir costos de ingestión de CloudWatch Logs archivando en S3 con herramientas Rust

Problema Los entornos que generan gran volumen de eventos en CloudWatch Logs suelen ver que la factura de ingestión supera con creces el costo de almacenamiento. Cada gigabyte de datos enviados a CloudWatch se factura a alrededor de $0.50, mientras que el mismo dato comprimido y guardado en S3 cuesta menos de $0.04 por mes. Cuando los logs son escritos intensamente y rara vez consultados, la arquitectura tradicional de CloudWatch se vuelve ineficiente: se paga por la ingestión aunque la mayor parte del valor reside en la retención a largo plazo. ...

June 28, 2026 · Ernesto

Cómo mejorar la efectividad de tu resume para roles de Azure IAM y Cloud Security

Problema Muchos ingenieros especializados en Azure IAM, Microsoft Entra ID y seguridad en la nube dedican tiempo a construir infraestructuras complejas, pero cuando publican su curriculum, la respuesta de los reclutadores es escasa o nula. El patrón es recurrente: el CV contiene mucha jerga técnica, listas extensas de herramientas y logros cuantificados, pero sigue sin generar entrevistas. El problema no es la falta de experiencia; es la forma en que esa experiencia se comunica y se alinea con los criterios de selección de los equipos de contratación de Azure. ...

June 27, 2026 · Ernesto

Cómo solucionar errores de creación de EC2 Instance en AWS

Problema En entornos de infraestructura como código (IaC) es frecuente que el despliegue de una EC2 Instance falle con un mensaje de error 400 que indica que la cuenta está bloqueada o no es reconocida como válida. El mensaje típico incluye “Blocked: This account is currently blocked and not recognized as a valid account”. El fallo ocurre tanto con Terraform como con la consola web, y se presenta antes de que se alcance cualquier límite de cuota o de capacidad. El síntoma es inmediato: la llamada RunInstances devuelve un error y la instancia nunca se crea. ...

June 27, 2026 · Ernesto