Git Product home page Git Product logo

misw4204-grupo23-cloudconversiontool's Introduction

MISW4204-Grupo15-CloudConversionTool

Estructura del proyecto

📦 MISW4204-Grupo23-CloudConversionTool
┣---- 📂 models
┃ ┗---- 📜 init.py
┃ ┗---- 📜 model.py
┣---- 📂 tasks
┃ ┗---- 📜 init.py
┃ ┗---- 📜 tasks.py
┣---- 📂 view
┃ ┗---- 📜 init.py
┃ ┗---- 📜 view.py
┗---- 📜 .dockerignore
┗---- 📜 .gitignore
┗---- 📜 converter.py
┗---- 📜 docker-compose.yml
┗---- 📜 Dockerfile
┗---- 📜 Readme.md
┗---- 📜 requeriments.txt
┗---- 📜 wsgy.py

Instalación Herramientas

Docker

sudo apt install docker-ce

Docker-Compose

 - sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Se realiza la configuración en el ambiente de desarrollo para ejecutar el Docker-compose mediante el archivo Docker-compose.yml

Archivoyml

Realizada la instalación y configuración de la aplicación para trabajar con Docker-Compose se realiza el despliegue de la aplicación:

Ejecución del Docker-compose

  • Debemos tener instalado en el servidor docker y docker-compose En la ruta raíz del proyecto ejecutamos la sentencia para subir el docker-compose

    sudo docker-compose up 

    si queremos recompilar el proyecto se debe añadir la sentencia "--build" al final del comando anterior

    sudo docker-compose up --build

    Verificamos que los contenedores se encuentren en ejecución

    sudo docker ps

    Resultado del comando image

    Para bajar y remover los contenedores ejecutamos la sentencia

    sudo docker-compose down  

Ejecución del cronjob - proceso asincrónico

Se realiza la creación de un cronjob que ejecuta el endpoint para procesar los archivos "http//:URL/api/process"

image

celery

  • redis server
  • celery -A task worker -B --loglevel=info

configurar celery y redis

sudo apt-get install redis-server

Paso a paso configuración balanceador de carga

gcloud compute instance-groups managed create lb-backend-conversion-tool-group --template=lbl-template-backend-conversion --size=3 --zone=us-west1-a

Template disco

lbl-template-blackend-conversion-tool

imagen

lbl-template-backend-conversion

aqui creamos la regla

 gcloud compute firewall-rules create fw-allow-health-check \
   --network=network-uniandes \
   --action=allow \
   --direction=ingress \
   --source-ranges=34.105.0.0/22,34.168.0.0/16,104.198.0.0/16 \
   --target-tags=allow-health-check \
   --rules=tcp:80

creamos ip principal para el balanceo

gcloud compute addresses create lb-ipv4-1 \
  --ip-version=IPV4 \
  --global

ip resultante

34.160.199.235 

creacion de verificion de estado

gcloud compute health-checks create http http-basic-check --port 80

creacion de servicio backend

gcloud compute backend-services create web-backend-service \
  --protocol=HTTP \
  --port-name=http \
  --health-checks=http-basic-check \
  --global

asociamos el grupo de instancias previamente creado al servicio backend

gcloud compute backend-services add-backend web-backend-service \
  --instance-group=lb-backend-conversion-tool-group \
  --instance-group-zone=us-west1-a \
  --global

creamos el mapa de urls para enturar el servicio de backend

gcloud compute url-maps create web-map-http \
    --default-service web-backend-service

creamos el proxy http para enrutar

gcloud compute target-http-proxies create http-lb-proxy \
    --url-map web-map-http

Crea una regla de reenvío global para enrutar las solicitudes entrantes al proxy

gcloud compute forwarding-rules create http-content-rule \
    --address=lb-ipv4-1\
    --global \
    --target-http-proxy=http-lb-proxy \
    --ports=80

misw4204-grupo23-cloudconversiontool's People

Contributors

cccortesc1 avatar felipeleyvad avatar jsballesterosm avatar

Watchers

 avatar

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.