La aplicación de monitoreo-apertura está compuesta por un servidor solitario basado en Ubuntu 16.04 LTS que cumple con los siguientes roles:
Este rol se implementa por medio de una aplicación Python3 utilizando el framework web Django, instalándose todas las dependencias de la misma en un entorno virtual (virtualenv). La aplicación python es ejecutada mediante el servicio gunicorn.
El servidor web de la solución se implementa mediante una instalación del servidor web de código abierto nginx. La aplicación web se expone en el puerto 80 del servidor web.
Las tareas asincrónicas utilizan las mismas dependencias de la aplicación web Django, pero se ejecuta como dos servicios distintos, basados en django-rq:
rqworker: Uno o más procesos enncargados de la ejecución de las tareas asincrónicas solicitadas por la aplicación web Django.rqscheduler: Este componente se encarga de disparar las tareas programadas periódicamente.Ambos servicios son utlizan el mismo entorno de ejecución, entorno virtual (virtualenv) y la configuración de la aplicación Django.
El rol de servidor de bases de datos es implementado mediante la configuración de dos motores de bases de datos:
