Despliegue Aplicacion NodeJS
Enviado por Patricia Viaut • 7 de Agosto de 2021 • Documentos de Investigación • 1.414 Palabras (6 Páginas) • 98 Visitas
NodeJS Nivel Intermedio
Despliegue
Presentación:
Actualmente NodeJS es una de las principales tecnologías de desarrollo del lado servidor.
Es utilizado por empresas como Netflix, PayPal, LinkedIn, Uber, Walmart, EBay entre
otras. Una de las características más atractivas de este runtime es que se basa en
JavaScript por lo que los desarrolladores front-end pueden desarrollar back-end sin
necesidad de aprender un nuevo lenguaje de programación.
En esta unidad analizaremos los pasos necesarios para realizar el despliegue de nuestra
aplicación, teniendo en cuenta la seguridad y las herramientas necesarias para poder
desplegar nuestra aplicación.
Analizaremos algunas herramientas que son útiles para verificar la seguridad de nuestra
aplicación, así como también realizar el despliegue de la misma.
Bloques temáticos:
● Consideraciones
● Seguridad
● Process Managers (PM2)
Validar casos de testeo
La manera más sencilla de verificar que nuestra aplicación pase los testeos es correr los
mismos de forma manual, por línea de comandos, y en caso que todos los testeos hayan
pasado de manera correcta, podemos garantizar que la aplicación funciona correctamente
(para los casos de testeo que hayamos definido)
Existen herramientas de automatización de disparo de los tests y despliegue de la
aplicación, las mismas se encuentran fuera de los alcances de este curso, pero
recomendamos analizar las mismas y su funcionamiento, ya que se obtendrán ventajas
significativas con su uso.
Estas herramientas son las llamadas CI (Continuous Integration / Integración continua) y
entre las más populares podemos destacar:
● Jenkins: https://jenkins.io
● Travis CI: https://travis-ci.com
● Hudson CI: http://hudson-ci.org
● Bamboo: https://www.atlassian.com/software/bamboo
● TeamCity: https://www.jetbrains.com/teamcity/
Verificar la seguridad
La seguridad en nuestras aplicaciones es esencial, debemos proteger nuestra aplicación
ante ataques maliciosos. Es importante poder proteger todo el trabajo que hemos hecho,
y la seguridad de nuestros usuarios que nos confían sus datos.
Existen varias herramientas que ayudan a validar la seguridad de nuestra aplicación, las
cuales ampliaremos en la sección 2 de esta Unidad.
Hacer los cambios necesarios para el entorno productivo
Existen algunos cambios, aunque sea mínimos, que debemos realizar en nuestra
aplicación para poder publicarla en otro equipo. Entre los cambios más comunes
podemos destacar los siguientes:
● Cambiar la configuración de los accesos a los datos (base de datos)
● Cambiar la configuración de los equipos contra los cuales nos conectamos (en
caso de ser necesario)
● Cambiar la configuración de los directorios de los cuales depende nuestra
aplicación y se encuentran por fuera de la misma (ej: si accedemos a un directorio
particular del equipo, por fuera del directorio de nuestra aplicación)
Subir la aplicación al servidor productivo
Una vez que ya tenemos nuestra aplicación lista para subir al servidor, queda el paso
crucial que es su subida propiamente dicho e inicio. Existen diferentes métodos para subir
la aplicación a un servidor, algunos manuales y otros automatizados.
Por medio de los procesos manuales, debemos realizar una conexión con el servidor en el
cual vamos a desplegar nuestra aplicación (por FTP, SFTP o cualquier otro método de
conexión que disponga el servidor), seleccionar la carpeta en la cual correrá nuestra
aplicación, y subir todos los archivos de nuestra aplicación a dicho equipo. Este es un
proceso manual, que nos llevará tiempo y que debemos tener especial cuidado para
garantizar la correcta subida de toda la aplicación.
Para el proceso de subida automatizado, existen muchas herramientas que nos pueden
ayudar en esta tarea, que es repetitiva (cada vez que debemos actualizar nuestra
aplicación en el servidor, debemos realizar esta tarea). Las herramientas de Integración
Continua que mencionamos anteriormente, generalmente disponen de herramientas para
poder subir la aplicación al servidor de manera automática.
Cuando veamos la sección 3 Process Managers, veremos que NodeJS ya cuenta con una
herramienta que nos puede ayudar en este proceso.
Es importante recordar que no es necesario copiar la carpeta node_modules, siempre y
cuando hayamos utilizado el archivo package.json para manejar las dependencias de
nuestra aplicación. Solo debemos ejecutar el siguiente comando en el servidor, para
descargar todas las dependencias de nuestra aplicación:
npm install
Automáticamente descarga todas las dependencias de nuestra aplicación en el directorio
node_modules de nuestro servidor.
Iniciar la aplicación en el servidor productivo
Con nuestra aplicación ya lista para comenzar a funcionar, solo nos resta iniciar la misma.
El inicio de la aplicación se puede realizar de forma manual por línea de comandos
(suponiendo que nuestro archivo principal es el app.js)
node app .js
Debemos prestar especial atención a que si por algún motivo nuestra aplicación se cierra
inesperadamente, la misma dejará de funcionar. En la sección 3 de Process Managers,
veremos cómo podemos hacer para que ante una finalización inesperada de la aplicación,
la misma se inicie automáticamente.
Verificar el funcionamiento de la aplicación
Debemos acceder por medio de nuestro navegador a la aplicación, en el servidor, para
verificar que la misma haya iniciado correctamente y poder garantizar su funcionamiento.
...