despliegue
Cómo publicar una pequeña web app en un VPS sin DevOps
Tu app funciona de maravilla en el portátil — lo difícil es la distancia entre «funciona en mi máquina» y «en vivo en internet». Esto es lo que implica de verdad publicarla, las cuatro cosas que toda app necesita y cómo saltarte toda la configuración.
Has construido algo. Funciona en tu portátil — escribes un comando, abres localhost y ahí está. Ahora quieres que también lo vean los demás, en una dirección de verdad, en internet. Es en ese último paso donde un número sorprendente de proyectos personales se queda encallado en silencio.
El código está listo. Lo que queda es todo lo que hay alrededor: llevar tu app a un servidor, mantenerla en marcha incluso después de cerrar el portátil y hacerla accesible en una dirección como es debido, con su candado y todo. Ese conjunto de tareas tiene nombre — DevOps — y es la parte para la que nadie se había apuntado.
Qué significa de verdad «publicar»
Publicar es solo mover tu app de «funciona en mi máquina» a «funciona en una máquina que el mundo entero puede alcanzar». Para que eso ocurra, tienen que ser ciertas tres cosas:
- el código tiene que estar en el servidor,
- tiene que seguir funcionando — incluso después de un fallo o un reinicio,
- y los visitantes tienen que poder llegar hasta él en un dominio, por HTTPS.
En el portátil las dos primeras las consigues casi gratis: arrancas la app y funciona hasta que la detienes. Un servidor es otra cosa — y esa diferencia es todo el trabajo.
El muro entre tu app e internet
Esta es la pila de piezas pequeñas y poco familiares que suele interponerse en el camino:
- Un gestor de procesos — tu app tiene que arrancar por sí sola y volver a levantarse tras un fallo o un reinicio. Si la arrancas a mano, muere en el momento en que cierras la sesión.
- Un proxy inverso — tu app escucha en algún puerto interno como el 3000, pero los visitantes llegan al 80 y al 443. Algo tiene que ponerse delante y encaminarlos hacia dentro.
- HTTPS — el candado. Un certificado, emitido y renovado, o los navegadores etiquetan tu sitio como «No seguro».
- Un dominio y una puerta abierta — el nombre tiene que apuntar al servidor, y el firewall tiene que dejar pasar el tráfico web.
Ninguna de estas cosas es difícil por sí sola. Juntas, para una primera publicación, son un muro — cuatro herramientas que nunca habías visto, cada una con su propio archivo de configuración y su propia forma de fallar en silencio.
Qué necesita de verdad tu app
Quita las herramientas de en medio y los requisitos son sencillos. Tu app necesita un sitio donde funcionar, una manera de mantenerse en marcha, una ruta desde la dirección pública hasta su puerto interno y un certificado para que la conexión sea privada. Ahí está la lista entera. Cada herramienta del montón de DevOps existe para cubrir una de esas cuatro cosas.
Ten eso presente y publicar deja de parecer magia. Son cuatro necesidades — de cualquier manera que elijas satisfacerlas.
El atajo
Puedes montar cada pieza por tu cuenta: eliges un gestor de procesos, configuras un proxy inverso, preparas los certificados, haces que el dominio apunte, abres el puerto. Es una auténtica escuela, y una auténtica tarde — o tres. O puedes dejar que se encargue Server Manager: le dices que tienes una web app y la dirección en la que debe vivir, y él pone tu app en el servidor, la mantiene en marcha a través de fallos y reinicios, encamina tu dominio hacia ella y activa el HTTPS — las cuatro necesidades, resueltas, sin un solo archivo de configuración a la vista.
El único requisito previo es el dominio. Si aún no lo has hecho, empieza por cómo conectar un dominio al servidor — y el candado llega solo una vez que el nombre se resuelve.
Tu app, tu servidor
La distancia entre «funciona en mi máquina» y «está en vivo» es el punto donde muchas buenas ideas acaban esperando para siempre. No tiene por qué ser así. El código era la parte difícil, y ya la hiciste — ponerlo en línea debería ser la parte fácil, no el muro que te frena. Tu app, en tu propio servidor, en tu propia dirección: esa es toda la recompensa.
Las guías de ayuda te acompañan paso a paso en la publicación de una app cuando estés listo.