Comprender la partición del repositorio

Un repositorio es uno de los componentes principales que le permiten administrar Automation Workspace (automatizaciones y archivos). La partición le permite escalar los repositorios y optimizar el rendimiento de las operaciones relacionadas con ellos, como el registro y la descarga.

Nota: La función de partición del repositorio requiere una licencia Enterprise Platform. Para obtener más información sobre la versión compatible con esta función, consulte Enterprise Platform.

Resumen

El repositorio de Automation 360 es un repositorio de Git único donde se almacenan todos los bots, formularios, procesos y archivos dependientes. Como el repositorio está basado en el Git, algunas funciones de control de versiones listas para usar están disponibles, como el registro, la descarga, el historial de las versiones, la restauración y la comparación de versiones. Por lo tanto, la integración con un Git remoto externo no es un requisito en Automation 360.

Todos los archivos en el repositorio de Git en Automation 360 se almacenan para el control de versiones. Con el tiempo, el repositorio de Git puede aumentar de tamaño debido a la cantidad de archivos, el tamaño de los archivos, las confirmaciones de Git, etc. Esto podría provocar una latencia en la ejecución de las acciones del repositorio.

Con la partición del repositorio, puede dividir la carpeta del repositorio de Automation 360 en repositorios de Git separados. Puede dividir el repositorio público de gran tamaño en la carpeta de nivel raíz en múltiples repositorios Git en los niveles de carpeta seleccionados, lo que limita los problemas de rendimiento en las particiones de repositorios.

Nota: El administrador o los usuarios de Control Room con el permiso Partición del repositorio pueden usar la función de partición del repositorio.

Ventajas

Entre los beneficios de dividir los repositorios, se incluyen lo siguiente:

Operaciones más ágiles gracias al registro y la descarga rápidos
A medida que las carpetas están particionadas, cada una tiene un número relativamente menor de actividades de registro (confirmaciones). Como resultado de estas confirmaciones más pequeñas, las operaciones de registro y descarga (incluidos los registros y las descargas simultáneos) son más rápidas.
La separación lógica de carpetas en el espacio Git.
La creación de múltiples repositorios en Git mitiga el riesgo de un único punto de falla. Los problemas en un repositorio no perjudican a otros repositorios ni a las automatizaciones que estos contienen.

Recomendaciones

En un escenario de producción típico, se crean carpetas correspondientes a varios departamentos dentro de la carpeta Bots. En función de los procesos de negocio o proyectos específicos (múltiples procesos de negocio), se crean subcarpetas dentro de las carpetas del departamento. También es común que los clientes tengan bibliotecas compartidas que se pueden crear en diferentes niveles, las cuales se comparten aún más a través de otros procesos.

Considere un escenario donde todos los archivos se registran en la misma partición (repositorio de git) por varios procesos de automatización o citizen developers al mismo tiempo. Esto puede tener un impacto en la velocidad de procesamiento de datos y resultar en un retraso considerable. Para asegurar que el rendimiento no se vea afectado a largo plazo, revise el enfoque recomendado a continuación:

Enfoque operativo
Se recomienda que cree una partición por equipo. Un equipo está formado por un grupo de personas que trabajan en un conjunto similar de procesos empresariales. Limite la cantidad de desarrolladores en cada conjunto a 50 o menos para lograr un rendimiento óptimo para cada equipo. Si hay más desarrolladores, puede dividirlos en particiones para lograr escalabilidad.
Para cualquier partición que realice, un usuario que esté intentando registrar o importar automatizaciones o archivos en esa carpeta recibe una alerta de que la partición está en progreso.

Cuando la partición está en progreso, los usuarios tienen restricciones para realizar registros, importaciones, registros masivos y eliminaciones en la carpeta o subcarpetas particionadas. Incluso si un usuario intentó registrarse en una automatización durante ese tiempo, se muestra una alerta que le sugiere esperar. El usuario puede luego continuar trabajando en el espacio de trabajo privado sin problemas y el trabajo nunca se bloquea. Además, la restauración de Git, la configuración de Git y las actualizaciones masivas de paquetes están restringidas universalmente.

Las pruebas en repositorios con un tamaño de 20 GB han demostrado que la operación podría tardar hasta 1,5 horas. Sin embargo, este tiempo puede variar dependiendo del rendimiento del almacenamiento conectado a la red (NAS). El costo operacional es muy bajo y puede hacerlo a lo largo del tiempo.

Por ejemplo, puede realizar de 4 a 6 particiones al final del día hábil cuando hay menos usuarios o Citizen Developers. Esto le permite ejecutar el proceso de particionamiento sin afectar a otros usuarios de la empresa.

Determinar las carpetas para particionar
Revise las siguientes recomendaciones sobre la partición de carpetas:
  • Ejecute la herramienta RepositoryFolderSizeReport.exe desde el directorio de scripts en uno de los nodos de la Control Room utilizando el siguiente comando:
    RepositoryFolderSizeReport.exe --root "Z:\Server Files\repository\16933f12-fdee-4a7f-8e76-a9bf127918c6\0\Automation Anywhere\Bots"
  • Asegúrese de reemplazar el script anterior con el ID de inquilino correcto de su entorno.

    Por ejemplo, 16933f12-fdee-4a7f-8e76-a9bf127918c6.

  • Utilice Z:\Server Files\repository para revisar la unidad NAS.
  • Genere el informe folder_sizes.csv que contiene las rutas de las carpetas y sus respectivos tamaños en MB.
    Esto le permite planificar la partición de la carpeta.
    Nota: Git recomienda que restrinja el tamaño del repositorio a menos de 2 GB para obtener un rendimiento óptimo.
  • Esta herramienta le proporcionará el tamaño de cada carpeta que le ayudará a planificar la partición de la carpeta.
Configuración de tiempo de espera
La partición del repositorio inicia un programa externo para particionar la carpeta. Si este programa externo no proporciona una salida dentro de 12 horas (predeterminado), se finaliza y el usuario puede reiniciar el proceso de partición. Si el tiempo de espera de 12 horas es demasiado largo, puede cambiarlo a 2 horas modificando el archivo de propiedades ubicado en <CR_Folder>\\config\\repository.properties.

Asegúrese de actualizar la propiedad repository.partition.read.line.timeout estableciendo el valor en segundos. Por ejemplo, para un tiempo de espera de 2 horas, establezca el valor en 7200.

Reinicie el kernel después de todos los cambios.

Monitoreo de la partición del repositorio
  • Monitoree el progreso de la partición en los archivos de registro usando el script PartitionMonitor.
  • Ejecute el script PartitionMonitor.ps1 en cada nodo de la CR.

    La solicitud de partición se procesa en uno de los nodos por diseño. Por lo tanto, los resultados del progreso solo son visibles en ese nodo específico.

  • Abra Windows PowerShell y vaya al directorio de scripts (C:\scripts). Ejecute el siguiente comando:
    .\PartitionMonitor.ps1 -sourceDirectory "C:\ProgramData\AutomationAnywhere\Logs" -outputFile out.log