Blog
Notas desde la sala de servidores
Escritos prácticos sobre cómo gestionar AWS, GCP y Azure a escala.
30 de mayo de 2026 · 1 min de lectura
Migración de MySQL a Postgres — cuándo merece la pena, los baches y el workflow de pgloader
Hemos migrado bases de datos en ambos sentidos. Este es el marco de decisión honesto, las trampas de tipos de datos que muerden a cada equipo, y el runbook de migración que hemos refinado a través de engagements de clientes.
Leer artículo28 de mayo de 2026 · 1 min de lectura
RHEL 9 a RHEL 10 con Leapp — los checks pre-flight y los baches que pillamos
Los upgrades de versión mayor in-place son ya genuinamente viables en RHEL. Eso sí, no son fire-and-forget. Este es el workflow de Leapp que ejecutamos, los problemas que sacamos a la luz, y cuándo seguimos prefiriendo fresh installs.
Leer artículo28 de mayo de 2026 · 1 min de lectura
OpenTelemetry para Node.js — el cableado que de verdad funciona en producción
OpenTelemetry ha ganado el debate del distributed tracing. Así instrumentamos servicios Node, así exportamos a OTLP, y los errores que ya hemos cometido para que no tengas que repetirlos.
Leer artículo27 de mayo de 2026 · 1 min de lectura
Operaciones WP-CLI a escala — gestionar 200 sitios WordPress desde una sola terminal
Los patrones de WP-CLI que usamos para operar cientos de sitios WordPress sin perder la cabeza — el bucle multi-sitio, la disciplina de dry-run y el script de auditoría.
Leer artículo27 de mayo de 2026 · 1 min de lectura
Patrones de replicación de Postgres en 2026 — Patroni, servicios gestionados y la historia del failover
Cuándo montar tu propio clúster Patroni, cuándo usar Postgres gestionado, y las semánticas de failover que nadie explica hasta que producción rompe.
Leer artículo27 de mayo de 2026 · 1 min de lectura
Las migraciones de Laravel que rompen producción — y los patrones seguros que usamos en su lugar
Renombrar columna, soltar columna, cambiar tipo, añadir NOT NULL — cada una de ellas tiene un modo de fallo «funciona en staging, rompe a medianoche en producción».
Leer artículo26 de mayo de 2026 · 1 min de lectura
SELinux en producción — el workflow que de verdad funciona, y los denials AVC que seguimos encontrando
Setenforce 0 no es una estrategia. Este es el workflow de SELinux que usamos en cada host RHEL que gestionamos, incluyendo los módulos de policy custom y los pasos de debugging en orden.
Leer artículo26 de mayo de 2026 · 1 min de lectura
Actualizar a PHP 8.3 en producción — el playbook de migración para flotas Laravel, Symfony y WordPress
PHP 8.3 es maduro, rápido, y la superficie de deprecación desde 8.1/8.2 es pequeña pero afilada. Este es el playbook escalonado que usamos para mover flotas de clientes sin incidentes.
Leer artículo26 de mayo de 2026 · 1 min de lectura
La supply chain de npm en 2026 — lockfiles, sigstore, Socket y los ataques que hemos visto
npm es la mayor supply chain de software de la historia y la más atacada. Este es el modelo de amenazas en 2026 y los controles que entregamos en cada stack Node.js gestionada.
Leer artículo26 de mayo de 2026 · 1 min de lectura
Tuning de slow queries en MySQL — el workflow EXPLAIN-driven que usamos en bases de cliente
Slow query logs, EXPLAIN ANALYZE, performance_schema, y los siete antipatrones que encontramos en casi cada auditoría.
Leer artículo26 de mayo de 2026 · 1 min de lectura
Builds Docker multi-arch en 2026 — entregar ARM y x86 desde el mismo pipeline
Graviton, Ampere y Apple Silicon hacen ARM real en producción. Así construimos imágenes multi-arch que funcionan en todos lados, sin 3× el tiempo de build.
Leer artículo24 de mayo de 2026 · 1 min de lectura
Nginx vs HAProxy vs Envoy — una comparativa honesta de 2026
Tres proxies excelentes, tres sweet spots distintos. Dónde desplegamos cada uno para clientes, y los modos de fallo que deciden cuál elegir.
Leer artículo24 de mayo de 2026 · 1 min de lectura
EKS vs GKE vs AKS en 2026 — una comparativa honesta de campo
Operamos los tres para clientes. Estos son los puntos donde cada uno gana discretamente, donde pierde, y el marco de decisión que de verdad usamos.
Leer artículo23 de mayo de 2026 · 1 min de lectura
Autovacuum de Postgres, desmitificado — el tuning que previene el pánico de wraparound a las 3 am
Los fallos de autovacuum son silenciosos hasta que no lo son. Así es cómo funciona realmente, las métricas que importan y el tuning por tabla que aplicamos en bases de datos de clientes.
Leer artículo23 de mayo de 2026 · 1 min de lectura
PM2 vs cluster vs containers — cómo corremos Node.js en 2026
PM2 era la respuesta correcta en 2018. El módulo cluster lo era antes. En 2026 la respuesta depende de qué estás optimizando.
Leer artículo22 de mayo de 2026 · 1 min de lectura
Migrar un sitio WooCommerce de 50 GB sin downtime — el runbook que seguimos
Las grandes migraciones de WooCommerce fallan de formas predecibles. Este es el runbook que seguimos, los baches a anticipar, y el script de cutover que lo ata todo.
Leer artículo22 de mayo de 2026 · 1 min de lectura
Supply chain de Composer en 2026 — las auditorías, locks y controles de firma que entregamos por defecto
Composer es el punto de entrada más grande a las aplicaciones PHP. Tras tres años de ataques a Packagist, los controles que cada shop de PHP debería tener ya no son opcionales.
Leer artículo22 de mayo de 2026 · 1 min de lectura
Nginx, HTTP/3 y una config TLS de verdad actual para 2026
Soporte de QUIC, TLS 1.3, OCSP stapling, hardening de cifrados y los pequeños detalles que deciden si tu edge saca un A+ o una C en cada escáner TLS.
Leer artículo22 de mayo de 2026 · 1 min de lectura
De Docker Compose a Kubernetes — la migración que no tiene por qué ser dolorosa
Un playbook de migración por etapas desde docker-compose a Kubernetes, incluyendo los patrones que traducen limpiamente y los que necesitan un replanteamiento.
Leer artículo21 de mayo de 2026 · 1 min de lectura
kpatch en RHEL — parchear CVEs de kernel sin el reboot
El live kernel patching es real, soportado y útil. Tampoco es una bala de plata. Así usamos kpatch en producción y dónde seguimos reiniciando.
Leer artículo21 de mayo de 2026 · 1 min de lectura
Pooling de conexiones de Postgres con PgBouncer — los patrones que usamos en producción
Modo transaction, modo session, prepared statements, y las decisiones de topología de clúster que determinan si PgBouncer ayuda o estorba.
Leer artículo21 de mayo de 2026 · 1 min de lectura
El playbook de fugas de memoria en Node.js — heap snapshots, clinic.js y los cuatro patrones que seguimos encontrando
La mayoría de fugas de memoria en Node.js no son exóticas. Son el mismo puñado de patrones apareciendo en producción una y otra vez. Así los diagnosticamos.
Leer artículo20 de mayo de 2026 · 1 min de lectura
Rate limiting en capas en Nginx — desde limit_req_zone hasta Cloudflare y de vuelta
Cómo apilamos rate limiting en edge, perímetro y origin para absorber scrapers, intentos de fuerza bruta y el DDoS volumétrico ocasional sin despertar a guardia.
Leer artículo20 de mayo de 2026 · 1 min de lectura
Despliegues Laravel sin downtime — el pipeline de symlink atómico que mantiene honestas las colas
Lo que de verdad cuesta desplegar Laravel sin caer peticiones ni perder jobs: releases atómicas, la coreografía de los queue workers, timing del reset de OPcache, y el pipeline tipo Envoyer que entregamos.
Leer artículo20 de mayo de 2026 · 1 min de lectura
El baseline de seguridad de Kubernetes alineado con CIS que entregamos desde el día uno
Pod Security Standards, políticas Kyverno, NetworkPolicies, audit logging — los controles que aplicamos a cada clúster de cliente antes de que lleguen los workloads.
Leer artículo19 de mayo de 2026 · 1 min de lectura
OPcache y JIT en producción de PHP 8.3 — lo que de verdad mueve la aguja
OPcache es obligatorio. JIT es condicional. Esta es la config de producción que entregamos, el debate del modo JIT zanjado con números, y las cargas donde JIT de verdad duele.
Leer artículo19 de mayo de 2026 · 1 min de lectura
Backups de MySQL que de verdad restauran — XtraBackup, binlogs y el simulacro trimestral
mysqldump no es una estrategia de backup para producción. Este es el setup de Percona XtraBackup + PITR de binlog que desplegamos, y el simulacro de restauración que lo mantiene honesto.
Leer artículo19 de mayo de 2026 · 1 min de lectura
Endurecer WordPress en 2026 — la checklist que aplicamos en sitios de clientes
La mayoría de las guías de seguridad de WordPress son 80 % ruido. Estos son los controles que de verdad detienen los ataques que vemos cada semana.
Leer artículo19 de mayo de 2026 · 1 min de lectura
Buenas prácticas de Dockerfile en 2026 — los patrones que de verdad importan
La mayoría de las guías de Dockerfile están desfasadas. Estos son los patrones que rinden en producción: multi-stage builds, cache mounts, bases distroless y la historia rootless.
Leer artículo18 de mayo de 2026 · 1 min de lectura
Los patrones de reverse proxy de Nginx que de verdad operamos en producción
Bloques upstream, tuning de keepalive, reenvío de cabeceras y la cadena X-Forwarded-For. La config de reverse proxy que copiamos en el edge de cada cliente.
Leer artículo18 de mayo de 2026 · 1 min de lectura
Un setup pragmático de Argo CD — GitOps que sobrevive al contacto con la realidad
GitOps se vende como magia. En la práctica, la magia ocurre cuando la estructura de tu repo, la orquestación de sync waves y tu estrategia de secretos trabajan juntas. Esta es la disposición que usamos.
Leer artículo17 de mayo de 2026 · 1 min de lectura
Migrar Apache a Nginx — los patrones de traducción y el playbook que usamos
La mayoría de migraciones Apache-a-Nginx se atascan en .htaccess. Esta es la tabla de traducción, los baches, y el playbook que cruza un sitio real sin sorpresas.
Leer artículo16 de mayo de 2026 · 1 min de lectura
Checklist de endurecimiento de Ubuntu Server 24.04 en fresh-install
Los pasos exactos que ejecutamos en cada nuevo host Ubuntu 24.04 antes de que llegue cualquier carga — SSH, UFW, fail2ban, AppArmor, auditd, y los pequeños detalles que de verdad importan.
Leer artículo15 de mayo de 2026 · 1 min de lectura
FastAPI en Kubernetes — el despliegue de producción que entregamos por defecto
Pydantic v2, elección de servidor ASGI, OpenAPI en CI, health checks, y los manifiestos Kubernetes que aplicamos en cada nuevo servicio FastAPI.
Leer artículo15 de mayo de 2026 · 1 min de lectura
Aplicar el benchmark CIS Ubuntu — los controles que importan y los que nos saltamos
Un paseo pragmático a través de CIS Ubuntu 22.04 y 24.04 Nivel 1 y Nivel 2: qué controles mueven la economía del atacante, cuáles producen ticks amarillos para auditores, y cómo auditar a escala.
Leer artículo15 de mayo de 2026 · 1 min de lectura
Endurecimiento TLS de Apache en 2026 — cifrados, OCSP stapling y el pipeline de renovación de cert
TLS 1.3 es el default, pero la mayoría de instalaciones de Apache aún tienen config de las guerras de ciphersuite de 2018. Esto es lo que de verdad pertenece a tu config SSL hoy.
Leer artículo14 de mayo de 2026 · 1 min de lectura
Canonical Livepatch en producción — parchear CVEs de kernel sin reiniciar
Cómo funciona Livepatch en realidad, qué puede y no puede parchear, la economía de la suscripción Pro, y las alternativas si no puedes o no quieres usarla.
Leer artículo14 de mayo de 2026 · 1 min de lectura
Gestionar RHEL a escala — Satellite, content views y el ciclo de vida que de verdad entregamos
subscription-manager está bien hasta que tienes 300 hosts. Esta es la disposición de Satellite que mantiene flotas RHEL cuerdas, parcheadas y auditables.
Leer artículo14 de mayo de 2026 · 1 min de lectura
Seguridad de dependencias Python en 2026 — pip-audit, lockfiles y los ataques de PyPI que seguimos viendo
Los ataques de supply-chain sobre PyPI son ya rutinarios. Esta es la toolchain que ejecutamos, la disciplina de lockfile que imponemos, y las alertas sobre las que actuamos de verdad.
Leer artículo14 de mayo de 2026 · 2 min de lectura
ModSecurity y el OWASP CRS — las reglas WAF que de verdad entregamos en Apache
La mayoría de las instalaciones de ModSecurity están o apagadas por defecto, o tan ruidosas que nadie lee los logs. Así lo afinamos para que sea útil sin ahogarse en falsos positivos.
Leer artículo13 de mayo de 2026 · 1 min de lectura
Configurar unattended-upgrades en Ubuntu como producción de verdad lo necesita
Qué parches de seguridad quieres auto-aplicados, cuáles no, y cómo gestionamos reboots en una flota de miles de servidores.
Leer artículo13 de mayo de 2026 · 1 min de lectura
Celery en producción — elección de broker, semántica de retry, y lo que Flower te dice de verdad
Redis vs RabbitMQ, tareas idempotentes, el backoff de retry que aplicamos por defecto, y el monitoreo que pilla problemas antes de que los usuarios los noten.
Leer artículo13 de mayo de 2026 · 1 min de lectura
Alta disponibilidad de MySQL en 2026 — ¿Galera, InnoDB Cluster o réplicas async?
Tres enfoques reales de HA para MySQL, qué te aporta realmente cada uno, y el árbol de decisión que usamos al levantar clústeres de cliente.
Leer artículo13 de mayo de 2026 · 1 min de lectura
Laravel Octane en producción — RoadRunner vs Swoole vs FrankenPHP
Hemos migrado docenas de apps Laravel a Octane sobre tres runtimes distintos. Así comparan RoadRunner, Swoole y FrankenPHP en throughput, memoria, ergonomía de despliegue y modos de fallo.
Leer artículo13 de mayo de 2026 · 2 min de lectura
Apache MPM event en 2026 — dimensionar el thread pool que de verdad operamos
Prefork es una pieza de museo. Worker está bien. Event es lo que quieres — y la mayoría de instalaciones Apache que auditamos lo tienen mal ajustado.
Leer artículo12 de mayo de 2026 · 2 min de lectura
La pila de caché de WordPress que de verdad sobrevive al Black Friday
Caché de página, caché de objetos, caché de opcode, caché en el edge — qué aporta cada uno, dónde se pelean, y el orden de apilamiento que aguanta en el pico.
Leer artículo12 de mayo de 2026 · 1 min de lectura
Gunicorn y Uvicorn en producción — el tuning de workers que de verdad aplicamos
Sync vs async, las matemáticas de número de CPUs, el patrón Gunicorn-con-Uvicorn-workers, y los timeouts que mantienen los servicios Python sanos bajo carga.
Leer artículo12 de mayo de 2026 · 1 min de lectura
Tuning del pool de PHP-FPM en producción — la decisión static vs dynamic vs ondemand
La mayoría de los problemas de rendimiento de PHP no son PHP. Son dimensionamiento del pool, modo del process manager y un slowlog que nadie lee. Así afinamos PHP-FPM en cargas reales.
Leer artículo10 de mayo de 2026 · 1 min de lectura
Ejecutar un simulacro de restauración PITR de PostgreSQL cada semana (este es nuestro runbook)
Las copias que nunca has restaurado no son copias. Nuestro simulacro semanal de point-in-time recovery — qué prueba, qué automatizamos, y qué seguimos haciendo a mano.
Leer artículo8 de mayo de 2026 · 2 min de lectura
Seis fugas de coste en Kubernetes que encontramos en casi todos los clústeres
Namespaces ociosos, requests sobredimensionadas, dispersión de snapshots EBS, facturas de egress NAT — las formas recurrentes en que K8s quema el 25-40 % de su presupuesto de cómputo.
Leer artículo6 de mayo de 2026 · 1 min de lectura
Laravel Horizon en producción — dimensionar workers, sobrevivir a Redis, y la estrategia de retry
Lo que hemos aprendido ejecutando Horizon para clientes Laravel que manejan millones de jobs al día: autoscaling de workers, aislamiento de colas, semántica de retry, y los errores de configuración que queman dinero en silencio.
Leer artículo6 de mayo de 2026 · 2 min de lectura
Una supply chain de Docker práctica: firmada, escaneada, atestada
Cosign, Trivy, SBOMs y políticas de admisión — la configuración mínima de supply chain de contenedores que entregamos en cada clúster de cliente.
Leer artículo