Orchestrator
2020.10
False
Imagen de fondo del banner
Sin asistencia
Guía de instalación de Orchestrator
Última actualización 12 de dic. de 2023

Implementación en la nube

Hay muchas opciones de implementación de nube empresarial disponibles para alojar tu Orchestrator, como Amazon Web Services (AWS), Microsoft Azure o Google Cloud Platform (GCP). Aquí detallamos una implementación grande y escalable utilizando la oferta de infraestructura como servicio (IaaS) de Azure. Los siguientes servicios son necesarios:

Arquitectura

Nota:

Los siguientes ejemplos de arquitectura contienen componentes opcionales o diversos (p. ej., CyberArk, UiPath High Availability Add-on).

El Jumpbox que se muestra no es necesario, pero es una práctica recomendada para tus entornos de producción que ofrece aislamiento y segurida.

Arquitectura de un solo nodo



Arquitectura multinodo



Requisitos de hardware

Esta sección describe las configuraciones de hardware utilizadas para las pruebas de rendimiento que se indican en Escalar tu implementación, a continuación.

Nodos de Orchestrator

Cada nodo de Orchestrator debe configurarse de la siguiente manera:

VCPUs

RAM (GB)

SSD (GB)

16

32

128

Servidor SQL

Las especificaciones de la máquina virtual de SQL Server deben escalar en línea con el número de nodos de Orchestrator:

Nodos de Orchestrator

VCPUs

RAM (GB)

1-2

8

16

5

16

32

10

16

64

Conjunto de disponibilidad de Elasticsearch

El conjunto de disponibilidad de Elasticsearch está compuesto de 3 nodos maestros y 6 nodos de datos; un total de 9 nodos, cada uno con las siguientes especificaciones:

VCPUs

RAM (GB)

OS SSD (GB)

Data SSD (TB)

8

16

128 (con 5000 IOPS y 100 MB/s de capacidad de proceso)

1 (con 5000 IOPS y 200 MB/s de capacidad de proceso)

Requisitos de software

Software

Versión

Sistema operativo

Windows Server 2016

Bases de datos

SQL Server 2017

Registro

Elasticsearch 6.4.0

Las versiones antes mencionadas son las utilizadas para las implementaciones y las cargas de prueba de rendimiento descritas. Para conocer todas las versiones compatibles con Orchestrator, consulta aquí.

Equilibrio de carga

Para implementaciones multinodo, se recomienda utilizar dos equilibradores de carga estándar de Azure:

  • Uno para los servidores de Orchestrator;
  • Uno para los servidores Elasticsearch.

Azure Redis Cache

Importante:

Las implementaciones multinodo de Orchestrator utilizan RESP (Redis Serialization Protocol, protocolo de serialización de Redis) para las comunicaciones y, por tanto, puede ser configurado con cualquier solución que implemente este protocolo, como Azure Redis Cache en este ejemplo.

UiPath solo admite las implementaciones de alta disponibilidad de Orchestrator si se usa la adición de alta disponibilidad de UiPath.

Para implementaciones multinodo, recomendamos utilizar dos instancias de Redis separadas:

  • Azure Redis Cache Premium con una caché de 6 GB: el nodo primario utilizado para las asociaciones de estado de la sesión y de entidades de usuario;
  • Azure Redis Cache Basic: utilizado para escalar el servicio de SignalR.

Configuración

Ajustes UiPath.Orchestrator.dll.config

  1. Establece todos los nodos de Orchestrator para informar a Elasticsearch en lugar de sus respectivos registros de sucesos de Windows, estableciendo para ello el parámetro writeToen el índice serverdiagnostics así:
    <logger name="*" minlevel="Warn" writeTo="serverElasticBuffer"/><logger name="*" minlevel="Warn" writeTo="serverElasticBuffer"/>
  2. Habilita el agrupamiento de trabajos de Quartz:
    <add key="quartz.jobStore.clustered" value="true" /><add key="quartz.jobStore.clustered" value="true" />
  3. En la sección de Implementación, establece el repositorio de NuGet de este modo:
    <add key="NuGet.Repository.Type" value="Composite" />
    <add key="Deployment.Libraries.AllowTenantPublish" value="true" />
    <add key="Processes.AllowUpdateWithRunningJobs" value="true" /><add key="NuGet.Repository.Type" value="Composite" />
    <add key="Deployment.Libraries.AllowTenantPublish" value="true" />
    <add key="Processes.AllowUpdateWithRunningJobs" value="true" />
  4. En la sección del Equlibrador de cargas, configura las instancias Redis de la siguiente manera, asegurándote de reemplazar la cadena de conexión y la contraseña con tus valores respectivos:
    <add key="LoadBalancer.UseSqlServer" value="false"/>
    <add key="LoadBalancer.UseRedis" value="true"/>
    <add key="LoadBalancer.Redis.ConnectionString" value="<your.redis.cache.windows.net>:6379,password=****"/>
    <add key="LoadBalancer.SignalR.UseRedisScaleout" value="true"/>
    <add key="LoadBalancer.SignalR.RedisScaleout.ConnectionString" value="<your.second.Redis.Server>:6379,password=********"/><add key="LoadBalancer.UseSqlServer" value="false"/>
    <add key="LoadBalancer.UseRedis" value="true"/>
    <add key="LoadBalancer.Redis.ConnectionString" value="<your.redis.cache.windows.net>:6379,password=****"/>
    <add key="LoadBalancer.SignalR.UseRedisScaleout" value="true"/>
    <add key="LoadBalancer.SignalR.RedisScaleout.ConnectionString" value="<your.second.Redis.Server>:6379,password=********"/>
  5. Establece el Max Pool Size en la cadena de conexión de bases de datos de la siguiente manera:
    <add connectionString="Data Source=172.16.100.12;Initial Catalog=UiPath;User ID=admin;Password=*******;Max Pool Size=700" name="Default" providerName="System.Data.SqlClient" /><add connectionString="Data Source=172.16.100.12;Initial Catalog=UiPath;User ID=admin;Password=*******;Max Pool Size=700" name="Default" providerName="System.Data.SqlClient" />
    Nota: Asegúrate de reemplazar los parámetros Data Source, Initial Catalog, Password y User ID con los valores respectivos de tu servicio Azure de Orchestrator. Más detalles aquí.
  6. Establece el tamaño del buffer de Elasticsearch de la siguiente manera:
    <target name="robotElasticBuffer" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="5000"><target name="robotElasticBuffer" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="5000">

Escalar tu implementación

El número de nodos necesarios en tu conjunto de escalado de Orchestrator dependerá del número de UiPath Robots que se implementan:

Nodos del conjunto de escalado de Orchestrator

N.° de UiPath Robots

1

Hasta 40 000

2

Hasta 8000

5

Hasta 24 000

10

Hasta 48 000

Estas implementaciones se han probado utilizando las configuraciones de hardware y software anteriores para demostrar que no hay pérdida de rendimiento con la carga especificada a continuación.

Pruebas de rendimiento

Datos estáticos

Datos estáticos hace referencia a la carga inicial existente de Orchestrator.

Entidad

Un nodo

Dos nodos

Cinco nodos

Diez nodos

Tenants

40

80

240

480

Entornos

2000

4 000

12 000

24 000

Robots

  • Atendido
  • Flotante
  • Desatendido

4 000

  • 1,600
  • 1,600
  • 800

8 000

  • 3,200
  • 3,200
  • 1,600

24 000

  • 9 600
  • 9 600
  • 4800

48 000

  • 19 200
  • 19 200
  • 9 600

Paquetes

8 000

16 000

48 000

96 000

Procesos

4 000

8 000

24 000

48 000

Colas

200

420

1200

2400

Artículos en cola

1.120.000

1 500 000

3 000 000

5 000 000

Activos

40 000

80 000

240 000

480 000

Programaciones

400

800

2400

4800

Datos dinámicos

Los datos dinámicos se refieren a los datos añadidos o cambiados en Orchestrator mientras se ejecutan los procesos.

Entidad

Un nodo

Dos nodos

Cinco nodos

Diez nodos

Elementos de la cola (por día)

112 000

175,000

672 000

1 250 000

Trabajos (por minuto)

2000

4 000

12 000

24 000

Registros (por minuto)

20,000

20,000

20,000

25,000

Descargas NuGet (máximo por minuto)

2000

4 000

12 000

24 000

UiPath Robots conectados (máximo)

4 000

8 000

24 000

48 000

Latidos (por minuto)

10,000

20,000

60,000

120,000

Notificaciones de SignalR (por minuto)

2000

4 000

12 000

24 000

UiPath Robots ocupados

2000

4 000

12 000

24 000

UiPath Robots disponibles

2000

4 000

12 000

24 000

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.