Aprovisionamiento de Productos OmniCRM con Ansible
Los productos de OmniCRM se aprovisionan utilizando Ansible, lo que permite la gestión automatizada de servicios basada en los requisitos específicos de cada producto y su inventario asociado.
Flujo de Trabajo de Aprovisionamiento
Cuando se aprovisiona un producto, OmniCRM pasa un conjunto de variables a Ansible que están definidas tanto por el propio producto como por el(los) elemento(s) de inventario seleccionado(s). Estas variables incluyen detalles importantes como los recursos de hardware o virtuales requeridos, configuraciones de servicio y cualquier parámetro adicional necesario para un aprovisionamiento exitoso.
Ansible luego maneja el ciclo de vida completo del aprovisionamiento del servicio, incluyendo:
- Aprovisionamiento: Configuración del servicio mediante la configuración de hardware o software de acuerdo con las especificaciones del producto y del inventario definidas.
- Desaprovisionamiento: Eliminación automática de servicios cuando ya no son necesarios, liberando inventario y asegurando una gestión adecuada de recursos.
- Reversiones: En caso de un fallo durante el proceso de aprovisionamiento, Ansible utiliza su función de Rescate para manejar las reversiones, asegurando que cualquier tarea parcialmente completada se deshaga y el sistema regrese a un estado consistente.
Generalmente, el personal de Omnitouch trabajará con el cliente para definir los requisitos del producto y desarrollar los playbooks de Ansible necesarios para automatizar el proceso de aprovisionamiento. Esto asegura que cada servicio se despliegue de manera consistente y confiable, reduciendo el riesgo de errores y asegurando que todos los pasos necesarios se completen en el orden correcto.
Variables de Ansible
Las variables pasadas a Ansible incluyen:
- Variables del Producto: Estas se derivan de las configuraciones del producto de OmniCRM y definen cómo debe configurarse el servicio.
- Variables de Inventario: Seleccionadas del inventario, incluyen elementos como módems, tarjetas SIM, bloques de direcciones IP o números de teléfono que son requeridos para el aprovisionamiento.
Playbooks de Ansible
El proceso de aprovisionamiento es controlado por Playbooks de Ansible, que son responsables de ejecutar las tareas necesarias para poner en funcionamiento el producto o servicio. Estos playbooks aseguran un proceso de despliegue consistente y repetible, minimizando errores y asegurando que todos los pasos se completen en el orden correcto.
En caso de errores, la función de Rescate de Ansible entra en juego, revirtiendo automáticamente los cambios para mantener la integridad del sistema y prevenir un aprovisionamiento incompleto.
Desaprovisionamiento
Cuando un servicio ya no es necesario, los Playbooks de Ansible también se utilizan para desaprovisionar el servicio. Esto elimina cualquier configuración, libera el inventario de vuelta al pool y asegura que el sistema se mantenga limpio de servicios o elementos no utilizados.
Reversión y Manejo de Errores
La función de Rescate de Ansible se emplea durante el aprovisionamiento y el desaprovisionamiento para manejar errores de manera elegante. Si una tarea falla en cualquier momento durante el aprovisionamiento, el sistema revertirá automáticamente los cambios para regresar a un estado consistente. Esto asegura confiabilidad y reduce el riesgo de despliegues parciales o fallidos.