Giter VIP home page Giter VIP logo

personalcc-1819's Introduction

Página del proyecto

La página contendrá el proyecto desarrollado en la asignatura Cloud Computing.

Descripción del proyecto

Introducción.

Realizar un servicio web que nos permita consultar información de nuestras series favoritas. Para realizar este serivicio web utilizaremos la API TvDB, que nos dará la información de las series que consultaremos.

Descripción del problema.

Para las personas que nos gustan las series y las llevamos al día, cuando se termina una temporada, puede pasar mucho tiempo hasta que se lance la siguiente, meses e incluso años. De forma que podemos llegar a perderle la pista a dicha serie y no saber si ha estrenado ya una nueva temporada o no.

Solución propuesta.

Realizar un servicio web que nos avise y nos de información de cuándo se lanzan los nuevos capítulos de las series favoritas que nosotros vayamos consultando. De esta forma podremos estar al tanto siempre de nuestras series y llevarlas al día.

Arquitectura

Para realizar este proyecto utilizaremos una arquitectura basada en microservicios, la cual deberá tener mínimo los siguientes:

  • Microservicio de consulta a la API: Este microservicio se encargará de leer los datos de la API TvDB.

  • Microservicio de información: Este microservicio será el encargado de tener la base de datos en la que almacenar la información del usuario usando PostgreSQL.

Se diferenciarán dos máquinas, una con el servicio web desplegado y otra con la base de datos. Podremos acceder a la ḿáquina con el servicio desplegado y sobre ella hacer las consultas necesarias.

Despliegue en el PaaS

Se ha seleccionado Heroku para el despliegue de nuestra aplicación. Hemos seleccionado esta plataforma frente a otras gracias a estar más familiarizados con ella ya que se ha trabajado con ella en los ejercicios del tema 3, así como por su suscripción gratuita. Por otro lado, es sencillo desplegar nuestra aplicación en esta plataforma.

Se puede acceder a más información del despliegue accediendo AQUI;

Travis

Los test, como ya menciona anteriormente y como vemos en las dependencias de package.json los vamos a realizar con supertest.
Pero queremos automatizar estos test y que se realicen cada vez que realicemos una subida a nuestro Github y de esta forma que únicamente nos despliegue los cambios cuando estos sean correctos, y evitar así que se despliegue la aplicación con una funcionalidad errónea.

Para ello vinculamos Travis con Github, concretamente con el repositorio en el que tenemos el proyecto. Y seguidamente crear un archivo .travis.yml en el que indicamos lo que debe instalar para ejecutar los test (en neustro caso mocha) y la orden que debe ejecutar para que los test se lancen. Además indicamos el lenguaje y la versión del mismo con la que ejecutar los tests.

Despliegue

despliegue https://hidden-basin-43122.herokuapp.com/

Provisionamiento

Para el provisionamiento se ha utilizado Ansible. El servicio se ha desplegado en la plataforma Azure y podremos acceder a ella desde la siguiente IP:

MV: 40.74.50.245

Toda la información relacionada con el Provisionamiento se encuentra en el siguiente Documento.

Automatización

Se ha realizado un script para la automatización de crear una máquina virtual en Azure y provisionarla posteriormente con ansible, usando un playbook.

La documentación detallada de todas las tareas realizadas para la automatización se encuentran en este documento.

MV2: 13.93.115.181

Orquestación

La orquestación de las dos máquinas virtuales utilizadas para este proyecto se realizará con Vagrant. Podremos diferenciar claramente dos máquinas y toda la documentación relacionada con la orquestación la encontraremos en el siguiente documento.

He comprobado la orquestación de mi compañero Adrián de la Torre Rodríguez, la cual se puede ver en el siguiente enlace.

Mi orquestación ha sido comprobada por Adrián de la Torre Rodríguez y podemos verla en el siguiente enlace.

Despliegue Vagrant: 104.42.112.128

Licencia

Este software se encontrará sujeto a la licencia GNU General Public License v3.0

Descripción de los milestones del proyecto

Enlace hacia los milestones del proyecto.

personalcc-1819's People

Contributors

samahetfield avatar

Watchers

 avatar

personalcc-1819's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.