La revolución que está planteando el uso de la RPA suele estar asociada a un mayor nivel de complejidad técnica. La aplicación de los principios básicos de la iniciativa denominada autonomic computing puede ser la solución. Veamos cuáles son los retos y las oportunidades que ofrecen este tipo de herramientas a la hora de constituir un robot autónomo.
La tecnología está permitiendo abordar nuevos servicios que se caracterizan por una baja persistencia y una alta adaptación al contexto (cliente, mercado…). Es lo que se conoce como servicios long tail, que, gracias a la digitalización, pueden explotarse de manera rentable.
El uso de RPA permite incrementar la eficiencia a través de la reducción de tiempos en procesos manuales, incrementando la productividad y liberando “materia gris” de los empleados. Esto permite mejorar tanto la capacidad creativa como la resolución de excepciones sin que suponga un freno en la actividad operativa.
Sin embargo, esta evolución del RPA viene acompañada de una mayor complejidad de gestión técnica. Generalmente nos enfrentamos a una infraestructura con numerosos componentes que hay que operar y administrar, y con un diseño funcional ad-hoc que dificulta la flexibilidad y agilidad para abordar cambios en procesos ya automatizados.
Los futuros sistemas e infraestructuras debería incluir capacidades para autogestionarse
Este aspecto ya fue señalado por Paul Horn, vicepresidente y director de Innovación de IBM, en un discurso —en 2001— en la Universidad de Harvard. Manifestaba que el verdadero reto al que se enfrenta la industria de los SI (sistemas de información), por encima incluso de la Ley de Moore, es la complejidad de gestión. En su charla, Horn indicaba, como solución, que los futuros sistemas e infraestructuras incluyeran capacidades para autogestionarse, y proponía utilizar el sistema nervioso humano como modelo.
La naturaleza como modelo
Imaginemos que estamos en casa leyendo un periódico. Lo que parece un cuadro estático es realmente una escena muy dinámica. Sin que seamos conscientes, nuestro organismo (el sistema nervioso autónomo concretamente) está controlando el nivel de azúcar en la sangre, la presión en las arterias, el ritmo de latido del corazón, el tamaño de la pupila, el nivel de sudoración, etc. ¿Cómo sería la lectura del periódico si tuviéramos que controlar conscientemente todas estas funciones?
De igual forma, el desarrollo del negocio de una empresa se ve dificultado por la cantidad de recursos que es necesario dedicar a mantener y gestionar la tecnología de la que depende. Esta es la idea central que hay detrás del autonomic computing: incluir en la infraestructura capacidades de gestión para controlar autónomamente su funcionamiento.
Autonomic computing busca incluir en la infraestructura capacidades de gestión para controlar autónomamente su funcionamiento.
Analizando el sistema nervioso autónomo, vemos que tiene numerosos sensores, de los que extrae información que aplica a numerosos bucles de control, concepto clave en el desarrollo del autonomic computing. Un sistema autónomo controla tanto su estado interno como la relación con el entorno. Sus funciones principales van desde la monitorización y el análisis de los datos hasta la planificación y ejecución de acciones sobre el elemento gestionado. Además, este modelo permite diseñar arquitecturas más completas, que incluyan funciones de razonamiento y aprendizaje.
Por otra parte, los sistemas autónomos presentan una serie de características que se han denominado como “self-*”. Las más importantes son:
- Autoconfiguración. La capacidad para adaptarse a cambios dinámicos del entorno modificando su configuración. Estos cambios se realizan en tiempo de ejecución y permiten responder a condiciones no previstas.
- Autorreparación. La capacidad para supervisar, diagnosticar y reparar los fallos que provocan desviaciones no deseadas del comportamiento del sistema.
- Autooptimización. La capacidad para buscar formas de funcionamiento más eficientes ajustando adecuadamente ciertos parámetros del sistema.
- Autoprotección. La capacidad para anticipar y detectar ataques y problemas, así como para proteger el sistema y sus recursos frente a ellos.
Aplicación a RPA
El objetivo principal del autonomic computing es tratar la complejidad en la gestión de las tecnologías de soporte al negocio actuales, proporcionando métodos, algoritmos, arquitecturas y herramientas para estandarizar, automatizar y simplificar muchas de las tareas de administración. En general, un sistema autónomo es uno que opera y sirve a su propósito gestionándose a sí mismo sin necesidad de intervención externa. Debe ser automático, para controlar su funcionamiento interno y su operación con la mínima intervención humana posible; adaptativo, para poder cambiar su operación y comportamiento de acuerdo con su entorno operativo y de negocio; y consciente, tanto de su contexto operativo como de su estado interno para valorar si opera de acuerdo con sus objetivos.
No es necesario construir toda la infraestructura desde cero, se pueden ir añadiendo capacidades de autogestión de forma gradual
Desde un punto de vista práctico, el paso a un robot autónomo supone más una evolución que una revolución. No es necesario construir toda la infraestructura desde cero, sino que se pueden ir añadiendo capacidades de autogestión de forma gradual.
En ese sentido, crear capacidades de análisis del contexto proporciona al robot cierta facultad de autoconsciencia (self-awareness) en tres fases. En la primera, el robot es capaz de analizar el contexto y evaluar su comportamiento (behaviour) frente a las métricas de objetivo que tenga establecidas. El siguiente paso sería poder detectar cambios relevantes y seleccionar un comportamiento diferente, más adecuado a la consecución de sus objetivos. Por último, el robot debería ser capaz de construir un nuevo comportamiento frente a estos cambios.
Este siguiente paso hacia la “autoconsciencia” puede resolverse con tecnologías que actualmente están disponibles para abordar los siguientes retos:
- Confianza. El robot analiza el contexto, utiliza información y datos para ejecutar su actividad, ya sea operativa o de adaptación autónoma a cambios en los objetivos y el contexto. Esto, por ejemplo, se puede hacer mediante arquitecturas de virtualización de datos con una capa de control que garantice la trazabilidad y la calidad. Estas arquitecturas pueden ir desde un data lake “securizado”, en el que solo se vuelca información siguiendo procesos de gobierno y gestión de datos, hasta entornos basados en blockchain donde sea muy relevante contar con un mecanismo para garantizar la veracidad de la información en entornos muy distribuidos, con muchas fuentes de información e interdependencias sin un gobierno centralizado.
- Modelado y metamodelos. En este punto se emplean tecnologías que permiten al robot interpretar la información de contexto y hacer la correlación a través de tecnologías de big data, análisis descriptivo, ontologías y otras tecnologías semánticas, redes neuronales, etc.
Estos dos aspectos cruzan la RPA con la analítica, el gobierno y la gestión del dato en un modelo escalable que permitirá crear robots con capacidad de autoadaptación, y que, por tanto, eliminan la barrera que dificulta su aplicación en procesos con dinámicas de negocio muy ágiles, como los ya mencionados servicios long tail.
Las capacidades de evolución y adaptación de las infraestructuras autónomas no implican que se pierda control
Finalmente, un aspecto que va más allá de la propia tecnología es la confianza en el funcionamiento autónomo de las infraestructuras. Por lo general, el ser humano suele ser reacio a que los sistemas ejecuten operaciones de control de forma automática y autónoma. Las capacidades de evolución y adaptación de las infraestructuras autónomas no implican que se pierda control de la infraestructura. Todo lo contrario: los administradores podrán controlar su funcionamiento, pero en vez de con órdenes explícitas se hará mediante mecanismos de más alto nivel, como la gestión basada en políticas.