En los eventos Red Hat Summit y AnsibleFest de 2023, presentamos Ansible Lightspeed con IBM Watson Code Assistant, un servicio nuevo de inteligencia artificial generativa para Ansible. Luego, en junio de 2023, presentamos la versión de prueba de las funciones. Hoy, nos alegra anunciar que Red Hat Ansible Lightspeed con IBM watsonx Code Assistant ya está disponible como un servicio de Red Hat Ansible Automation Platform. 

Ansible Lightspeed con watsonx Code Assistant está diseñado para permitir que los equipos de automatización creen, adopten y mantengan contenido de Ansible de manera más eficiente. 

En este blog, veremos los pasos para poner en marcha Ansible Lightspeed con IBM watsonx Code Assistant en su empresa. Explicaremos la manera en que los usuarios finales pueden configurar el servicio en su entorno de Visual Studio Code (VS Code). Además, compartiremos más información sobre los beneficios de la experiencia y las herramientas complementarias que están disponibles para potenciar el proceso de creación de Ansible con las funciones de inteligencia artificial generativa basadas en la transparencia, la precisión y las opciones. 

Esta es una incorporación interesante para la experiencia de Ansible Automation Platform, así que comencemos.

Funciones comerciales: incorporación de la inteligencia artificial en la creación de contenido de Ansible mediante la colaboración entre IBM y Red Hat

Ansible Lightspeed con watsonx Code Assistant es el resultado del trabajo colaborativo entre IBM y Red Hat para generar una experiencia de inteligencia artificial uniforme para la creación de contenido de Ansible. Convierte las instrucciones de texto en fragmentos de contenido de Ansible mediante los modelos base de IBM watsonx específicos de la automatización. El contenido generado cumple con las prácticas recomendadas aceptadas de Ansible, y cuando se combina con la función bot de código de Ansible, los equipos pueden aumentar la confianza en su base de código de automatización.

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant

El servicio consta de tres elementos:

  1. La interfaz para los desarrolladores: está integrada de forma directa en la extensión de VS Code a través de la extensión de Ansible. Esto permite que los creadores de contenido de Ansible usen indicaciones de lenguaje natural en los playbooks de Ansible o en los archivos de tareas para generar sugerencias de Ansible Lightspeed sobre una o varias tareas.
  2. El servicio integrado: funciona como la unión o el intermediario entre la interfaz para los desarrolladores y el servicio watsonx.ai. Incorpora el potencial de la inteligencia artificial en Ansible Automation Platform y mejora las respuestas de esta tecnología con sus funciones de posprocesamiento.
  3. La IA: IBM watsonx Code Assistant proporciona acceso al modelo base watsonx.ai específico de Ansible que genera recomendaciones de contenido de esta plataforma. Es la "base de la inteligencia artificial" de la solución.

En los próximos pasos, se explicará la configuración de Ansible Lightspeed con watsonx Code Assistant y la manera de comenzar a usarlo.

Inicio de sesión en Red Hat Ansible Lightspeed y su configuración para conectarlo con IBM watsonx Code Assistant

Nota: Esta sección está destinada solo para quienes tengan privilegios de administrador en la empresa en la cuenta del Portal de clientes Red Hat. Caso contrario, pase a la siguiente sección sobre la conexión en la extensión de VS Code para Ansible. 

Como administrador del Portal de clientes Red Hat, debe configurar Red Hat Ansible Lightspeed para que se conecte a su instancia de IBM watsonx Code Assistant, de modo que puedan comunicarse.

Para conectar Red Hat Ansible Lightspeed, necesita la siguiente información de IBM watsonx Code Assistant:

  • La clave de la API de IBM watsonx Code Assistant (WxCA)
    • La clave de la API de WxCA autentica todas las solicitudes que recibe la solución de Red Hat Ansible Lightspeed. Todas las empresas de Red Hat con una suscripción válida a Ansible Automation Platform deben tener esta clave configurada. Cuando un usuario autenticado de Red Hat Single Sign-On (SSO) realiza una consulta a Red Hat Ansible Lightspeed para obtener una sugerencia, se utiliza la clave de la API de WxCA asociada con la empresa de Red Hat del usuario para autenticar la solicitud a IBM watsonx Code Assistant. 
  • ID del modelo
    • La ID única del modelo WxCA es su identificación en la cuenta de IBM Cloud. La ID del modelo que configura en el portal de administradores de Red Hat Ansible Lightspeed se utiliza como modelo predeterminado, por lo cual servirá para obtener sugerencias de Ansible Lightspeed para todos los usuarios de la empresa que cuenten con licencia de usuario designado. IBM ofrece gestiona y mantiene el modelo watsonx Granite, el cual es exclusivo para su empresa y es útil para la privacidad, el cumplimiento normativo y la seguridad de los datos.

Información importante: Debe establecer tanto la clave de la API de WxCA como la ID del modelo cuando configura Red Hat Ansible Lightspeed inicialmente.

Requisitos previos

  • Tener privilegios de administrador en una empresa del Portal de clientes Red Hat con una suscripción válida a Ansible Automation Platform.
  • Haber obtenido la clave de la API y la ID del modelo de IBM watsonx Code Assistant que desea usar en Red Hat Ansible Lightspeed. 

Para conocer la forma de obtener la clave de API y la ID del modelo de WxCA, consulte la documentación de IBM watsonx Code Assistant

Procedimiento

  1. Inicie sesión en el portal de Ansible Lightspeed como administrador de la empresa.
  2. Haga clic en Log in > Log in with Red Hat. 
  3. Ingrese el nombre de usuario y la contraseña de su cuenta de Red Hat. 
    • El servicio Red Hat Ansible Lightspeed utiliza Red Hat Single Sign-On (SSO) para la autenticación. 
    • Como parte de este proceso, comprueba si usted es administrador de la empresa y si la empresa tiene una suscripción válida a Ansible Automation Platform. Si la autenticación es correcta, se muestra la pantalla de inicio de sesión junto con su nombre de usuario y su función de usuario asignada. 
  4. En la pantalla de inicio de sesión, haga clic en Admin Portal
    • Se lo redirigirá al portal de administrador de Ansible Lightspeed with watsonx Code Assistant, el cual puede usar para conectar Red Hat Ansible Lightspeed a la instancia de IBM watsonx Code Assistant.
  5. Indique la clave de la API de la instancia de IBM watsonx Code Assistant y haga clic en Save.
    • Opcional: haga clic en Test para validar la clave de la API.
  6. Indique la ID del modelo que desea usar y haga clic en Save.
    • Opcional: haga clic en Test para validar la ID del modelo.
  7. Cuando la clave de la API y la ID del modelo de WxCA se validen correctamente, Red Hat Ansible Lightspeed estará conectada a la instancia de IBM watsonx Code Assistant.

Asignación y eliminación de las licencias de usuario designado

Nota: Esta sección está destinada solo para quienes tengan privilegios de administrador en la empresa en la cuenta del Portal de clientes Red Hat. Caso contrario, pase a la siguiente sección sobre la conexión en la extensión de VS Code para Ansible.

Después de conectar Red Hat Ansible Lightspeed a una instancia de IBM watsonx Code Assistant, los administradores de la empresa en el Portal de clientes Red Hat pueden asignar licencias de usuario designado a sus usuarios de Ansible Automation Platform. La función de asignación de licencias de usuario designado permite que ciertos usuarios de la plataforma en la empresa accedan a Red Hat Ansible Lightspeed y lo utilicen. 

La suscripción a Ansible Automation Platform incluye una cantidad específica de licencias de usuario designado de Red Hat Ansible Lightspeed según la cantidad de suscripciones que haya adquirido la empresa. Red Hat Ansible Lightspeed autentica a los usuarios mediante Red Hat Single Sign-On (SSO) y comprueba que tengan una licencia de usuario designado.

Asignación de licencias de usuario designado

Puede otorgar licencias de usuario designado de Red Hat Ansible Lightspeed a ciertos usuarios de la empresa.  

Requisitos previos

  • Ser asignado como administrador de la empresa en el Portal de clientes Red Hat. 
  • Haber configurado Red Hat Ansible Lightspeed para que se conecte a la instancia de IBM watsonx Code Assistant.
  • Haber iniciado sesión en Ansible Automation Platform en Red Hat Hybrid Cloud Console como administrador de la empresa.

Procedimiento

  1. Ingrese a Ansible Automation Platform en Red Hat Hybrid Cloud Console.
  2. En el panel de navegación, seleccione Ansible Lightspeed with IBM watsonx Code Assistant > Seat Management
  3. Haga clic en Assign users.
  4. Ingrese el nombre de usuario de aquel a quien desea asignarle una licencia de usuario designado.
  5. Haga clic en Assign y, en el mensaje de comprobación, en Ok para confirmar.

De esta manera, quienes tengan licencias de usuario designado ya podrán acceder a Ansible Lightspeed con el servicio watsonx Code Assistant.

Primeros pasos para la conexión: instalación y configuración

Requisitos previos

  • Tener Visual Studio Code y Ansible instalados en la estación de trabajo
  • Tener una cuenta en el portal de clientes Red Hat (que está asociada a su empresa)
  • Recibir una licencia de usuario designado para su cuenta por parte del administrador de la empresa en el portal de Red Hat, de modo que esta pueda acceder al servicio Red Hat Ansible Lightspeed.

Procedimiento

  • Instale la extensión Ansible VS Code desde el Marketplace de Visual Studio Code; para ello, busque "ansible" y seleccione la extensión que ofrece Red Hat. Para que esta extensión funcione con el servicio Ansible Lightspeed la versión mínima debe ser 2.8.108. Consulte aquí el historial de versiones.
  • Acceda a "Extension Settings" en el ícono de ajustes para habilitar el servicio Red Hat Ansible Lightspeed dentro de la extensión.
  • En la configuración, seleccione las casillas de verificación "Ansible Lightspeed enabled" y "Enable Ansible Lightspeed with Watson Code Assistant inline suggestions".

Nota: Puede habilitar Red Hat Ansible Lightspeed en los ajustes "User" o "Workspace", según lo que prefiera. Encontrará más información sobre la configuración "User and Workspace Settings" de VS Code en su documentación.

Installing the Ansible Visual Studio Code extension

Instalación de la extensión Ansible Visual Studio Code

  • Para abrir la extensión, haga clic en la "A" de Ansible en la barra de actividad de VS Code que se encuentra a la izquierda del editor.
  • Haga clic en "Connect" y siga las instrucciones para iniciar sesión en su cuenta de Red Hat con sus datos de acceso.
  • A continuación, haga clic en "Authorize" para habilitar Ansible Lightspeed para VS Code.
  • Siga las indicaciones del explorador para volver a VS Code y, por último, haga clic en "Open" en el cuadro de diálogo de confirmación de VS Code.
Log in using your Red Hat credentials

Inicio de sesión con los datos de acceso de Red Hat

¡Felicitaciones! Configuró Ansible Lightspeed with watsonx Code Assistant de forma correcta en VS Code.

Para confirmar que Red Hat Ansible Lightspeed esté habilitado, verifique la barra de estado de VS Code en la parte inferior de la ventana del editor.

VS Code status bar showing that Ansible Lightspeed is enabled

Asegúrese de que se seleccione el entorno de Python y que los archivos YAML de Ansible estén asociados con el lenguaje de Ansible. Puede encontrar más información sobre los lenguajes de VS Code en su documentación.

Creación de contenido con Red Hat Ansible Lightspeed

Ahora que está lista la conexión a Ansible Lightspeed with watsonx Code Assistant, es momento de practicar la creación de contenido mejorada con IA.

Usemos un playbook de ejemplo para solicitarle a Red Hat Ansible Lightspeed sugerencias de tareas generadas por la IA y, además, destacar parte de lo que encontrará en las funciones comerciales. Este playbook instala y configura PostgreSQL en todas las máquinas del grupo de hosts de la base de datos.

Nota: Como parte de las mejoras permanentes para el servicio, IBM y Red Hat seguirán implementando actualizaciones para mejorar la calidad de las recomendaciones. Por lo tanto, las sugerencias de tareas de Ansible en los siguientes ejemplos pueden diferir.

¿Cómo genero una sugerencia de Red Hat Ansible Lightspeed?

Usaremos la primera tarea del playbook de ejemplo configure_postgres.yml para mostrar la manera de solicitarle a Ansible Lightspeed con watsonx Code Assistant una sugerencia de inteligencia artificial.

  • Mueva el cursor al final de la descripción de la tarea "- name: Install postgresql-server".
  • Pulse "ENTER" para generar una sugerencia.
  • Pulse "TAB" para aceptar la sugerencia.
Generating an Ansible task

Generación de una tarea de Ansible

En esta sugerencia, le solicitamos al servicio que instalara el paquete "postgresql-server", y esta usó el nombre de dominio totalmente cualificado (FQCN) ansible.builtin.package para hacer referencia al módulo de Ansible para gestionar los paquetes genéricos del sistema operativo.

El uso del FQCN es una práctica recomendada y es ejemplo de las diversas funciones posprocesamiento exclusivas que incorporamos al servicio Red Hat Ansible Lightspeed.

Pasemos a las siguientes tareas.

¿Cómo genero varias sugerencias de tareas?

Ahora que ya recibimos la sugerencia del servicio "Install postgresql-server", debemos solicitarle otras para configurar PostgreSQL, por ejemplo:

  • Run postgresql-setup command
  • Start and enable postgresql service
  • Allow the postgres traffic through the firewall

Una opción sería seguir el procedimiento anterior: obtener recomendaciones para cada tarea por separado.

Una función comercial nueva e interesante de Ansible Lightspeed con watsonx Code Assistant es la generación de varias tareas. La generación de varias tareas es un paso más del plan para generar un playbook completo, el cual permite crear múltiples tareas con una sola entrada de indicaciones, para lo cual deben unirse varias descripciones de tareas con el signo ampersand (&) en un comentario YAML en las tareas.

Usaremos el mismo ejemplo de playbook para demostrar la forma en que debe solicitársele al servicio sugerencias de varias tareas. En este archivo ya creamos un comentario en YAML. Si observa la línea 12 con detenimiento, verá que unimos las diferentes tareas para configurar PostgreSQL con ampersand (&) en un comentario de YAML en las tareas.

  • Mueva el cursor al final de la línea "# Run postresql-setup command & Start and enable postgresql service & Allow the traffic", el cual es un comentario en YAML.
  • Pulse "ENTER" para generar una sugerencia con varias tareas.
  • Pulse "TAB" para aceptar la sugerencia.
Generating multiple Ansible tasks

Generación de varias tareas de Ansible

En el mismo playbook, esta vez solicitamos varias sugerencias a la vez para "Ejecutar postgresql-command", "Iniciar y habilitar el servicio postgresql" y "Permitir el tráfico". Esta vez, en la sugerencia aparecieron tres tareas de Ansible.

La generación de sugerencias precisas y en contexto del contenido de Ansible le permite ahorrar tiempo y lo ayuda a crear contenido de manera eficiente. Uno de los aspectos asombrosos de Red Hat Ansible Lightspeed es el contexto. En la última tarea solo se solicita "Permitir el tráfico", lo cual puede parecer ilógico como una "solicitud" de inteligencia artificial, pero el servicio Red Hat Ansible Lightspeed conoce el playbook de Ansible con el que trabaja, así que sugiere abrir determinado puerto que corresponde al predeterminado para PostgreSQL (5432). 

Nota: Este solo un ejemplo para mostrarles a los lectores una función de Ansible Lightspeed con watsonx Code Assistant. Al escribir contenido de Ansible, sugerimos que los nombres de las tareas sean explícitos para que todos puedan entenderlo con facilidad.

Pasemos a la siguiente función.

Adopción de contenido con transparencia integrada: correspondencia de las fuentes de contenido

Otra función importante de Ansible Lightspeed con watsonx Code Assistant es la transparencia y la apertura en el uso de la correspondencia de las fuentes de contenido. Compartimos de forma clara la fuente, el autor y la licencia de contenido posibles de los datos de entrenamiento que se usaron para la recomendación. Parte de la esencia de Red Hat consiste en generar confianza en la comunidad y respaldar las relaciones entre los autores y los colaboradores.

Ansible Lightspeed Content Source Matching

Correspondencia de las fuentes de contenido de Ansible Lightspeed

Adopción de contenido con las prácticas recomendadas de Ansible y mayor precisión

Red Hat Ansible Lightspeed se centra solo en la automatización, la cual ofrece una experiencia de inteligencia artificial generativa optimizada y precisa que diseñan los equipos de automatización de la TI para ellos mismos.Pueden confiar en el contenido que aceptan gracias a las funciones posprocesamiento que cumplen con las prácticas recomendadas aceptadas.

Las funciones posprocesamiento de Red Hat Ansible Lightspeed mejoran las sugerencias de contenido de Ansible de IBM watsonx Code Assistant para las prácticas recomendadas. Por ejemplo, podemos nombrar el uso de FQCN, la anonimización de los datos y la sustitución de variables, entre otras.

En el ejemplo de la sección anterior "¿Cómo genero una sugerencia de Red Hat Ansible Lightspeed?", se mostraron las sugerencias generadas con el FQCN como una de las funciones posprocesamiento del servicio.

Mantenimiento del contenido: bot de código de Ansible (Versión de prueba del servicio)

Los clientes suelen preguntarnos: "Tenemos el contenido, pero ¿qué sigue después? ¿Cómo podemos dejar atrás la automatización aislada?" ¿Cómo creamos una comunidad con intereses compartidos?

Respondemos que lo primero es la cultura y que tratar los flujos de trabajo de la infraestructura como recursos de software impulsa el enfoque colaborativo necesario para la automatización empresarial. 

Sin embargo, esto podría implicar tener que aprender habilidades nuevas, como el control de versiones, las pruebas automatizadas y la revisión de código. Nuestro objetivo con el bot de código de Ansible es que la mejora en la calidad del contenido de Ansible no se limite solo a su creación, sino que se extienda a todo el flujo de trabajo.

Este bot analiza los playbooks, las funciones y los conjuntos de contenido Ansible Content Collections actuales alojados en los repositorios de GitHub y crea solicitudes de incorporación de cambios por anticipado siempre que estén disponibles las prácticas recomendadas o las recomendaciones de mejora de la calidad. Envía estas solicitudes al repositorio de forma automática, las cuales alertan a su propietario de forma anticipada que hay un cambio recomendado en su contenido. Puede configurar al bot para que escanee sus repositorios de Git actuales (tanto públicos como privados).

El bot de código de Ansible usa Ansible Lint para recomendar mejoras en la calidad del contenido de Ansible. Su objetivo es fomentar las prácticas, los patrones y los comportamientos probados y, al mismo tiempo, evitar los errores comunes que fácilmente pueden generar errores o dificultar el mantenimiento del contenido. El bot analiza su contenido en función de las reglas configuradas para garantizar que cumpla con las prácticas recomendadas de Ansible.

Requisitos previos

  • Tener una cuenta en el portal de clientes Red Hat (que está asociada a su empresa)
  • Tener una suscripción válida de Ansible Lightspeed con watsonx Code Assistant para la empresa

Procedimiento

  1. Inicie sesión en GitHub con una cuenta que esté asociada a su empresa.
  2. Instale la aplicación GitHub para la empresa a la que pertenece. 
  3. Vaya a la aplicación GitHub Ansible code bot:
  4. Seleccione los repositorios en los que desea instalar el bot de código de Ansible.
  5. Haga clic en Install & Authorize.
  6. Cuando se le indique, inicie sesión en su cuenta de Red Hat SSO.
Ansible Code bot in action

El bot de código de Ansible en acción

Luego de instalar el bot de código de Ansible para los repositorios de Git que seleccionó, puede programar un análisis de forma periódica. También puede incorporar a los repositorios un tema denominado "ansible-code-bot-scan" para analizarlos de forma manual, en caso de que no haya programado el análisis para el bot de código de Ansible o que no desee esperar al siguiente que esté programado.

Nota: La versión de prueba del servicio es la "fase" de lanzamiento inicial de los servicios de nube. Está disponible para clientes internos y externos seleccionados y permite reunir comentarios iniciales sobre el servicio, pero no está destinado para el uso en producción. Además, las funciones individuales del servicio de nube en la fases de prueba práctica, disponibilidad limitada o disponibilidad general pueden documentarse como versión de prueba, lo cual significa que la función no está destinada para usarse en producción.

Resumen

¡Felicitaciones! Configuró Ansible Lightspeed con watsonx Code Assistant para su empresa de forma correcta. También puso en práctica algunas funciones nuevas e interesantes de la inteligencia artificial generativa con solo algunos pasos sencillos.

Recomendamos que se una a la sala matrix de Ansible Lightspeed, que es un lugar excelente para que comparta sus comentarios, conozca las novedades y obtenga respuestas de sus colegas de automatización y del equipo de Red Hat.  

Próximos pasos y recursos

Para obtener más información sobre los próximos pasos, consulte la página de inicio de Red Hat Ansible Lightspeed, en la cual encontrará enlaces para los clientes actuales de Red Hat y para quienes estén interesados en probar Ansible Automation Platform. 

Recursos adicionales a medida que conoce Ansible y la inteligencia artificial generativa:

Seguiremos publicando entradas de blog, videos y otros recursos a medida que este servicio evolucione para ayudarlo a aprovechar al máximo la inteligencia artificial generativa, al estilo de Ansible. 

Muchas gracias por haber leído y deseamos que logre una automatización exitosa.


About the author

Anshul is a Principal Marketing Manager at Red Hat, where he brings his software development and QE experience to increase Ansible Automation Platform's adoption experience for customers by producing technical content on all aspects of the product.

Read full bio