AWS para principiantes: entendiendo los servicios principales
¿Qué es AWS? Amazon Web Services (AWS) es la plataforma de computación en la nube de Amazon. En lugar de comprar un...
Ajustar PHP-FPM para mejor rendimiento
Qué es PHP-FPM PHP-FPM (FastCGI Process Manager) es la forma moderna de ejecutar PHP en un servidor. En lugar de ser...
Docker para principiantes: qué es y por qué usarlo
Qué es Docker Docker es una plataforma de virtualización ligera que permite empaquetar una aplicación y todas sus...
Fail2ban: bloqueo automático de atacantes de fuerza bruta
Fail2ban: bloqueo automático de atacantes de fuerza bruta Si expones tu servidor a internet, vas a recibir intentos...
IPv6: el fin de la escasez de IPs
Por qué existe IPv6 Cuando se diseñó IPv4 en los años ochenta, nadie imaginó que el mundo entero se conectaría a...
Instalar Node.js en tu VPS Linux con NVM
Instalar Node.js en tu VPS Linux con NVM Si vas a correr aplicaciones JavaScript en tu VPS, lo primero que necesitas...
Kubernetes: qué es y cuándo tiene sentido usarlo
Qué es Kubernetes en una frase Kubernetes (abreviado K8s) es un orquestador de contenedores: un sistema que se...
La regla 3-2-1 de respaldos aplicada al hosting
Qué es la regla 3-2-1 La regla 3-2-1 es una guía clásica en administración de sistemas que resume lo mínimo para...
Netdata: dashboard de monitoreo en tiempo real para tu VPS
Netdata: dashboard de monitoreo en tiempo real para tu VPS Cuando un servidor empieza a ponerse lento, lo último que...
Redis como cache para acelerar aplicaciones web
Qué es Redis Redis es un almacén de datos en memoria — guarda valores indexados por claves directamente en RAM, lo...
SSH con llaves públicas: acceso seguro sin contraseña
Por qué usar llaves en lugar de contraseña La autenticación por contraseña es vulnerable a ataques de fuerza bruta —...
Ajustar MySQL/MariaDB con my.cnf para mejor rendimiento
Por qué ajustar MySQL La configuración por defecto de MySQL/MariaDB está pensada para funcionar en cualquier máquina...
BorgBackup: respaldos con deduplicación y cifrado
Qué es BorgBackup Borg es una herramienta de respaldo en línea de comandos pensada para servidores. Su diferencial no...
ClamAV: escáner antivirus para tu servidor Linux
ClamAV: escáner antivirus para tu servidor Linux ClamAV es el antivirus open source más usado en servidores Linux. No...
Correr una aplicación Node.js en producción con PM2
Correr una aplicación Node.js en producción con PM2 Cuando estás desarrollando, lanzas tu app Node con node app.js y...
Deploy con Git: subir cambios directamente desde tu repo
Deploy con Git: subir cambios directamente desde tu repo Subir archivos por FTP cada vez que cambias algo es lento y...
EC2: lanzar tu primera instancia y conectarte por SSH
¿Qué es una instancia EC2? Una instancia EC2 es una máquina virtual en la nube de AWS. Eliges el sistema operativo,...
Firewall básico en Linux con UFW
Qué es UFW UFW (Uncomplicated Firewall) es una capa de abstracción sobre iptables/nftables que hace mucho más...
Instalar Docker en Ubuntu/Debian y primeros comandos
Instalación de Docker en Ubuntu y Debian Esta guía muestra cómo instalar Docker Engine en un VPS con Ubuntu 22.04 o...
Instalar PostgreSQL en Ubuntu y crear tu primera base de datos
PostgreSQL en un VPS Ubuntu paso a paso Montar PostgreSQL en un servidor Ubuntu es cuestión de minutos, pero hay...
Pods, Deployments y ReplicaSets explicados
El trío que todo principiante debe entender Si acabas de entrar a Kubernetes, lo primero que debes dominar son tres...
Uptime Kuma: monitoreo de sitios y servicios con alertas
Uptime Kuma: monitoreo de sitios y servicios con alertas Los servicios comerciales de monitoreo están bien, pero si...
BGP: cómo internet rutea el tráfico global
Internet no es una sola red Un error común es imaginar internet como una gran red uniforme. En realidad es una...
Cloudflare R2: almacenamiento tipo S3 sin cargos de salida
Qué es R2 R2 es el servicio de object storage de Cloudflare, el equivalente a Amazon S3, Google Cloud Storage o...
Detectar rootkits con rkhunter y chkrootkit
Detectar rootkits con rkhunter y chkrootkit Un rootkit es un conjunto de herramientas que un atacante instala después...
Dockerfile: crear tu propia imagen paso a paso
Qué es un Dockerfile Un Dockerfile es un archivo de texto plano que contiene las instrucciones necesarias para...
Exponer tus apps: Services y Ingress
El problema: los Pods son invisibles Los Pods en Kubernetes aparecen, mueren y cambian de IP sin avisar. Si un...
Grafana + Prometheus: stack profesional de métricas
Grafana + Prometheus: stack profesional de métricas Si ya creciste más allá de un solo servidor y necesitás...
Hardening inicial de un VPS recién entregado
Lo que harás en este tutorial Cuando recibes un VPS nuevo viene con configuración de fábrica — adecuada para empezar...
MongoDB básico: instalación y primeros documentos
De tablas a documentos MongoDB es la base de datos NoSQL más popular del mundo. En lugar de guardar filas en tablas...
Nginx como proxy inverso para Node.js
Nginx como proxy inverso para Node.js Node.js puede atender peticiones HTTP por sí solo, pero correrlo directamente...
Restic: backup moderno a múltiples destinos
Qué es Restic Restic es una herramienta de backup escrita en Go, distribuida como un único binario y pensada para ser...
Cloudflare Tunnel: exponer servicios sin abrir puertos
El problema de abrir puertos La forma clásica de publicar un servicio en internet es abrir un puerto en tu router o...
ConfigMaps y Secrets: configuración sin hardcodear
La regla de oro: config fuera del código Una aplicación lista para producción nunca lleva sus valores de...
Deploy automático con webhooks y Git pull
El método más simple que funciona Antes de adoptar herramientas complejas, vale la pena conocer el enfoque clásico:...
Docker Compose: orquestar múltiples contenedores
Qué es Docker Compose Casi ninguna aplicación real vive sola: necesitas una base de datos, un caché, quizás un worker...
Entornos de desarrollo, staging y producción: por qué y cómo separarlos
Entornos de desarrollo, staging y producción: por qué y cómo separarlos Cuando un proyecto crece, trabajar...
Instalar Python 3 y entornos virtuales con venv
Instalar Python 3 y entornos virtuales con venv Python viene preinstalado en casi cualquier VPS Linux moderno, pero...
Monitorear servicios con Monit
Monitorear servicios con Monit Hay un problema muy común en servidores de producción: MySQL se cae a las 3 de la...
SQLite: la base de datos embebida sin servidor
Una base de datos dentro de un archivo SQLite es probablemente la base de datos más usada del mundo y la mayoría de...
WireGuard: VPN moderna y simple
Un nuevo enfoque a las VPN Durante años, si querías montar una VPN tenías dos opciones dominantes: OpenVPN o IPsec....
Alertas por Telegram cuando tu servidor tiene problemas
Alertas por Telegram cuando tu servidor tiene problemas El correo electrónico es muy bueno para muchas cosas, pero...
Auditar seguridad con Lynis
Auditar seguridad con Lynis Lynis es un auditor de seguridad para sistemas Unix y Linux. En lugar de detectar malware...
Backup y restore de PostgreSQL con pg_dump y pg_restore
Respaldos sin drama Hacer backup de PostgreSQL es sencillo una vez conoces sus herramientas. El problema es que mucha...
Configurar una VPN site-to-site con OpenVPN o WireGuard
Qué es una VPN site-to-site Una VPN tradicional de usuario final (road warrior) conecta un dispositivo individual a...
Desplegar una app Flask o Django con Gunicorn y Nginx
Desplegar una app Flask o Django con Gunicorn y Nginx Desplegar una aplicación Python web en producción involucra...
Empezar con minikube o k3s en tu VPS
No necesitas cloud para aprender Kubernetes Una idea falsa muy extendida es que para probar Kubernetes hay que...
Plan de recuperación ante desastres (DRP) para un servidor web
Qué es un DRP Un Plan de Recuperación ante Desastres (DRP, por sus siglas en inglés) es un documento operativo que...
Volúmenes y redes en Docker: persistir datos y comunicar contenedores
Los contenedores son efímeros Todo lo que escribes dentro de un contenedor se guarda en una capa de solo-escritura...
Consultas SQL más rápidas: el poder de los índices
Por qué tu consulta tarda 8 segundos Tienes una tabla de 500.000 pedidos. Un SELECT filtrando por cliente_id tarda...
Crear un servicio systemd para cualquier aplicación
Crear un servicio systemd para cualquier aplicación Cuando tienes un proceso que debe correr siempre en tu VPS (una...
Desplegar una aplicación web con Nginx + PHP-FPM en Docker
Escenario real Vamos a desplegar una aplicación PHP (por ejemplo, un sitio hecho con Laravel, Symfony o código...
Estrategias de deploy: blue-green, canary, rolling
Deployar es más que subir archivos Cuando tu aplicación ya tiene tráfico real, la pregunta deja de ser "¿cómo subo el...
HTTP/3 y QUIC: el futuro del protocolo web
De HTTP/1 a HTTP/3 en pocos años Durante casi dos décadas, la web se sirvió sobre HTTP/1.1: texto plano sobre TCP,...
SSH deploy sin contraseña con llaves de despliegue
SSH deploy sin contraseña con llaves de despliegue Cuando automatizas el despliegue de un sitio, llega un momento...
kubectl: los comandos que usarás a diario
kubectl es tu control remoto del cluster kubectl (pronunciado "kube-control" o "kube-cuddle") es la herramienta de...
Comandos esenciales de Linux para administrar tu VPS
Por qué conocerlos Un VPS sin panel de control se administra 100% por línea de comandos. Incluso si tienes cPanel o...
Monitorear CPU, memoria y disco en tiempo real
Por qué monitorear Un servidor que va lento no siempre da mensajes claros. A veces la respuesta está en que la RAM...
Nginx vs Apache: cuál elegir para tu servidor
Los dos grandes Apache y Nginx son los dos servidores web más usados del planeta. Ambos sirven páginas HTTP/HTTPS,...
Estrategias de backup para un VPS con rsync y rclone
El problema del backup en VPS En un hosting con cPanel el backup suele estar resuelto por el panel. En un VPS puro,...
Leer e interpretar los logs del servidor Linux
Por qué los logs importan Cuando algo falla en un servidor, los logs son el primer lugar donde mirar. Cada servicio...