La gestión eficaz de la cartera completa de aplicaciones de una empresa es vital para el éxito del negocio, pero no es una actividad especialmente glamurosa dentro del mundillo de TI y habitualmente se asocia a costes elevados, procesos manuales, errores humanos y distribución ineficaz de recursos. En otras palabras, es una candidata perfecta para la automatización. La gestión de aplicaciones automatizadas, respaldada por la inteligencia artificial (IA) y el aprendizaje automático (AA), puede suponer a una empresa un ahorro de hasta el 40 por ciento (según cuál sea el estado actual de madurez informática) en un período de 3 a 5 años, mediante la reducción los costes de mano de obra especializados en TI y la mejora de la eficiencia y la productividad. Pero las empresas deben comprender que la transición de los procesos de gestión manual de las aplicaciones hacia la automatización de los mismos puede ser compleja, puede llevar bastante tiempo y resultar cara, al menos en las primeras fases del proyecto, cuando se realizan los informes de delimitación del ámbito de aplicación, planificación y costes iniciales.
Otro factor clave es que la automatización es un proceso continuo que forma parte de una estrategia de mejora continua, no una actividad única. El objetivo a largo plazo es pasar del trabajo manual a un mundo futurista de robots autoadaptables que aprovechan la IA para impulsar la optimización continua del sistema.
La automatización está transformando los servicios de TI
Pero por algún sitio hay que empezar. Para la mayoría de las empresas, eso significa acometer una fase después de otra, poniendo en práctica un proyecto específico, evaluando las ventajas obtenidas y examinando las lecciones aprendidas, antes de pasar a la siguiente fase.
Habitualmente, existen dos planteamientos: La empresa puede hacerse responsable ella misma del proyecto o contratar a un proveedor de servicios gestionados para que se haga cargo del proyecto.
Normalmente, los proveedores de servicios cuentan con plataformas preintegradas o soluciones de automatización que ofrecen ventajas respecto a la rapidez de adopción, productividad y resultados. Las soluciones de automatización para clientes, por lo general, se desarrollan paulatinamente, evolucionando de manera incremental, por lo que lleva más tiempo generar valor debido a las necesidades de formación, conocimiento de las herramientas y desafíos relacionados con la gobernanza y la adopción.
Además, las organizaciones que lo hacen por su cuenta tienen que hacer frente a los costes del primer año y, una vez que el sistema está en funcionamiento, asumen el riesgo de materializar el caso de negocio asociado con el proyecto; por ejemplo, la mejora en el ahorro de costes, la calidad o la capacidad.
En la segunda de las opciones, las empresas firman un contrato de servicios gestionados con una duración de 3 a 5 años, por lo que el impacto financiero inicial se reparte a lo largo del contrato. Aquí, el proveedor de servicios gestionados se hace cargo de los riesgos asociados con la consecución de resultados y asume la responsabilidad de la gestión constante del catálogo de aplicaciones.
En cualquier caso, las empresas deben ser plenamente conscientes de los cambios técnicos y culturales necesarios para lograr con éxito mayores niveles de automatización en el proceso de gestión de aplicaciones.
Elementos de la automatización
Estas son algunas de las fases principales de la transición de los procesos manuales a la automatización:
Evaluación: resulta importante identificar cuáles son las causas de las actividades de asistencia técnica que consumen mucho tiempo, también conocidas como el trabajo duro. Esto ayuda a definir el ámbito de implementación y los respectivos tratamientos para aquellas actividades con la mayor proporción de uso de asistencia técnica. La evaluación es tanto un esfuerzo inicial único como una actividad continua que identifica problemas e impulsa una mayor optimización.
Las actividades que consumen mucho tiempo son buenas oportunidades para la automatización y se pueden identificar de las siguientes maneras:
- Analizar los tickets de soporte de aplicaciones para incidentes y problemas repetidos para identificar el análisis y la resolución de la causa raíz. Los algoritmos de aprendizaje automático se pueden usar para realizar análisis de patrones que ayuden a clasificar grandes números de incidencias para identificar los eventos que se repitan con más frecuencia. Se pueden usar ejercicios de elaboración de mapas del flujo de valor para identificar supuestos del síndrome «solo Fulanito sabe cómo arreglar esto», también conocido como el «síndrome del héroe». O pueden identificar la situación en la que fallan las transferencias entre diferentes proveedores de servicios aislados en dominios separados, como aplicaciones, redes e infraestructura. Estos ejercicios también pueden contribuir a identificar una falta de comunicación con los usuarios, para asegurarse de que se les notifique cuando se haya solucionado el problema.
- Examinar el trabajo no planificado en busca de oportunidades de automatización en el desarrollo de aplicaciones y operaciones. Registrar mediciones del tiempo medio de reparación (MTTR) permite a las empresas identificar la necesidad de utilizar la automatización para incrementar la calidad y consistencia.
Incorporación: antes de implementar las herramientas de automatización, la cartera de aplicaciones debe evaluarse y configurarse para que funcione de manera efectiva con las nuevas herramientas. Esto puede requerir codificación, modelado, reorganización de la arquitectura de las aplicaciones o añadir API para superar la falta de interfaces de automatización.
Un obstáculo potencial a superar para la automatización es la falta de datos necesarios para tomar decisiones informadas sobre el retorno de la inversión (ROI) en automatización y para aprovechar los beneficios del análisis avanzado. A veces, los datos se almacenan en silos y no están disponibles para todos los que necesitan verlos.
Sin un análisis holístico, los árboles no nos dejarán ver el bosque. Es necesario realizar análisis en todo el dominio de servicios, lo que incluye supervisar datos, cambiar datos, incidentes, datos de gestión del ciclo de vida y datos de automatización.
Lo ideal es que datos de varias fuentes se combinen en un lago de datos donde los procesos analíticos sean capaces de identificar patrones repetitivos para ayudar a identificar oportunidades de optimización. Un ejemplo podría ser la aplicación de un mapa de calor para ver qué componentes monitorizados experimentan los problemas más comunes a lo largo del tiempo.
La aplicación de algoritmos de IA solo es posible con buenos datos subyacentes. No hay nada mágico aquí, y sin la recopilación y el registro de buenos datos, la IA simplemente no es posible.
Definición de la línea de base: una vez realizada la incorporación, resulta fundamental definir la línea de base de las aplicaciones y su entorno operativo. La línea de base es crucial para permitir que la automatización identifique cuando las aplicaciones funcionan peor o mejor de lo que lo hacen en las presentes condiciones. Además, la adquisición futura de recursos dependerá en gran medida de los datos recopilados durante el proceso de referencia.
Desarrollo de actividades: la fase final de la automatización es la creación de actividades equivalentes que permitan realizar a las máquinas aquellos procesos que habitualmente se asocian con trabajos repetitivos. Estos son algunos de los objetivos comunes:
- Desarrollo de aplicaciones. Automatización del lanzamiento de cambios y configuración de la aplicación en varias etapas del ciclo de vida de la aplicación, como compilación, prueba, etapa y producción. Estos tienden a ocurrir una vez, con mejoras menores con el tiempo. Las oportunidades incluyen pruebas automatizadas, canalizaciones de lanzamiento automatizadas, escaneo de código automatizado y evaluación de compilación automatizada.
- Acciones correctivas. Desarrollo del código y de las secuencias de comandos necesarios para emprender medidas correctivas cuando exista un problema operativo conocido. Estas medidas son las más caras y, normalmente, se trata de automatizaciones particulares, ya que son muy específicas de la aplicación y de la reparación en sí.
- Acciones repetitivas. Algunos ejemplos incluyen "comprobaciones diarias" en las que se realiza algún tipo de comprobación manual para validar el estado de la aplicación.
- Manipulación de datos. Esto sucede cuando existe alguna solicitud para transformar datos para el correcto funcionamiento del proceso de la aplicación.
- Operaciones. Normalmente, están relacionadas con la interrupción, inicio y ampliación y reducción de servicios o con la recuperación ante desastres.
Adquisición de herramientas.
Para impulsar la mejora de la eficiencia, resulta necesario invertir en herramientas de última generación. Simplemente aumentar o actualizar las ya existentes, no es suficiente y supondría la anulación de los ahorros de costes en productividad que serían posibles a través de una modernización más integral del conjunto de herramientas de operaciones de servicio.
Las herramientas deberían incluir una supervisión mejorada que brinde mucha más información sobre la utilización de la infraestructura. Las herramientas modernas de administración del rendimiento de la aplicación (APM) van más allá de la supervisión del funcionamiento básico de una única aplicación, para entender las dependencias y relaciones de la aplicación y de los componentes de la aplicación. Además, las herramientas APM han comenzado a incorporar IA al análisis de toda la pila de aplicaciones, lo que facilita la identificación automatizada de causas principales. Se trata de una increíble mejora de la productividad, que ayuda a aligerar algunas de las cargas de trabajo asociadas con el examen y análisis, extracción y manipulación de numerosos datos, realizadas de manera manual.
La resolución automatizada requiere aún más herramientas que dependen de plataformas, sistemas operativos e infraestructura de las aplicaciones. Además, debe haber disposiciones de runbook que vinculen los incidentes con las resoluciones. Por otra parte, la automatización de resoluciones requiere la disponibilidad de interfaces de programación. Si estas interfaces no existen, es posible beneficiarse de las herramientas de automatización robótica de procesos (RPA), que son capaces de automatizar las interacciones humanas con las aplicaciones y que pueden ofrecer una interfaz de programación a la empresa.
La implementación de estas herramientas, además de la necesidad de desarrollo de los flujos de trabajo y las secuencias de comando, es un componente fundamental de la inversión inicial necesaria para la automatización de la gestión de aplicaciones.
Cambio de la cultura empresarial
El cambio cultural tiene un papel muy importante que desempeñar en la adopción efectiva de la automatización. Si cada vez que hay que cambiar algo en un entorno informático hay que hacer cambios en la cultura empresarial, esto supone un importante inhibidor para la adopción de esta actividad. Procesos, flujos de trabajo, puertas de aprobación... Todo se tiene que redefinir para facilitar la adopción de mayores niveles de cambios autónomos.
También es necesario alinearse con un modo de operación DevOps donde los cambios más pequeños y más frecuentes a menudo resultan menos arriesgados que un ciclo de lanzamiento en cascada más tradicional.
En el contexto de los flujos de trabajo automatizados, el proceso para realizar pruebas y demostraciones efectivas a través de la adopción de un proyecto piloto puede generar confianza en los accionistas y mitigar las preocupaciones que supondría introducir cambios sin supervisar en el entorno informático. Los flujos de trabajo automatizados para otorgar aprobaciones pueden aplicar puertas de control que permitan, paulatinamente, que la adopción de cambios pase de un modo tradicional de operación a uno altamente automatizado.
Implantar la gestión automatizada de aplicaciones
Existe una visión utópica de que la automatización de la gestión de aplicaciones sería algo así como un entorno completamente automatizado y que funciona sin intervención humana con capacidades integrales de autocorrección y recuperación automática. Allí donde las nuevas aplicaciones se desarrollan usando tecnologías nativas de la nube, esta visión es bastante más fácil de lograr. La automatización se diseña desde el principio con el objetivo de alcanzar un modelo operativo de operaciones cero. Sin embargo, un catálogo de tecnología normal suele incluir una mezcla de aplicaciones heredadas, de sistema principal y software como servicio (SaaS) que han sido desarrolladas cuando todavía las tecnologías de automatización no eran tan sofisticadas o no se habían diseñado desde el inicio para ayudar en las operaciones de la aplicación.
La automatización de la gestión de estos entornos mixtos promete:
Aumentar la capacidad: al permitir que los humanos realicen trabajos que no se adaptan bien a las máquinas
Mejorar la calidad: evitando errores y ayudando a aumentar la toma de decisiones humanas mediante la identificación de las causas fundamentales de los problemas
Aumentar la velocidad: al reducir los plazos de detección y la velocidad de resolución de incidencias y problemas, junto con la agilización de la implementación de código
Reducir de costes: al reducir el trabajo manual necesario
Además, es importante que los CIO comprendan que el proceso de configuración del sistema automatizado requiere mucha mano de obra. Por ejemplo, elaborar un inventario de aplicaciones y su evaluación implica la realización de cuestionarios y entrevistas con las partes interesadas y la recopilación de los conjuntos de datos.
Decidir qué tratamientos aplicar, construir el conjunto de herramientas e incorporar aplicaciones también requiere el arduo trabajo de expertos humanos en este campo.
La inversión en automatización crea un modo de operación sostenible, en el que es posible evitar un incremento lineal del personal informático de apoyo, a medida que aumenta el número de aplicaciones o la complejidad del catálogo.
Esta optimización ofrece la oportunidad a las organizaciones de reinvertir los ahorros de costes en iniciativas que generen un mayor valor de negocio y que la mayor parte de los esfuerzos del personal informático se dediquen a operaciones de puesta en marcha de proyectos de desarrollo.
La necesidad actual que existe para reducir costes año tras año solo será posible cuando la automatización se realice desde cero, para aplicarla a medida que se desarrollan las nuevas aplicaciones. Con la aplicación de los métodos de desarrollo de operaciones a una proporción mucho mayor del catálogo de aplicaciones, la carga de trabajo de las aplicaciones pasará de requerir mucha mano de obra a estar muy automatizada y ser autosuficiente para aquellas organizaciones que sean capaces de llevar a cabo este cambio.
Conoce más sobre la gestión automatizada de aplicaciones.