Aprende sobre deploy
Hacer deploy es llevar tu código a un servidor que está siempre en línea. Mira cómo funciona, cómo dimensionar recursos y cómo resolver fallos.
Destacados
- ConceptosQué son las variables de entornoLas variables de entorno son pares clave-valor que el sistema operativo entrega a un proceso al iniciar. Aprende a leerlas en Node.js y Python sin exponer tokens.
- ConceptosQué es un deploy o despliegueUn deploy o despliegue lleva una versión de tu código a un servidor, la prepara y la pone en marcha. Conoce las etapas, los métodos y cómo hacer rollback.
- Costos¿Cuánta RAM y CPU necesita mi aplicación?Dimensiona RAM y CPU midiendo el pico real de la aplicación y sumando un margen del 30%. Mira cómo medir en Node.js, Python y Java y qué hacer cuando falte.
Conceptos8
- Qué son las variables de entornoLas variables de entorno son pares clave-valor que el sistema operativo entrega a un proceso al iniciar. Aprende a leerlas en Node.js y Python sin exponer tokens.
- Qué es un deploy o despliegueUn deploy o despliegue lleva una versión de tu código a un servidor, la prepara y la pone en marcha. Conoce las etapas, los métodos y cómo hacer rollback.
- Uptime y SLA del 99,9%: qué significan en la prácticaUn uptime del 99,9% permite unos 43 minutos de caída al mes. Mira el cálculo, la diferencia entre uptime, SLO y SLA y qué garantiza de verdad un SLA.
- Qué es Docker y para qué sirveDocker es una plataforma que empaqueta una aplicación y sus dependencias en una imagen y la ejecuta como contenedor. Mira cómo funciona, un ejemplo y sus límites.
- Qué es CI/CDCI/CD es la práctica de probar cada cambio de código de forma automática (CI) y llevarlo a producción sin pasos manuales (CD). Mira cómo funciona un pipeline.
- Qué es el hosting en la nube (cloud hosting)El hosting en la nube es ejecutar tu aplicación en recursos de cómputo bajo demanda, en lugar de un servidor fijo. Mira cómo funciona, sus modelos y cuándo usarlo.
- Qué es un VPS y cuándo necesitas unoUn VPS es un servidor virtual privado: una máquina virtual con sistema propio y acceso root, alquilada a un proveedor. Mira cómo funciona y cuándo conviene.
- ¿Qué es Docker Compose?Docker Compose describe una aplicación de varios contenedores en un archivo YAML y la levanta con un comando. Mira cómo funciona, un ejemplo y sus límites.
Paso a paso10
- Deploy automático con GitHub ActionsEl deploy automático con GitHub Actions envía tu código al servidor en cada push. Mira el workflow paso a paso, los secrets, las pruebas y los errores comunes.
- El archivo .env: para qué sirve y cómo crearloEl archivo .env guarda variables de entorno en texto plano, una por línea. Mira la sintaxis, cómo cargarlo en Node.js y en Python y cómo no filtrar secretos.
- Estrategias de backup: snapshots vs backups y la regla 3-2-1La regla 3-2-1 pide 3 copias en 2 tipos de medio con 1 fuera del sitio. Aprende a aplicarla a una app y su base de datos, en qué difiere un snapshot y un script.
- Cómo leer los logs de tu aplicación (y encontrar el error)Para encontrar el error en los logs, empieza por el final, sube hasta la primera línea de error y lee el stack trace. Paso a paso en Node.js y Python.
- Variables de entorno en tiempo de build vs en tiempo de ejecuciónLas variables de build quedan grabadas en el bundle; las de runtime se leen al iniciar la app. Aprende a distinguirlas y dónde guardar un secreto con seguridad.
- Cómo desplegar un monorepoDesplegar un monorepo es publicar una app de un repositorio que tiene varias. Aprende a podar dependencias y empaquetar un paquete con pnpm y Turborepo.
- PM2 y reinicio automático: cómo mantener vivo el procesoUsa PM2 para reiniciar tu proceso Node.js cuando se cae, se queda sin memoria o el servidor se reinicia. Incluye ecosystem file, límites y uso en Docker.
- Entornos de desarrollo, staging y producciónDesarrollo, staging y producción son tres copias de tu app con config y datos separados. Aprende a montarlas, promover código y evitar que se mezclen.
- Cómo dockerizar una aplicaciónDockerizar es empaquetar tu aplicación y sus dependencias en una imagen. Aprende a escribir un Dockerfile para Node.js, construirlo, ejecutarlo y corregir errores.
- Rollback y deploys sin downtimeUn rollback restaura la última versión que funcionaba; un deploy sin downtime cambia de versión sin perder peticiones. Conoce rolling, blue-green y canary.
Problemas y errores5
- Falló el deploy: cómo leer errores de buildUn build fallido imprime decenas de líneas, pero solo una importa. Encuentra el primer error real, su causa y cómo corregir fallos de npm, pip y TypeScript.
- 'Cannot find module' y 'ModuleNotFoundError' en el deploy'Cannot find module' (Node.js) y 'ModuleNotFoundError' (Python) significan que el runtime no encuentra un import. Conoce las causas comunes y cómo arreglar cada una.
- Aplicación lenta en el servidor: CPU steal, memoria e I/OUna aplicación lenta casi siempre tiene un cuello de botella medible: CPU steal, throttling, memoria, disco, red o el propio código. Aprende a medir cada uno.
- La aplicación se reinicia sola: errores de falta de memoria (OOM) explicadosUna aplicación que se reinicia sin motivo claro suele estar en su límite de memoria. Detecta el OOM en Node.js, Python y Java, halla la causa y corrígela.
- Funciona en local pero no después del deploy: causas comunesSi tu aplicación funciona en local pero falla al desplegar, suele diferir en variables de entorno, versiones, rutas, puerto o archivos que faltan. Encuentra cuál.
Costos3
- ¿Cuánta RAM y CPU necesita mi aplicación?Dimensiona RAM y CPU midiendo el pico real de la aplicación y sumando un margen del 30%. Mira cómo medir en Node.js, Python y Java y qué hacer cuando falte.
- ¿Cuánto cuesta hospedar una aplicación Node.js?Hospedar Node.js cuesta desde cero, con límites, hasta unos pocos dólares al mes. Mira qué define el precio, cuánta RAM usa tu app y cómo cobra cada opción.
- ¿Cuánto cuesta un VPS?Un VPS de entrada parece barato en la página de precios, pero la renovación, las copias y tu tiempo cambian el costo real. Mira cómo hacer la cuenta completa.
Comparaciones4
- VPS o nube: qué conviene a tu proyectoUn VPS da control total del servidor y te obliga a administrarlo. Una plataforma de hosting automatiza el servidor. Mira las diferencias y cuándo elegir cada uno.
- Contenedor vs máquina virtualContenedor y máquina virtual aíslan apps distinto: el contenedor comparte el kernel del host, la VM trae el suyo. Mira sus diferencias y cuándo usar cada uno.
- Serverless o contenedores: qué usar para bots y APIsServerless ejecuta funciones por solicitud y escala a cero; un contenedor mantiene un proceso siempre encendido. Límites, cold start y qué sirve para bots y APIs.
- VPS o hosting compartido: cuál elegirEl hosting compartido reparte un servidor entre muchos sitios y es simple. Un VPS te da root y recursos propios, pero lo administras tú. Así puedes elegir.
Cuál elegir3
- La mejor forma de hospedar una aplicación Node.jsLa mejor forma de hospedar Node.js depende del tipo de proceso: siempre encendido o por solicitud. Compara VPS, plataforma de contenedores y serverless por caso.
- La mejor forma de hospedar una aplicación PythonLa mejor forma de hospedar Python depende de la app: un bot, una API web, una tarea programada o IA. Compara VPS, contenedores y serverless y cuándo usar cada uno.
- ¿Necesitas un VPS para un bot de Discord?Un bot de Discord no necesita un VPS: es un proceso ligero que mantiene una conexión abierta. Descubre cuándo conviene el VPS, qué exige y qué alternativas hay.