¿Por qué usamos una Plataformas CaaS?

Introducción

La plataforma Onesait es independiente de la infraestructura subyacente. Su arquitectura se basa en tecnologías abiertas, principalmente Java sobre Spring (Spring Boot) y Node.js pero también en bases de datos como MongoDB, Elasticsearch, etc.

Por ello, puede ser desplegada sobre cualquier sistema operativo que soporte una máquina virtual Java (Windows, Linux, MacOS, UNIX...) o en contenedores Docker o Kubernetes.

Lee también: ¿Por qué usamos contenedores?


Ventajas del CaaS

En otros proyectos, la plataforma OpenShift como Kubernetes podría utilizarse para ofrecer una arquitectura de bajo mantenimiento y alta disponibilidad sin punto único de fallo. Normalmente utilizamos OpenShift en nuestra oferta SaaS y Rancher en el despliegue on-premise.

Rancher y OpenShift son plataformas CaaS. Ofrecen diferentes herramientas para ejecutar los contenedores. Están construidas sobre Kubernetes y esto simplifica el despliegue y la gestión de la aplicación.

La pila (stack) corresponde al despliegue de los módulos funcionales de la plataforma, es decir, ControlPanel, APIManager, DigitalBroker, FlowEngine, ...

Esta plataforma CaaS le permite controlar cada módulo. Por ejemplo, si haces clic en el servicio de gestión de la API, puedes:

  • Administrar la escala de cada servicio, ahora establecida en 1: Esto implica que siempre habrá un contenedor activo para este servicio. Si el contenedor se detiene (debido a un error de memoria o a una parada manual), la plataforma lanzará automáticamente otro contenedor.

  • Ver las estadísticas de uso de cada contenedor: CPU, memoria...

  • Reiniciar, parar, etc... Estas opciones abren una consola y comprueban los logs de cada contenedor:

Además de la pila, también tenemos una pila enfocada a la monitorización de la plataforma, la pila Prometheus, que ofrece herramientas para monitorizar el estado de los módulos de la plataforma:

Esta pila incluye una instancia de Grafana que monitoriza visualmente el estado de la plataforma usando dashboards con diferente información (CPU, memoria, disco...) sobre los dispositivos donde se ejecutan los dockers:

junto con el número de docker y su estado:

La pila incluye el instrumento de vigilancia Prometheus que te permite desplegar reglas de escalado. Por ejemplo, si el uso de la memoria de un contenedor es muy alto, se puede enviar un correo electrónico de alerta o lanzar automáticamente otro contenedor; o si se trata de un error definido (alerta de intrusión), se avisa al administrador y se desconecta la plataforma de la Internet.

Para comprobar las reglas activas:

Todas las partes de la plataforma están listas para trabajar en Alta Disponibilidad:

Haciendo clic en "expr" en la pestaña "graph ("gráfico"), podemos ver una representación de la evolución de la regla seleccionada: