Kubernetes: la pieza tecnológica para garantizar la alta disponibilidad en RPA

Jidoka abre oficina en Londres impulsada por su expansión internacional
13/09/2018
v6.0 de Jidoka: nuevas funcionalidades RPA para una plataforma de Automatización Inteligente más escalable, resistente a fallos y colaborativa
27/09/2018
Mostrar todo

Kubernetes: la pieza tecnológica para garantizar la alta disponibilidad en RPA

En el mundo de RPA, donde casi todo es desasistido, automatizado y gestionado “auto-mágicamente”, asegurar la alta disponibilidad de la plataforma RPA y todos sus componentes es un requisito indispensable.

El esquema clásico de la alta disponibilidad para un sistema de información se basa en la habilidad para volver a disponer de un servicio tras su caída sin que ningún administrador de sistema u operador deba realizar acción alguna.

La plataforma Jidoka incluye una serie de controles automáticos para asegurar que las consolas y los agentes (nodos) se encuentren siempre en funcionamiento. Estos controles se basan en la consulta del estado de cada componente de forma periódica y en la recepción de información por parte de éstos.

Jidoka ofrece licencias en modelo Cloud (infraestructura gestionada y administrada por nosotros) y On-site (en el data center del cliente y administrado por él):

  • Las consolas Cloud Jidoka incorporan un sistema automatizado de supervisión remota, de forma que cuando hay algún problema, este sistema es capaz de levantar los servicios necesarios para que la consola vuelva a estar online.
  • En el caso de las consolas On-site, Jidoka permite la configuración de acciones a realizar como consecuencia de la aparición de algún evento. La plataforma puede ejecutar múltiples acciones diferentes asociadas a un evento concreto. El sistema registra muchos tipos de eventos.

La plataforma provee eventos y acciones asociables a los agentes Jidoka, componente Java que corre en los nodos y ejecuta los robots, que permiten su monitorización.

Si bien el equipo de IT del cliente tiene múltiples opciones para poder implementar mecanismos de alta disponibilidad sobre los componentes software de Jidoka, hemos querido incluir una nueva opción: el poder utilizar Kubernetes.

Kubernetes

Kubernetes (K8S) es un sistema Open Source para el despliegue, escalado y gestión de aplicaciones incluidas en contenedores (Docker u otros) que fue diseñado inicialmente por Google, quien después lo donó a la Cloud Native Computing Foundation.

Con Kubernetes podemos crear un clúster de máquinas con réplicas de nuestros servicios en ejecución. Kubernetes se encargará de monitorizar el estado de las mismas, desde el uso de CPU hasta la presión de memoria. Kubernetes también puede indicar si el clúster está infrautilizado. Un clúster es por tanto un grupo administrado de instancias de VM uniformes.

En caso de caída de cualquiera de estas máquinas, Kubernetes volverá a levantarla de forma inmediata.

Además de clústeres e instancias de VM, Kubernetes maneja el concepto de pods. Un pod es una aplicación que da algún tipo de servicio. Es posible combinar pods en elementos mayores o utilizar pods algo menos sencillos, aunque lo importante de los pods es que son la unidad mínima que Kubernetes ejecutará. Si un pod deja de ejecutarse, Kubernetes levantará automáticamente un nuevo pod ya sea en la misma VM, o en otra disponible en el clúster.

De esta forma, Kubernetes no solo asegura que las VM están siempre disponibles en número (réplicas) y forma (ejecución), sino también los pods que se ejecutan en ellas.

Adicionalmente a los pods, Kubernetes expone servicios que permiten la conectividad desde el exterior hacia los pods.

Estos servicios facilitan las tareas de administración y configuración. Un ejemplo de ello es el servicio de balanceo de carga, que permite publicar una dirección IP enmascarando las direcciones IP de las VM reales de Kubernetes. Gracias al balanceador de carga y a la habilidad de Kubernetes para levantar VMs y pods de forma desasistida, podemos tener siempre disponible nuestro software.

Un pod de Kubernetes es software incluido en un contenedor, habitualmente un contenedor Docker, por lo que cualquier sistema que “dockericemos” podrá incluirse con facilidad en un clúster de Kubernetes. Por tanto, podrá beneficiarse del balanceo de carga, alta disponibilidad y monitorización que ofrece esta herramienta.

En Jidoka, tanto la consola como los nodos están disponibles en contenedores Docker, por lo que su inclusión en un clúster Kubernetes es prácticamente directa.

Os invitamos a ver un vídeo de la instalación de Jidoka en Kubernetes donde se podrá comprobar que, ante cualquier caída del servicio, el sistema lo vuelve a restaurar, ¡en cuestión de segundos!

Juan Manuel Reina Morales
Juan Manuel Reina Morales
CTO de Jidoka. Socio fundador de Novayre, empresa tecnológica apasionada por la innovación software y la automatización. "La verdad está en el código".

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *