zona_cliente - MutakamwoyoCloud/MCloud GitHub Wiki
Zona cliente
Por si no ha quedado claro, a la hora de dividir nuestro sistema cloud, la zona cliente es la parte de nuestro sistema que tiene que ser instalada en una zona sin acceso a internet, ya sea por problemas geográficos, económicos o de no disponer de la tecnología suficiente. La zona cliente funcionará a su vez a modo de Intranet proporcionando así, además del servicio primario de la aplicación, otro servicio cloud privado que actuará sobre esa intranet de modo que cualquiera pueda tener acceso a esos recursos.
Organizar el Stack de la aplicación cliente utilizando frameworks como React o Node no es tarea facil, una de las formas que hemos utilizado para organizar el proyecto es usar la conocida librería create-react-app, con ella podemos organizar la estructura de React de una forma muy simple, además de que nos proporciona los scripts preparados, tanto como para desarrollar la aplicación, para testearla, pasarla a modo producción e incluso un servidor montado sobre el que organizar todo el front-end con Webpack.
Esto nos facilita mucho las cosas, sin embargo existe un problema.
- Nuestra aplicación además de la parte visual de React, requiere un gran modelo por detrás (back-end) creado con Node, pero nuestra aplicación ya tiene Webpack por defecto y no habría forma de comunicar las dos partes.
Para resolver esto, como podemos ver en la [figura 8] finalmente se ha optado por una arquitectura en la que el usuario al interactuar con el front-end de la aplicación manda proxy requests al sistema back-end funcionando en otro proceso del servidor.
![image6]
Una vez solucionada esta parte requeriremos de otro ordenador con banda ancha que pueda recibir peticiones y procesarla entre otras cosas.
Algunos de los aspectos principales del cliente de MCloud son:
- Necesidad de una máquina situada en la zona cliente(Congo).
- Ejecuta dos servicios concurrentemente usando JavaScript como lenguaje principal.
- Para organizar los distintos tipos de peticiones, consultas y almacenamiento de datos se este sistema usa Mongodb.
- Es aconsejable que tenga al menos dos tarjetas de red si es un entorno grande.
- Se crea un protocolo de comunicación MCloud alrededor de ftp.
- En nuestros esquemas mostrados en la [figura 9] se usa el satélite como el medio de conexión de alto coste y bajo rendimiento.
![image7]