Cómo reducir un EBS volume sobre‑expandido sin migración completa

Problema En entornos de producción auto‑gestionados es frecuente que un contenedor o proceso genere archivos inesperados (logs, dumps, archivos temporales) que llenan rápidamente el disco. La reacción típica es ampliar el volumen subyacente (por ejemplo, un EBS de 250 GB a 1.5 TB) para evitar que el servicio se caiga. Una vez eliminado el exceso de datos, el uso real vuelve a ser mucho menor, pero el coste del volumen sigue basado en su tamaño máximo. El desafío es reducir el tamaño lógico del volumen sin perder datos ni interrumpir servicios críticos, algo que los sistemas de archivos ext4 y xfs no permiten de forma directa en producción. ...

June 1, 2026 · Ernesto

Cómo migrar de Azure a Hetzner y reducir costos en infraestructuras Kubernetes

Problema Muchas startups y equipos de DevOps empiezan su stack en un hyperscaler (Azure, AWS, GCP) porque el crédito inicial y la facilidad de aprovisionamiento son atractivos. Con el tiempo, la factura crece: nodos de Kubernetes, balanceadores, CDN, funciones serverless y bases de datos gestionadas. La arquitectura suele estar diseñada para evitar el lock‑in a nivel de API, pero el modelo de precios de los proveedores sigue siendo exponencial. El patrón recurrente es alto gasto operativo con poca diferenciación funcional. Cuando el presupuesto se vuelve crítico, el equipo necesita una alternativa que mantenga la disponibilidad y la capacidad de escalar, pero con un modelo de costos lineal y sin dependencias propietarias. ...

May 30, 2026 · Ernesto

Cómo diagnosticar y solucionar problemas de Terraform en Azure DevOps pipelines con IAM

Problema En entornos donde los equipos gestionan infraestructura como código con Terraform dentro de Azure DevOps, es frecuente que los pipelines fallen de forma intermitente o constante. El patrón típico incluye errores de autorización (403, AccessDenied), fallos al ejecutar terraform plan o apply, y mensajes que hacen referencia a recursos tanto de Azure como de AWS. El problema no se limita a un proyecto concreto; ocurre siempre que se combinan: ...

May 29, 2026 · Ernesto

Cómo usar un emulador AWS de un solo binario en pipelines CI/CD

Problema En entornos de desarrollo y CI/CD que dependen de servicios AWS, es frecuente encontrarse con tres limitaciones: Costos – Ejecutar pruebas contra la nube real implica cargos por uso, lo que escala rápidamente con la cantidad de builds. Velocidad – Los recursos remotos añaden latencia; los pipelines se alargan y el feedback para los desarrolladores se retrasa. Cobertura – Herramientas gratuitas o de comunidad a menudo no implementan el conjunto completo de APIs, lo que obliga a escribir pruebas que sólo cubren un subconjunto de la funcionalidad real. El patrón que se repite es la necesidad de un entorno AWS local que sea rápido, completo y sin costes ocultos, capaz de integrarse tanto en máquinas locales como en clústers Kubernetes usados por los pipelines. Cuando la solución no cumple con alguno de esos requisitos, los equipos terminan combinando varios emuladores, scripts de arranque y contenedores Docker, lo que genera complejidad y puntos de falla. ...

May 29, 2026 · Ernesto

Cómo validar configuraciones de AWS para cumplir con los controles SOC 2 usando una CLI open source

Problema Los equipos que gestionan entornos AWS suelen recibir auditorías SOC 2 que exigen configuraciones específicas: MFA obligatorio en usuarios IAM, CloudTrail activo en todas las regiones, buckets S3 sin acceso público, entre otros. En la práctica, esas configuraciones se pierden con cambios de infraestructura, despliegues automáticos o simplemente por desconocimiento. Cuando la auditoría llega, los hallazgos aparecen como “control no cumplido” y el equipo debe reaccionar bajo presión. La raíz del problema es la falta de una verificación continua y enfocada en los controles SOC 2, no un escaneo genérico de seguridad. ...

May 29, 2026 · Ernesto

Cómo manejar respuestas y timeouts de Adaptive Card en Azure Logic Apps

Problema En muchos procesos de aprobación o verificación se necesita enviar una Adaptive Card a Teams y esperar una respuesta del usuario. La acción Post adaptive card and wait for a response permite definir un timeout (por ejemplo, PT2M). Cuando el usuario pulsa el botón, la salida contiene el submitActionId; cuando el timeout ocurre, la salida es nula y el estado de la acción pasa a TimedOut. El desafío aparece al intentar encadenar una condición que evalúe ambos escenarios dentro de un bucle Until. Si la condición intenta leer body('Post_adaptive_card_and_wait_for_a_response')['submitActionId'] cuando la tarjeta expiró, el motor lanza InvalidTemplate porque la propiedad no existe. El resultado es un flujo que se detiene antes de poder enviar recordatorios o marcar la tarea como completada. ...

May 27, 2026 · Ernesto

Cómo proteger GitHub Actions contra ataques de supply chain tipo Megalodon

Problema Los pipelines de CI/CD son cada vez más atractivos para los atacantes porque, una vez dentro, pueden ejecutar código con los mismos privilegios que el propio runner. Un patrón recurrente es la inserción de workflow maliciosos que imitan a bots de CI (por ejemplo build-bot o auto-ci) y que roban secretos, credenciales de nube y tokens OIDC. Cuando el atacante controla un workflow que se dispara en cada push o mediante workflow_dispatch, puede exfiltrar datos en cada ejecución y, con un token OIDC válido, obtener acceso directo a los proveedores de nube sin necesidad de credenciales estáticas. ...

May 25, 2026 · Ernesto

Cómo diseñar un plan práctico para aprender Kubernetes, Terraform y GCP

Problema Muchos ingenieros de DevOps llegan a un punto donde el día a día se reduce a mantenimiento de pipelines, playbooks y contenedores. La falta de proyectos con impacto real dificulta el paso de “conozco Docker” a “despliego clústers de Kubernetes con IaC”. El patrón recurrente es: conocimientos fragmentados + escasez de entornos de práctica, lo que genera estancamiento profesional y poca exposición a herramientas como ArgoCD o GCP. Causa Entorno aislado – Usar solo Docker en una máquina local no reproduce la complejidad de redes, IAM y almacenamiento que aparecen en la nube. Ausencia de roadmap estructurado – Saltar de tutorial a tutorial sin un objetivo medible lleva a aprender conceptos sueltos que no se integran. Recursos limitados – El coste percibido de GCP o de clústers gestionados frena la experimentación, aun cuando existen capas gratuitas y cuotas de prueba. Falta de feedback – Sin CI/CD que valide cada cambio, los ejercicios quedan en “funciona en mi máquina” y no se detectan errores de configuración. Solución Crear un lab modular que combine los tres pilares (Kubernetes, Terraform, GCP) y que pueda ejecutarse en ciclos de una a dos semanas. El lab sigue una arquitectura de tres capas: ...

May 23, 2026 · Ernesto

Cómo diseñar una ruta de aprendizaje práctica en Coursera para AWS, Docker, Terraform, Kubernetes y Prometheus/Grafana

Problema Los profesionales que migran a roles de DevOps suelen buscar una ruta de estudio que combine teoría mínima y práctica intensiva. En plataformas masivas como Coursera abundan especializaciones largas, con módulos repetitivos sobre conceptos básicos (Git, fundamentos de la nube) que diluyen el tiempo disponible para los laboratorios reales. El desafío consiste en seleccionar y encadenar cursos que: Cubran todo el stack moderno (AWS, Docker, Terraform, Kubernetes, Prometheus/Grafana). Ofrezcan entornos de laboratorio ejecutables directamente desde el navegador. Permitan pasar de la teoría a la implementación de pipelines CI/CD en menos de tres meses. Generen evidencia tangible (certificados, proyectos en Git) para el CV. Causa Diseño de catálogo genérico – Coursera agrupa cursos bajo “Specializations” que incluyen varios módulos introductorios, lo que genera solapamiento de contenidos. Falta de filtros de práctica – La mayoría de los listados no indican claramente la cantidad de laboratorios o la disponibilidad de entornos cloud reales. Enfoque en certificaciones de proveedores – Algunos cursos priorizan la preparación para exámenes oficiales en lugar de proyectos de fin de semana que simulan problemas de producción. Escasez de rutas curadas por la comunidad – Los usuarios rara vez comparten combinaciones efectivas, lo que obliga a probar varias opciones sin garantía de resultados. Solución Construir una ruta modular basada en tres criterios: intensidad de laboratorio, coherencia de stack y certificación opcional. La siguiente combinación ha demostrado ofrecer la mayor densidad de práctica sin redundancia. ...

May 23, 2026 · Ernesto

Cómo emular múltiples servicios de GCP localmente con un contenedor único

Problema Desarrollar y testear aplicaciones que consumen varios servicios de Google Cloud suele requerir que cada API se ejecute en su propio proceso o binario. Los emuladores oficiales de Cloud Storage, Pub/Sub, Firestore y Datastore se distribuyen como ejecutables independientes, cada uno escuchando en puertos diferentes. En entornos CI o en máquinas de desarrollo con recursos limitados, mantener varios procesos activos genera complejidad: hay que coordinar puertos, manejar variables de entorno distintas y, en el peor de los casos, algunos servicios (por ejemplo, Secret Manager o Managed Kafka) no tienen emulador oficial. El patrón recurrente es la fragmentación del entorno local, que dificulta la reproducibilidad de pruebas y ralentiza los pipelines. ...

May 23, 2026 · Ernesto