Indice de contenidos
Importancia de la arquitectura de sistemas para entornos de alta disponibilidad
La estructura de servidores, comunicaciones, cortafuegos y otros elementos se llama arquitectura
La arquitectura de la solución se compone de infraestructura de conectividad, software y hardware
La infraestructura de conectividad y hardware se basa en estándares cloud para proporcionar los servicios de disponibilidad 24/7, escalabilidad, cifrado y seguridad de los datos tanto empresariales como de carácter personal. Estas especificaciones requieren un modelo tipo VPC VPC Virtual Private Cloud
Componentes clave de una solución de Software as a service (Saas) eficiente y profesional
En estos esquemas seguimos casi al pie de la letra el sistema de Amazon Web Services (AWS) aunque añadimos una capa de encriptación en la App y otra en las comunicaciones de forma que nadie, ni siquiera un super administrador de AWS podría acceder a nuestros datos.
La Permanencia y disponibilidad de los datos se basan en un conjunto de procedimientos auditados que impiden que una sola persona pueda siquiera alterar o borrar el «datawarehouse» e incluso en caso de catástrofe están las copias simultáneas en 3 sedes físicas distintas de la infomación y los sistemas de certificación de operaciones que utilizamos y que se supone impiden que una sola persona acumule tanto poder, por decirlo en plan un tanto tremendista.
Los elementos clave de la arquitectura son:
- Dispositivos balanceadores de carga
- Cortafuegos acceso web
- 3 subredes o capas de gestión:
- En la primera se gestiona el balanceo de carga de peticiones al sistema cloud
- En el segundo se controla la disponibilidad, aumentando o reduciendo dinámicamente el nº de instancias de servidores (servidores virtuales) para añadir capacidad de proceso y memoria RAM en función de las peticiones legítimas recibidas. Las peticiones de DDOS (Denegación de servicio y otros ataques) son filtradas en la capa anterior y evaluadas de nuevo por el servicio de auto-escalado.
- En la última de ellas reside el gestor de las consultas SQL a la base de datos, el almacenamiento virtual en 3 sedes físicas diferentes y el propio motor de la base de datos, por defecto es mySql
- El Gateway de internet o puerta de acceso al portal web que gestiona la planificación de partes de trabajo y el tráfico de datos -encriptado nuevamente- entre las apps de los dispositivos móviles (smartphones, tabletas, etc) y la plataforma.
Cifrado de las comunicaciones y el almacenamiento
Esta arquitectura del sistema impide que los datos, imágenes, audio y video recogidos por las Apps estén accesibles fuera del entorno de aplicación. No es posible, por ejemplo, acceder a una fotografía realizada desde una App de GeoPal en la memoria física del dispositivo.
- La arquitectura de la solución permite además trabajar off-line a los dispositivos cuando no tienen cobertura ni acceso a redes wifi. Cuando esto sucede la App almacena en una base de datos local los datos sobre partes, transacciones y activos también de forma encriptada. Una vez hay cobertura el software de la App sincroniza automáticamente con la infraestructura de la “nube” todos los cambios en la información registrada.
Este tipo de solución permite trabajar en sótanos, garajes y lugares sin cobertura de ningún tipo. Los puntos de control de las rondas de vigilancia pueden también gestionarse sin cobertura utilizando etiquetas NFC o cualquier tecnología similar.
BigData
GeoPal utiliza software de gestión de datos tipo BigData aprovechando la posibilidad que proporciona este tipo de nube para recibir una enorme cantidad de datos en tiempo real sin que los servidores, la capacidad de proceso, la memoria RAM y la memoria de almacenamiento se atosiguen y se cuelguen. A este respecto cabe decir que cuando el cliente necesita realmente almacenar millones de datos por minuto en el esquema que hemos dibujado se cambia la ultima capa porque sustituimos el motor de la base de datos. Para un BigData muy exigente la base de datos nunca es estructurada tipo SQL sino NO-SQL (mongoDB, etc).
Otro cambio en esta arquitectura es necesario cuando el cliente necesita gestionar millones de puntos GIS (geolocalizados). Tenemos algunos clientes que usan Firebase, que es de Google, que es una base de datos «geográfica» especialmente diseñada para trabajar con puntos, líneas y polígonos pero esto es para otro artículo.
si te parece util, comparte y pregunta
gracias