Alcanzando la idempotencia

Por: Ceballos Paz, Karin Susana

Email: Karin.ceballospaz@gmail.com

Alcanzando la idempotencia de TI con Ansible

Resumen: Una de las razones más importantes por la que muchas organizaciones han adoptado a la automatización como una forma de realizar sus procesos informáticos y así alcanzar sus objetivos de forma más segura, rápida y eficaz, para lo cual se explica cómo funciona la automatización, que es la idempotencia y que es Ansible. El presente estudio se basa fundamentalmente en el estudio de Ansible, esta herramienta de automatización le permite extenderse hasta abarcar tecnologías específicas y áreas más amplias como la nube, la seguridad, etc.  y se refiere al  análisis de una empresa que se ha dedicado a utilizar Ansible para automatizar sus operaciones diarias de TI para su plataforma de servicios en la nube y locales;  dicho análisis presenta como anteriormente el cliente trabajaba y los beneficios que la empresa a logrado obtener con el uso de Ansible, también se muestra la actualidad de la organización, que automatizó las tareas relacionadas con el suministro de recursos y servicios en la nube y redujo enormemente los tiempos de espera. La organización utilizó Ansible para automatizar la funcionalidad de sistemas de red y dicha automatización de tareas liberó a los empleados para trabajar en proyectos más interesantes, incluida la experimentación con Ansible y orientarse más al área de DevOps.

Palabras Claves: Reducción de Costos en TI, Automatización, Ansible, Automatización de Tareas TI, DevOps.

Abstract: One of the most important reasons why many organizations have adopted automation as a way to carry out their IT processes and thus achieve their objectives in a safer, faster and more efficient way, for which it is explained how automation works, which is idempotency and what is Ansible. This study is fundamentally based on the Ansible study, this automation tool allows it to be extended to cover specific technologies and broader areas such as cloud, security, etc. and refers to the analysis of a company that has dedicated itself to using Ansible to automate its daily IT operations for its cloud and local services platform; This analysis shows how the client previously worked and the benefits that the company has achieved with the use of Ansible, it also shows the current situation of the organization, which automated the tasks related to the provision of resources and services in the cloud and greatly reduced waiting times. The organization used Ansible to automate network systems functionality, and such task automation freed up employees to work on more interesting projects, including experimenting with Ansible and focusing more on DevOps.

Desarrollo:

Hace mucho tiempo atrás a finales de los años 40’s se dio a conocer el termino de automatización; todo comenzó en la feria mundial en 1939 en la que se presentó un robot creado por Westinghouse llamado Elektro, dicho robot podía hablar y contar con los dedos hasta 10, pero lamentablemente este era operado por humanos remotamente y se veía afectado en su funcionamiento.  De allí surgió la idea de tener algo o alguien capaz de programar y gestionar tareas sin equivocarse, lidiar con eventos inesperados y resolver problemas de rendimiento y seguridad. 

Las empresas hoy en día se enfrentan a la necesidad de poder competir contra otras empresas de su índole y en parte esta depende de su capacidad de poseer servicios de alta calidad y que brinden seguridad, integridad y disponibilidad en cada momento.  Esto ha sido una de las razones más importantes por la que muchas organizaciones han adoptado a la automatización como una forma de realizar sus procesos informáticos y así alcanzar sus objetivos de forma más segura, rápida y eficaz.

La característica principal de la automatización de procesos informáticos se le conoce en la actualidad  como una categorización o un conjunto de herramientas tecnológicas que nos ayudan a ser más eficientes con las actividades de TI en el día a día  y aunque en la actualidad existen muchas herramientas para la automatización, la presente investigación se realiza bajo un ambiente de actualidad que permite incorporarse y aplicarse a cualquier elemento del entorno de TI tal y como lo es Ansible.  Esta herramienta de automatización le permite extenderse hasta abarcar tecnologías específicas y áreas más amplias como la nube, la seguridad, etc. Y es una de las mejores herramientas de automatización existentes, ya que no necesita tener agentes instalados en los equipos y adicionalmente permite tener conexión con distintos tipos de sistemas operativos, versiones y categorizaciones de los equipos a trabajar. 

En este caso en particular el objetivo principal de la presente investigación es impulsar el uso de la automatización y la optimización de los tiempos que toman las operaciones diarias de manejo de las actividades de TI referente a los equipos (servidores, equipos de usuarios, etc.).        Muchas de las tareas que realiza el departamento de TI pueden mejorarse a través de la automatización de los procesos, entre algunas de estas tareas podemos mencionar: el manejo de inventarios, parcheo, actualizaciones de políticas, manejo de seguridad, etc. 

La Idempotencia se le conoce a la propiedad para realizar una acción determinada varias veces y aun así conseguir el mismo resultado que se obtendría si se realizase una sola vez y esto se logra a través de la automatización de los procedimientos. También es importante conocer que es Ansible:  A Network of Social Interactions for Bilateral Life Enhancement.  Es un conjunto de herramientas de apoyo que permite interacciones multifacéticas entre humanos y agentes virtuales, diseñadas para adaptarse a ciertas limitaciones técnicas. 

Debido a que Ansible es prácticamente una nueva herramienta de automatización y que está implementándose en las nuevas áreas de TI como los es Cloud Computing y las últimas tecnologías y ambientes de trabajo; para el presente artículo de revisión se tomó en consideración del estudio realizado a Ansible Red Hat por la empresa Forrester en  Junio 2018, el estudio se basa en la entrevista realizada a un cliente con más de cinco años de experiencia en el uso de Ansible, y la información del sitio de Red Hat, en la sección de Ansible. La empresa evaluada se ha dedicado a utilizar Ansible para automatizar sus operaciones diarias de TI para su plataforma de servicios en la nube, y de esta forma ha ahorrado costos. 

Antes que el cliente utilizará Ansible, contaba con personal que provisionaba, actualizaba y mantenía manualmente la infraestructura del servicio en la nube; el completar las tareas manualmente requería muchísimo tiempo y estaba lleno de errores y frecuentemente se requería de costosos contratistas por hora. 

Para cualquier organización es fundamentalmente importante que se garantice la Integridad, Disponibilidad y Confidencialidad de su información, que, a su vez, esto sea de forma rápida y efectiva. Actualmente, muchos administradores de sistemas gestionan y mantienen sus sistemas mediante una colección de secuencias de comandos por lotes o de actividades repetitivas a realizar para mantener a flote todas las actividades informáticas del día a día y de esta forma garantizar los tres pilares de la información. Algunos de los criterios a considerar para la selección de una buena herramienta de automatización efectiva son:

  • Aprendizaje Automático Maduro: es importante que el aprendizaje automático juegue un papel importante en los términos de implementaciones reales. “Con los datos como parte integral de las nuevas tendencias en las áreas de Desarrollo, el software de automatización puede tomar decisiones que, de otro modo, podrían ser responsabilidad del desarrollador” (Mehul Amin, director de ingeniería de Advanced Systems Concepts, Inc.)
  • Crear oportunidades de Automatización usando la inteligencia artificial: a corto plazo podemos definir que el aprendizaje automático tendrá un mayor impacto y es vital para el éxito empresarial en los siguientes años.
  • Obsolescencia: aunque la automatización conlleva cambios en varios roles, esta también conlleva la creación de nuevos roles. Para los profesionales de TI, esto requerirá el desarrollo de nuevas habilidades para el manejo de automatización, programación, inteligencia artificial y ante todo una fuerte postura de seguridad.
  • Evolución continua de las herramientas de scripting y automatización: existen muchos procesos en el entorno de TI y que muchos son repetitivos y están sujetos a errores humanos, muchas tecnologías ayudan a mejorar estos problemas, con estas herramientas los desarrolladores podrán construir y automatizar flujos de trabajo en menor tiempo y que a su vez reducirán la codificación propensa a errores.
  • Apertura de oportunidades: Ya que la automatización no elimina la necesidad de medir el rendimiento, esta da la opción a que aumenten las actividades de desarrollo de control y medición, se puede utilizar esta información para el manejo de tendencias de alto nivel y afirmar observaciones cualitativas

A partir de la entrevista y el análisis de datos de este cliente, Forrester concluyó que Ansible Tower tiene el siguiente impacto financiero en un período de tres años: 1,7 millones de USD en beneficios frente a unos costes de 704 490 millones de USD, lo que da como resultado un valor actual neto (VAN) de 1,03 millones de USD y un ROI de un 146%.

Beneficios cuantificados: A continuación, los beneficios cuantificados proporcionales al riesgo obtenido por la compañía entrevistada:

  • Mejora en la eficiencia de operación, reduciendo en un 66% los tiempos de espera para la entrega. Con Ansible, la organización automatizó las tareas relacionadas con el suministro de recursos y servicios en la nube y redujo notablemente los tiempos de espera.
  • Funcionalidades de equipamiento automatizadas, ahorrándose 389,707 USD. La organización utilizó Ansible para automatizar la funcionalidad de sistemas de red clave, eliminando la necesidad de comprar equipamiento costoso.
  • Reconfiguración automatizada, que permite reducir las horas de tiempo implementación del personal en un 94%. La organización automatizó el proceso de recuperación y reconfiguración, reduciendo los tiempos de respuesta y la necesidad de contratar servicios externos.
  • Actualizaciones de seguridad automatizadas, que reducen las horas de tiempo de implementación del personal en un 80%. La organización simplificó y automatizó sus prácticas de actualización de seguridad, reduciendo el tiempo y los recursos necesarios.

     Beneficios no cuantificados. La organización entrevistada obtuvo los siguientes beneficios, que no se cuantifican en este estudio:

  • Se evitó contratar personal adicional. Simplificar y automatizar tareas de TI eliminó la necesidad de ampliar el departamento de TI.
  • Reconocimiento de ingresos acelerado. Automatizando la entrega en el servidor, la organización pudo registrar más rápidamente los ingresos.
  • Estándares de seguridad mejorados. La organización incorporó a sus protocolos estándares de seguridad establecidos, permitiendo que la organización mantuviese fácilmente sus requisitos actuales.
  • Se evitaron errores costosos. Con la automatización de procesos, la organización evitó costosos errores asociados al trabajo manual.
  • Mejora de la moral de los empleados. La automatización de tareas liberó a los empleados para trabajar en proyectos más interesantes, incluida la experimentación con Ansible, lo que mejoró la moral.
  • Mayor grupo de contratación. Con Ansible Automation, la organización redujo su necesidad de habilidades de lenguaje de programación especializado

Por lo que la tendencia más grande es que la tecnología del mañana será un ecosistema de personas y máquinas.  Las aplicaciones monolíticas y centralizadas se encuentran dando paso al desarrollo de soluciones ágiles y distribuidas.  Esta innovación impulsada por la tecnología podrá provenir de cualquier persona, en cualquier lugar y no será solo para las organizaciones tecnológicas dedicadas.  

     Como cualquier empresa para poder brindar un buen control de calidad y un buen servicio de TI, es necesario poder dominar varias herramientas para el manejo del día a día de la empresa, y debido a que automatizar las tareas repetitivas de TI nos permite no solo ganar tiempo y maximizar la productividad de nuestra infraestructura, también el ahorro de costos, ya que se puede hacer más con menos.  Y de esta forma podemos conseguir que el personal de TI de nuestra empresa pueda dedicar más tiempo a generar valor para la compañía evitando las tareas repetitivas que se pueden realizar de forma automática.

     La automatización debe ser parte de la actualidad de las empresas y es necesaria para los procesos de negocio, lanzamiento y testing continuo, pero lo más importante es sacarles provecho a esos flujos de trabajo existentes, así como su estandarización e integración con toda la cadena de herramientas y procesos de DevOps en el área de TI.

     Una verdadera idempotencia se logrará con el apoyo de todas las partes involucradas en los procesos de IT y será de mucha utilidad sacarle todo el provecho a Ansible, esta herramienta permitirá que sean más eficientes y eficaces las actividades diarias de TI, y además permitirá el beneficio de ser capaces de resolver casos fortuitos o bien mejorar en las distintas áreas o segmentos de trabajo y así brindar una mejor calidad y atención al usuario.

Referencias bibliográficas

Ansible For the Windows Admin. Creado: 15 de febrero 2019. Recuperado de:  https://opensource.com/article/19/2/ansible-windows-admin

How Ansible Works Actualizado : Marzo 2020. https://www.ansible.com/overview/how-ansible-works?intcmp=701f2000000h4RcAAI

The Total Economic Impact TM OF Red Hat Ansible Tower. Creado en Junio 2018. https://www.ansible.com/hubfs/pdfs/cm-forrester-total-economic-impact-ansible-analyst-paper-f13019-201806-en.pdf

Overview Ansible. Actualizado: Sept.2020. https://www.ansible.com/

Getting started with Ansible security automation: Threat Hunting. Creado: Oct-15 2020 por: Roland Wolters. Recuperado de:  https://www.ansible.com/blog/getting-started-with-ansible-security-automation-threat-hunting

What is Ansible?. Recuperado de:  https://networklore.com/ansible/

Ansible for Devops. Jeff Geerling. ISBN-13: 978-0986393419. ISBN-10: 098639341X

Ansible: Up and Running: Automating Configuration Management and Deployment the Easy Way (Inglés) 2nd. Lorin Hochstein. “ISBN-13: 978-1491979808. ISBN-10: 1491979801”. Segunda Edición. Editorial O’reilly

Ansible Playbook Essentials: Design automation blueprints using Ansible’s playbooks to orchestrate and manage your multitier infrastructure. Gourav Shah. Primera Edición. https://ualmtorres.github.io/CursoAnsible/tutorial/

    Alcanzando la idempotencia
    Scroll to top