- Primeros pasos
- Requisitos
- Requisitos de hardware
- Requisitos de software
- Mejores prácticas
- Instalación
- Actualizando
- Servidor de identidad
- Complemento de alta disponibilidad
- Solución de problemas de errores de inicio
Requisitos de hardware
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). Dependiendo de la opción de implementación de tu elección y del tamaño de tu entorno que quieres compilar, deberás consultar los diferentes requisitos de hardware.
Este capítulo te brinda información sobre los requisitos de hardware específicos de algunos de estos escenarios.
Los requisitos de hardware difieren de tu entorno de desarrollo al entorno de producción. Aunque se pueden utilizar los mismos requisitos de hardware que para tu entorno de producción con fines de prueba y de desarrollo, esto implicaría unos costes más elevados e innecesarios, especialmente en implementaciones a gran escala.
Estos requisitos suponen que se ejecutan simultáneamente un máximo de 100 UiPath Robots no atendidos. Puedes utilizar dos equipos; uno para Orchestrator y (opcionalmente) Elasticsearch, y otro para SQL Server, configurado de la siguiente manera:
Servidor de aplicaciones web
Núcleos de la CPU (>2 GHz) |
RAM (GB) |
HDD (GB) |
---|---|---|
4 |
4 |
150 |
Servidor SQL
Núcleos de la CPU (>2 GHz) |
RAM (GB) |
HDD (GB) |
---|---|---|
4 |
8 |
300 |
Para entornos de producción, se recomienda encarecidamente que se facilite un servidor dedicado para cada rol:
- Aplicación web de Orchestrator.
- Motor de la base de datos de SQL Server.
- Elasticsearch y Kibana.
Para una instalación multinodo, además de lo anterior, se necesita lo siguiente:
- High Availability Add-on (HAA) para Orchestrator (3+ nodos HAA son necesarios para una auténtica disponibilidad alta y 6+ nodos HAA para la redundancia geográfica.
Nota:
Las implementaciones multinodo de Orchestrator utilizan el RESP (REdis Serialization Protocol) para las comunicaciones y, por tanto, se puede configurar utilizando cualquier solución que se base en este protocolo.
HAA es la única solución de este tipo compatible con UiPath.
La configuración del hardware para cada servidor necesario dependerá del tamaño de tu implementación, como se muestra a continuación. Los requisitos de hardware que se muestran aquí se han tomado en función de las pruebas en las que se definió un UiPath Robot de la siguiente manera:
- los mensajes se envían desde el UiPath Robot a Orchestrator con una frecuencia de 1 mensaje por segundo
- en 60 segundos, el UiPath Robot envía:
- 15 registros de mensajes
- 2 latidos
- 6 solicitudes de información tipo GET
- 6 solicitudes de añadir elemento en la cola
- 6 solicitudes de elementos de cola tipo GET
Compatibilidad con hasta 250 UiPath Robots desatendidos
Servidor de aplicaciones web
Número De Robots |
Núcleos de la CPU (mínimo 2 GHz) |
RAM (GB) |
HDD (GB) |
---|---|---|---|
<20 |
4 |
4 |
100 |
<50 |
4 |
4 |
100 |
<100 |
4 |
4 |
150 |
<200 |
4 |
4 |
200 |
<250 |
4 |
4 |
200 |
UiPath.Orchestrator.dll.config
. Para ello, añade el parámetro Max Pool Size=500
a la cadena de conexión, de forma que sea similar a este ejemplo:
<add name="Default" providerName="System.Data.SqlClient" connectionString="Server=SQL4142;Integrated Security=True;Database=UiPath;Max
Pool Size=500;" />
Servidor SQL
Número De Robots |
Núcleos de la CPU (mínimo 2 GHz) |
RAM (GB) |
HDD (GB) |
---|---|---|---|
<20 |
4 |
8 |
100 |
<50 |
4 |
8 |
200 |
<100 |
4 |
8 |
300 |
<200 |
8 |
8 |
SSD 400 |
<250 |
8 |
16 |
SSD 400 |
Los requisitos de espacio en disco dependen en gran medida de lo siguiente:
- Si se utilizan colas de trabajo o no. Si se utilizan colas de trabajo, dependerá del número medio de transacciones añadidas diariamente/semanalmente y del tamaño (número de campos, tamaño de cada campo) de cada transacción.
- El periodo de retención para los elementos de la cola procesados correctamente (el cliente debe implementar su propia directiva de retención).
- Si los mensajes registrados por los UiPath Robots se almacenan o no en la base de datos. Si se almacenan, se puede aplicar un filtro para almacenar solo en los niveles específicos de los mensajes de la BD (por ejemplo, almacenar en la BD los mensajes con el nivel de registro Error y Crucial; y almacenar los mensajes de Elasticsearch con el nivel de registro Información, Advertencia y Seguimiento).
- Frecuencia de los mensajes de registro: el desarrollador de UiPath Robot utiliza la actividad Registrar mensaje a su antojo, siempre que considere que un mensaje debe registrarse.
- El periodo de retención para los mensajes antiguos registrados (el cliente debe implementar su propia directiva de retención).
- Valor del nivel de registro establecido en el UiPath Robot. Por ejemplo, si el nivel de registro en el UiPath Robot está establecido en Información, solo se enviarán los mensajes con los niveles Información, Advertencia, Error y Crucial a Orchestrator; mientras que los mensajes con los niveles Depurar, Seguimiento y Detallado no llegarán a Orchestrator.
Servidor Elasticsearch
Número De Robots |
Núcleos de la CPU (mínimo 2 GHz) |
RAM (GB) |
HDD (GB) |
---|---|---|---|
<20 |
4 |
4 |
100 |
<50 |
4 |
4 |
100 |
<100 |
4 |
8 |
150 |
<200 |
4 |
12 |
200 |
<250 |
4 |
12 |
300 |
Los requisitos de espacio en disco dependen de lo siguiente:
- El periodo de retención (el cliente debe implementar su propia directiva de retención).
- Frecuencia de los mensajes de registro: el desarrollador de UiPath Robot utiliza la actividad Registrar mensaje a su antojo, siempre que considere que un mensaje debe registrarse.
- Valor del nivel de registro establecido en el UiPath Robot. Por ejemplo, si el nivel de registro en el UiPath Robot está establecido en Información, solo se enviarán los mensajes con los niveles Información, Advertencia, Error y Crucial a Orchestrator; mientras que los mensajes con los niveles Depurar, Seguimiento y Detallado no llegarán a Orchestrator.
Nota: Para más de 50 UiPath Robots, debes instruir la máquina virtual de Java utilizada por Elasticsearch para que utilice el 50% de la RAM disponible, estableciendo los argumentos
-Xms
y-Xmx
a la mitad de la cantidad total de memoria. Esta acción se lleva a cabo mediante la variable de entornoES_JAVA_OPTS
o modificando el archivojvm.options
.
Admite entre 250 y 500 UiPath Robots desatendidos
Servidor de aplicaciones web
Número De Robots |
Núcleos de la CPU (mínimo 2 GHz) |
RAM (GB) |
HDD (GB) |
---|---|---|---|
<300 |
8 |
8 |
200 |
<400 |
8 |
8 |
220 |
<500 |
16 |
16 |
250 |
Servidor SQL
Número De Robots |
Núcleos de la CPU (mínimo 2 GHz) |
RAM (GB) |
HDD (GB) |
---|---|---|---|
<300 |
16 |
32 |
SSD 400 |
<400 |
16 |
32 |
SSD 500 |
<500 |
16 |
32 |
SSD 600 |
Para más de 300 UiPath Robots, plantéate no almacenar todos los mensajes registrados en la base de datos de SQL Server. Almacena en la BD solo los mensajes con el nivel de registro Error y Crucial. Almacena todos los mensajes (incluidos los de Error y Crucial) en Elasticsearch.
Servidor Elasticsearch
Número De Robots |
Núcleos de la CPU (mínimo 2 GHz) |
RAM (GB) |
HDD (GB) |
---|---|---|---|
<300 |
4 |
12 |
300 |
<400 |
4 |
16 |
500 |
<500 |
4 |
16 |
600 |
La siguiente sección es un ejemplo de una implementación grande y escalable que utiliza las ofertas de infraestructura de Azure como servicio (IaaS) de Azure. Se utilizó esta configuración:
- Conjunto de disponibilidad de VM para Orchestator
- Conjunto de disponibilidad de VM para Elasticsearch
- Máquina virtual de Windows Server SQL
- Azure Load Balancer
- High Availability add-on (HAA)
- Servicio DNS distribuido (como Cloudflare)
Arquitectura
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) |
Disco |
---|---|---|---|
1-2 |
8 |
16 |
1 TB: disco ultra SSD para la base de datos, tempDB, y el registro transaccional |
5 |
16 |
32 |
1 TB: disco ultra SSD para la base de datos 1 TB: disco ultra SSD para tempDB 1 TB: disco ultra SSD para el registro transaccional |
10 |
32 |
64 |
1 TB: disco ultra SSD para la base de datos 1 TB: disco ultra SSD para tempDB 1 TB: disco ultra SSD para el registro transaccional |
15 |
40 |
96 |
1 TB: disco ultra SSD para la base de datos 1 TB: disco ultra SSD para tempDB 1 TB: disco ultra SSD para el registro transaccional |
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
Las versiones antes mencionadas son las utilizadas para las implementaciones y las cargas de prueba de rendimiento descritas.
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.
Complemento de alta disponibilidad
-
High Availability Add-on (HAA) para Orchestrator (3+ nodos HAA son necesarios para una auténtica disponibilidad alta y 6+ nodos HAA para la redundancia geográfica.
Importante:Las implementaciones multinodo de Orchestrator utilizan el RESP (protocolo de serialización de REdis) para las comunicaciones y, por ello, se puede configurar utilizando cualquier solución que implemente este protocolo.
UiPath solo es compatible con las implementaciones de alta disponibilidad de Orchestrator si se utiliza el UiPath High Availability Add-on.
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 6000 |
2 |
Hasta 14 000 |
5 |
Hasta 80 000 |
10 |
Hasta 200 000 |
15 |
Hasta 300 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
Los datos que se muestran en las siguientes 2 tablas son representativos de una implementación atendida.
Datos estáticos
Los datos estáticos hacen referencia a la carga inicial de Orchestrator.
Entidad |
Un nodo |
Dos nodos |
Cinco nodos |
Diez nodos |
15 nodos |
---|---|---|---|---|---|
Tenants |
1 |
1 |
1 |
1 |
1 |
Carpetas |
1 |
2 |
4 |
4 |
6 |
Robots |
6000 |
14 000 |
80 000 |
200 000 |
300 000 |
Paquetes |
8 000 |
16 000 |
48 000 |
48 000 |
48 000 |
Procesos |
4 000 |
8 000 |
24 000 |
24 000 |
24 000 |
Colas |
600 |
1200 |
1800 |
2400 |
3000 |
Artículos en cola |
1.120.000 |
1 500 000 |
3 000 000 |
5 000 000 |
7 000 000 |
Activos |
500 |
1000 |
1500 |
3000 |
4500 |
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 |
15 nodos |
---|---|---|---|---|---|
Elementos de la cola (por día) |
300 000 |
600 000 |
4 000 000 |
9 000 000 |
10 500 000 |
Trabajos (por minuto) |
700 |
1500 |
3000 |
6000 |
7500 |
Registros (por minuto) |
20,000 |
50 000 |
300 000 |
600 000 |
800 000 |
Descargas NuGet (máximo por minuto) |
1000 |
3000 |
10,000 |
14 000 |
18 000 |
UiPath Robots conectados (máximo) |
6000 |
14 000 |
80 000 |
200 000 |
300 000 |
Latidos (por minuto) |
12 000 |
28 000 |
160 000 |
400 000 |
600 000 |
UiPath Robots ocupados |
3000 |
7000 |
40 000 |
100 000 |
150 000 |
UiPath Robots disponibles |
3000 |
7000 |
40 000 |
100 000 |
150 000 |
Las siguientes secciones te dan información sobre las capacidades de una implementación de PaaS en cuanto a su rendimiento.
Arquitectura
Los siguientes requisitos son necesarios:
-
Orchestrator:
- Plan de Orchestrator App Service: 20 instancias P3V2
- Azure SQL Server: Premium P15: 4000 DTU
- Caché de Azure Redis P2 Premium 13 GB
-
Identity Server:
- Plan de Identity Server App Service: 2 instancias P3V2
- Azure SQL Server: Standard S7: 800 DTU
-
Elasticsearch:
Pruebas de rendimiento
Los datos que se muestran en las siguientes tablas son representativos de una implementación atendida.
Datos estáticos
Los datos estáticos hacen referencia a la carga inicial de Orchestrator.
Entidad |
Un nodo |
---|---|
Tenants |
1 |
Carpetas |
8 000 |
Robots |
80 000 |
Paquetes |
8 000 |
Procesos |
8 000 |
Colas |
8 000 |
Artículos en cola |
2 000 000 |
Activos |
8 000 |
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 |
---|---|
Elementos de la cola (por día) |
5 000 000 |
Trabajos (por minuto) |
2600 |
Registros (por minuto) |
240 000 |
Descargas NuGet (máximo por minuto) |
2000 |
UiPath Robots conectados (máximo) |
80 000 |
Latidos (por minuto) |
160 000 |
UiPath Robots ocupados |
40 000 |
UiPath Robots disponibles |
40 000 |
Puerto |
Descripción |
---|---|
443 | Puerto predeterminado para la comunicación entre usuarios y Orchestrator con los UiPath Robots conectados. |
1433 | Puerto predeterminado para la comunicación entre Orchestrator y el equipo SQL Server. |
9200 | Comunicación entre Orchestrator y Elasticsearch. |
9300 | Comunicación entre nodos de Elasticsearch, si corresponde. |
5601 | Puerto predeterminado utilizado por el complemento Kibana, si corresponde. |
3389 | Requerido para la automatización RDP, necesario para UiPath Robots de alta densidad. |
También puedes comprobar los requisitos de hardware para Studio y UiPath Robots.