Introducción al proyecto del curso y su arquitectura

1

Arquitectura de Microservicios: Diseño y Escalabilidad

2

Modelado de Bases de Datos para Redes Sociales

Creando la estructura principal

3

Instalación de JavaScript en Node.js

4

Creación y Gestión de Bases de Datos Ficticias con JS

5

Controladores JavaScript: Inyección de Dependencias y Pruebas

6

Documentación de APIs con Swagger en Node.js

Autenticación basada en tokens

7

Autenticación Segura con JWT en Aplicaciones Web

8

Autenticación de Usuarios con JWT en Node.js

9

Programación asincrónica en JavaScript: Promesas y async/await

10

Cifrado de Contraseñas con Bcrypt en Node.js

11

Protección de APIs con Autenticación JWT en Node.js

12

Programación Orientada a Objetos en Java: Métodos y Clases

13

Gestión de errores en Node.js: Mejora la seguridad de tu app

Almacenando datos: MySql

14

Conexión y gestión de bases de datos con MySQL en Node.js

15

Funciones SQL: Inserción, Búsqueda y Actualización

16

Relaciones entre Tablas en Bases de Datos Relacionales

17

Creación de APIs RESTful con Node.js y Express

Microservicios en Node

18

Arquitectura de Microservicios: Separación y Gestión Eficiente

19

Almacenamiento en Microservicios con Express y MySQL

20

Conexiones Seguras entre APIs y Microservicios

21

Diseño de Microservicios Vertical y Horizontal

22

Gestión de Microservicios con PM2: Logs y Reinicios Efectivos

Puesta en producción serverless

23

Desplegar Aplicaciones Serverless con AWS Lambda

24

Variables de Entorno en Despliegues Serverless con Node.js

Cacheando nuestra aplicación

25

Implementación de Caché con Redis para Microservicios Node.js

26

Conexión y Configuración de Redis con Node.js

27

Implementación de Caché en API con Redis

Puesta en producción en virtual machine

28

Instalación y configuración de Node.js en servidor Linux

29

Instalación y configuración de Nginx como proxy reverso

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Instalación y configuración de Node.js en servidor Linux

28/29
Recursos

¿Cómo desplegar una API en una máquina virtual?

Para implementar una API efectiva y robusta, es esencial comprender cómo levantar Microsoft Vicios en una máquina virtual, especialmente cuando no puedes acceder a servicios de servidores. Vamos a examinar cómo realizar este proceso paso a paso con un enfoque práctico.

¿Qué necesitas para comenzar?

Antes de desplegar tu API, asegúrate de tener:

  • Una máquina virtual configurada.
  • Acceso SSH a la máquina.
  • Instaladores necesarios para Nginx y Node.js.

Este tutorial asume que ya tienes una máquina virtual activa y acceso de consola a través de SSH.

¿Cómo instalar Node.js?

La instalación de Node.js es un paso fundamental para correr tu API en una máquina virtual. Aquí te mostramos cómo hacerlo:

  1. Accede a tu máquina virtual:

    • Utiliza un cliente SSH como PuTTY para abrir una sesión SSH.
    cd ~
    
  2. Descarga los paquetes necesarios para Node.js:

    • Usa el comando curl para obtener los archivos de instalación.
    curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh
    
  3. Ejecuta el script de instalación:

    • Este script adicionará los repositorios de Node.js a tu sistema.
    sudo bash nodesource_setup.sh
    
  4. Instala Node.js con apt:

    • Finalmente, instala Node.js y npm.
    sudo apt-get install nodejs -y
    

¿Cómo configurar Git y PM2?

Para manejar el código y mantener tu aplicación corriendo, necesitarás configurar Git y PM2:

  1. Instala Git:

    • Git es esencial para clonar tu código en la máquina virtual.
    sudo apt-get install git -y
    
  2. Configura PM2:

    • PM2 es un gestor de procesos que te ayudará a correr y manejar tu aplicación Node.js.
    sudo npm install pm2@latest -g
    

¿Cómo clonar tu repositorio?

Ahora que Git y PM2 están listos, clona tu repositorio de GitHub:

  1. Clona el repositorio:

    • Usa el comando de git clone para traer tu código a la máquina virtual.
    git clone https://github.com/carlos/repo-api.git
    
  2. Instala las dependencias de tu proyecto:

    • Ubícate en la carpeta del proyecto y ejecuta npm install para descargar todas las dependencias.
    cd repo-api
    npm install
    

¿Cómo iniciar servicios con PM2?

PM2 te permitirá mantener tus servicios corriendo en todo momento, incluso después de reinicios.

  1. Utiliza PM2 para arrancar tus servicios:

    • Inicia los diferentes servicios incluídos en tu aplicación.
    pm2 start index.js
    pm2 start cache/index.js
    pm2 start servicios/mysql/index.js
    
  2. Monitoreo de servicios:

    • Puedes verificar el estado de tus servicios usando PM2.
    pm2 status
    

¿Cómo exponer tu API de manera segura?

No es recomendable exponer directamente los puertos internos a la web. Aquí te mostraremos cómo hacerlo de forma segura.

  1. Uso de un proxy inverso:
    • Configura Nginx para manejar las solicitudes entrantes y redirigirlas a tus aplicaciones Node.js basadas en rutas específicas.
  2. Edición de configuración de Nginx:
    • Configura Nginx para redirigir las conexiones entrantes a los diferentes servicios.

Esto es un resumen de cómo inicializar y gestionar una API en una máquina virtual. Recordemos que entender cada paso es fundamental para garantizar la seguridad y efectividad de nuestras aplicaciones. ¡Sigue explorando nuevas posibilidades y mejorando tus habilidades!

Aportes 17

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

al desplegarlo en cloud platform significa que ya esta en internet?
puedo abrir este backend en la computadora de mi tia en su cas?

Sería interesante extrapolar los servicios directamente creados para consultar directamente a MYSQL a través de un ORM y abstraer esa parte a un microservicio. Por ejemplo, con Sequelize.

Yo lo hice con AWS pero primero tuve que crear la clave SSH en el servidor y agregarla a github para que me dejara clonar el proyecto.

Para crear una cuenta un server gratuito en google clouds me pide tarjeta de cerdito, algun lugar donde se pueda hacer sin necesidad de tarjetas de credito?

curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh

Madre mía, SUDO CARLOS jajajajaja🤣😂

ok. yo lo voy a levantar en una máquina de aws

this teacher is crack!

muy bueno… realmente se puede levantar en cualquier servidor… sea google, aws, azure, etc… usualmente se recomienda crear una maquina virtual en linux. por que es ligero y facil de implementar el entorno.

Y cómo conecto con el front? :(
"Support for password authentication was removed on August 13, 2021." Ya no se puede hacer uso del comando git clone sobre la url del respositorio y despues proveer usuario y clave como se ve en el video.

¡MAGISTRAL!

actual v12.16.2 de node

Esta clase super 😃

Tuve algunos problemas/conflictos entre las versiones de los paquetes que se me instalaban local vs en la maquina virtual así que asegurense de no subir el folder de los nodemodules al repositorio, pueden copiarse el .gitignore de Carlos. Y en caso de que ya lo hayan subido, en la maquina virtual cuando clonen el repo eliminen el folder de los nodemodules antes de correr npm install. Pero la mejor opción sin duda es ver el .gitignore de Carlos, hay muchos otros archivos que se generan y no se necesitan subir

Esa consola que se ve en esta clase es una que se abre desde google clouds?

Si este proyecto se haya llevado junto a contenedores haya sido (aún más) una bestialidad.
Ya me va a tocar hacerlo por mi cuenta, sirve que practico 😄