Proyecto de la asignatura de Cloud Computing
Hoy en día nos vemos comprometidos a asistir a diversos acontecimientos importantes como reuniones o citas médicas en nuestra vida diaria, por ello se propone desarrollar un calendario simple que nos sirva de ayuda para recordar dichos acontecimientos, pudiendo así tenerlos presentes para que no se nos olviden y podamos organizarnos mejor.
Se va a utilizar una arquitectura de microservicios ya que nos permite crear, testear y desplegar de forma independiente cada servicio, proporcionándonos mayor versatilidad y facilidad para integrar.
En este proyecto, se puede diferenciar principalmente estos microservicios:
- Almacenamiento de los acontecimientos que se desean recordar, así como la fecha y la hora de comienzo de este.
- Servicio de gestión de los acontecimientos previstos.
- Servicio de LOG para monitorización de la aplicación.
Para la comunicación entre los distintos servicios se utilizará el broker RabbitMQ, que es un sistema de manejo de colas que permite que un servicio que quiere enviar un mensaje a otro pueda continuar su tarea sin tener que esperar a la entrega de dicho mensaje.
Por último, cabe destacar que este proyecto se realizará empleando Node.js como lenguaje de programación principal, con ayuda de su microframework conocido como Express.
Despliegue: https://calprenob.herokuapp.com/
Para el despliegue del microservicio se ha utilizado Heroku. Pero antes de desplegar dicho microservicio debemos de verificar que el código es correcto, por lo que se utiliza Travis CI, un servicio distribuido de integración continua que se usa en GitHub para levantar y realizar pruebas sobre el software cada vez que se hace un push
, siendo gratuito para proyectos de código abierto.
Para más información acerca del microservicio consulte este enlace y para la explicación más detallada del despliegue acceda aquí.
MV: 40.89.153.203
Para el aprovisionamiento se ha utilizado Ansible, desplegando el servicio en una máquina virtual creada en Azure siguiendo los pasos de este tutorial. Para más información sobre la configuración de la máquina virtual consulte este enlace.
Dicha máquina se ha aprovisionado con todas las dependencias necesarias para poder desplegar nuestra aplicación. Los pasos seguidos para realizar este se pueden consultar aquí.
- Comprobación de provisionamiento a mi compañero Adrián de la Torre Rodríguez
- Aprovisionamiento comprobado por Adrián de la Torre Rodríguez en este documento
MV2: 40.89.157.192
Se ha construido un script para automatizar la creación de una máquina virtual en Azure mediante las órdenes del CLI de este. Para más información sobre la elección de la máquina virtual a instalar, la creación del script y el despliegue de la aplicación, consulte este documento.
Despliegue Vagrant: 52.143.160.195
Se ha creado y aprovisionados dos máquinas virtuales en Azure con la ayuda de Vagrant y Ansible, una de ellas contendrá nuestra aplicación y la otra servirá para almacenar la base de datos de esta. Para más información consulte este documento.
- Comprobación del Vagrantfile a mi compañero Jesús Mesa González
- Vagrantfile comprobado por Jesús Mesa González en este documento
Este software se desarrollará bajo la licencia GNU General Public License v3.0