Getty Images

Aprenda 4 tipos clave de tecnologías de automatización empresarial

Bajo código, iPaaS, automatización declarativa y scripting tradicional son métodos importantes para automatizar los procesos de negocio. Aprenda cómo puede ayudar cada uno de ellos.

Las tecnologías de automatización empresarial pueden ayudar a las organizaciones a reducir su dependencia del esfuerzo humano, pero es fundamental comprender los diferentes tipos de herramientas.

La mayor parte de la automatización en el mundo de las TI ocurre «bajo el capó» de nuestros sistemas y herramientas, que nos ocultan su funcionamiento interno. La conmutación por error de volúmenes en matrices RAID en la infraestructura de almacenamiento, la conmutación por error de rutas BGP en un enrutador y la autopoblación de campos de formulario a través de un navegador web son ejemplos de una sofisticada automatización oculta de tareas que antes eran manuales.

Entre las operaciones manuales y la automatización totalmente sumergida se encuentra el mundo de la automatización ad hoc: personas que utilizan diversas herramientas para automatizar partes de su vida laboral. Las herramientas van desde las de la vieja escuela, es decir, escribir programas cortos, hasta las muy nuevas, por ejemplo, los motores de integración en la nube basados en eventos.

A continuación, se presentan cuatro tipos de tecnologías de automatización empresarial que las organizaciones pueden utilizar para crear eficiencias.

Scripting tradicional: Escribir un programa

Las opciones de scripting tradicional son muchas y variadas y siguen siendo tipos importantes de tecnologías de automatización empresarial. Entre ellas se encuentran las siguientes

  • scripts de shell en todos los distintos shells de UNIX y Linux;
  • PowerShell en sistemas Windows;
  • lenguajes multiplataforma tan variados como PERL y Python; y
  • lenguajes específicos de la aplicación, como la sintaxis de comandos de SPSS.

Para ser útiles para la creación de scripts ad hoc, las herramientas deben interpretar un lenguaje, no compilarlo. También deben exponer a la persona que escribe el script un amplio conjunto de opciones para trabajar con entidades relevantes: archivos, cuentas de usuario, recursos del sistema como dispositivos de almacenamiento, conexiones de red, etc. Lo ideal es que un lenguaje de scripts sea relativamente fácil de empezar, pero lo suficientemente potente como para realizar una gran variedad de tareas de gestión del sistema y de la red. En esencia, trabajar a nivel de programación debería permitir al profesional de TI manipular cualquier aspecto de un sistema. Debería proporcionar lo último en alcance y capacidad, aunque tenga una curva de aprendizaje más pronunciada que otros enfoques.

Motores de automatización de bajo código

Quizá una de las tecnologías de automatización de las que más se habla es la automatización de bajo código. Estos sistemas facilitan la automatización a los usuarios no informáticos, presentándoles una serie de herramientas orientadas a la visualización que reducen o eliminan la necesidad de escribir código real.

En los sistemas de automatización de bajo código, los usuarios pueden automatizar tareas construyendo diagramas de flujo, por ejemplo, o rellenando plantillas de acciones y respondiendo a preguntas sobre lo que intentan conseguir. Estas herramientas pueden ayudar a extraer y analizar el contenido de los archivos y establecer conexiones con otros sistemas. En una herramienta bien diseñada, el departamento de TI puede preconstruir algunos componentes para que los utilice el resto del personal y establecer barandillas que eviten errores comunes o impongan buenas prácticas.

En el lado positivo, los sistemas de bajo código pueden reducir drásticamente las barreras de entrada a la automatización. Casi cualquier persona de una organización puede aprender a utilizar estas herramientas, y facilitan la automatización de las tareas y los flujos de trabajo típicos de los trabajadores del conocimiento. Los sistemas de bajo código pueden ser menos útiles para los administradores de sistemas y redes. Esto puede deberse a la falta de acceso completo a la funcionalidad del sistema. Por ejemplo, la herramienta de bajo código puede no ser capaz, o no se le permite, hacer cosas que un administrador de sistemas quiere hacer, como forzar un reinicio en un servidor. Además, un escritor de scripts experto probablemente puede escribir un script para la misma tarea más rápidamente que alguien pueda desarrollar una aplicación en un sistema de bajo código. La ejecución de la automatización también puede ser más lenta en el entorno de bajo código que en un entorno de scripting.

Motores de integración basados en eventos, o iPaaS

Los desarrollos recientes en el mercado de bajo código se centran en los tipos de automatización que abarcan sistemas.

Los motores de integración basados en eventos, como automate.io o tray.io, vigilan los eventos en una plataforma –normalmente un sistema SaaS, como Notion o Slack– y actúan en respuesta, a menudo iniciando una acción en algún otro sistema. Por ejemplo, la publicación de un nuevo mensaje en un grupo de chat «pregunte al experto» en un sistema puede desencadenar una acción que replique la publicación en un ticket de asistencia en un sistema diferente.

Estas herramientas suelen estar basadas en la nube y se denominan «plataforma de integración como servicio» o herramientas iPaaS. Los sistemas iPaaS pueden actuar como simples motores de activación entre plataformas, como acabamos de describir, o pueden hacer algo más. En lugar de limitarse a desencadenar una sola acción, con datos replicados, un sistema iPaaS puede realizar transformaciones complejas de los datos, llegar a otros sistemas para recuperar más datos y desencadenar acciones en múltiples sistemas en lugar de uno solo. Estos sistemas son de bajo código, con un énfasis real en la facilidad de uso basado en la suposición de que la gente que los utiliza probablemente no tenga experiencia en programación. El objetivo es permitir integraciones rápidas entre sistemas con un mínimo de trabajo.

A diferencia de los otros tipos de herramientas discutidas aquí, las herramientas iPaaS tienden a ser ofertas de SaaS de «pago por trago»: Se paga en función del número de acciones que se configuran y del número de veces –por segundo, hora, día o mes, según el caso– que se activan.

Automatización declarativa

Ansible, CloudForms y otras herramientas de automatización declarativa se centran en el trabajo de los administradores de redes y sistemas. Los sistemas declarativos automatizan el trabajo de configuración no como una serie de comandos –por ejemplo, «habilitar P, habilitar Q, habilitar R, deshabilitar S, deshabilitar T, deshabilitar U»– sino como una serie de afirmaciones sobre cómo deben ser y funcionar las cosas –«Un sistema que funciona tendrá las configuraciones P, Q y R habilitadas, y las configuraciones S, T y U deshabilitadas». El personal de TI dice lo que debe ser, no cómo hacerlo. Las herramientas se encargan de llevar los dispositivos o servicios gestionados a esos estados.

Se trata de una forma de automatización considerablemente diferente, que roza el estilo «oculto», y que pretende cambiar el enfoque de los métodos a los resultados. Este enfoque en el estado final deseado es una forma poderosa de facilitar su consecución, especialmente cuando el estado final es complejo, ya que el objetivo es describir ese estado, en lugar del proceso paso a paso para conseguirlo.

Las herramientas de automatización declarativas requieren módulos para cada tipo de sistema que vayan a gestionar, o cada protocolo multiplataforma que alguien pueda utilizar para configurar sistemas de múltiples tipos. Estos módulos estarán disponibles para las principales plataformas, por lo general, pero pueden no estar presentes para las menos comunes o más antiguas. Las propias herramientas suelen basarse en YAML como lenguaje de descripción de la configuración.

Sea cual sea la forma de su creación, la automatización seguirá siendo un punto clave de las TI en los próximos años, ya que el tumulto de adaptaciones tecnológicas y de desarrollo de talentos posteriores a COVID, necesarias para una fuerza de trabajo híbrida, la «Gran Renuncia», la «nubificación» y un descenso demográfico en la reserva de mano de obra para las TI siguen teniendo lugar en todos los sectores y tamaños de empresa.

Sobre el autor

John Burke es CIO y principal analista de investigación de Nemertes Research. Con casi dos décadas de experiencia en tecnología, ha trabajado en todos los niveles de TI.

Investigue más sobre Desarrollo de software y aplicaciones