Este proyecto busca evaluar las capacidades de los estudiantes del curso de Servicios en la nube de a Universidad Nacional de Colombia sede Medellín, al implementar la infraestructura necesaria en la nube de Amazon Web Service (AWS), para correr de forma exitosa cada una de las secciones de este proyecto.
Este proyecto requiere Node.js versión 20 (la LTS actual). Además es necesario correr los comandos en un ambiente Linux, por ejemplo pueden usar Windows Subsystem for Linux (WSL) en caso tal use Windows como sistema operativo.
Dentro de la carpeta del proyecto (local) correr el siguiente comando:
npm install
Para realizar pruebas de estrés, es necesario que en el servidor en el que se ejecute disponga del comando stress
. Dependiendo del sistema operativo, puede instalarse con alguno de los siguientes comandos:
sudo apt install stress -y
# Fedora
sudo dnf install stress -y
# Red Hat
sudo yum install stress -y
# Arch derivates
sudo pacman -S stress
El proyecto está desarrollado utilizando Next.js. Puede ejecutar el proyecto en entorno local utilizando cualquiera de estos comandos:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Acceda a http://localhost:3000 para visualizar los resultados en el entorno local.
El proyecto utiliza una base de datos PostgreSQL, un Bucket de S3, y un par de servicios Lambda. Puede encontrar ejemplos en la carpeta "lambda". No es obligatorio utilizar estos ejemplos, pero pueden servir como referencia.
Además, se debe recordar del requerimiento denominado "Balanceador de carga ", que implica el uso de una URL que apunta a un balanceador de carga. Esta página se carga a través de un proxy interno y se muestra en un iFrame.
Puede implementar este proyecto directamente en EC2 o utilizar Elastic Beanstalk. Se proporciona un archivo de ejemplo (.env.example) con las variables de entorno necesarias, pero se espera que, al realizar la implementación, se coloquen estas variables en las ubicaciones adecuadas, siguiendo las mejores prácticas para este tipo de aplicaciones.
Si desea desplegar estas variables de entornos de forma local, necesita crear un archivo .env
y agregar el contenido del archivo de ejemplo reemplazando los datos de las configuraciones reales.
Para preparar el proyecto para el despliegue deben seguir los siguientes pasos:
npm run build
Este comando nos creará el zip dentro de la carpeta, listo para subir a la nube.
Recomendación: Cada vez que corra el anterior comando, asegurse de eliminar la carpeta .next, para que los cambios puedan surtir efectos.
Consulte la documentación de implementación de Next.js para obtener más detalles.
En la carpeta database, se encuentra un archivo sql, el cual tiene el script para crear la tabla y registrar los datos dummy en la bases de datos.
En el siguiente link, encuentran las imágenes que deben subir al bucket.
Si detecta algún error en este proyecto, le instamos a informarlo a través de los canales oficiales del curso. También estamos abiertos a recibir Pull Requests, aunque no se garantiza su aceptación.