Orchestrator
2020.10
falso
Imagem de fundo do banner
Fora do período de suporte
Guia de instalação do Orchestrator
Última atualização 12 de dez de 2023

Implantação na nuvem

Há várias opções de implantação de nuvem empresarial disponíveis para hospedar seu Orchestrator, como a Amazon Web Services (AWS), Microsoft Azure ou Google Cloud Platform (GCP). Aqui detalhamos uma implantação grande e escalonável usando as ofertas do Azure Infraestrutura como Serviço (IaaS). Os seguintes serviços são necessários:

Arquitetura

Observação:

Os exemplos de arquitetura abaixo contêm componentes opcionais e/ou diferentes (por exemplo, CyberArk, Suplemento de Alta Disponibilidade da UiPath).

O Jumpbox apresentado não é necessário, mas é uma prática recomendada para seus ambientes de produção, fornecendo isolamento e segurança.

Arquitetura de nó único



Arquitetura de vários nós



Requisitos de Hardware

Esta seção descreve as configurações de hardware usadas para os testes de desempenho listados em Escalando sua Implantação, abaixo.

Nós do Orchestrator

Cada nó do Orchestrator deve ser configurado da seguinte maneira:

VCPUs

RAM (GB)

SSD (GB)

16

32

128

SQL Server

As especificações da máquina virtual do SQL Server devem ser escaladas de acordo com o número de nós do Orchestrator:

Nós do Orchestrator

VCPUs

RAM (GB)

1-2

8

16

5

16

32

10

16

64

Conjunto de Disponibilidade do Elasticsearch

O conjunto de disponibilidade do Elasticsearch é composto de 3 nós mestre e 6 nós de dados, para um total de 9 nós, cada um com as seguintes especificações:

VCPUs

RAM (GB)

OS SSD (GB)

Data SSD (TB)

8

16

128 (com 5000 IOPS e 100 MB/s Throughput)

1 (com 5000 IOPS e 200 MB/s Throughput)

Requisitos de software

Software

Versão

Sistema Operacional

Windows Server 2016

Bancos de dados

SQL Server 2017

Geração de logs

Elasticsearch 6.4.0

As versões listadas acima são aquelas usadas para implantações e cargas de desempenho testadas descritas. Para todas as versões compatíveis com o Orchestrator, consulte aqui.

Balanceamento de carga

Para implantações de vários nós, é recomendável usar dois balanceadores de carga Azure Standard:

  • Um para os servidores do Orchestrator;
  • Um para os servidores Elasticsearch.

Azure Redis Cache

Importante:

As implantações de vários nós do Orchestrator usam o RESP (Protocolo de Serialização REdis) para comunicação e, sendo assim, podem ser configuradas usando qualquer solução que implementa esse protocolo, como o Azure Redis Cache neste exemplo.

As implantações de alta disponibilidade do Orchestrator são suportadas pelo UiPath somente se o complemento UiPath High Availability for usado.

Para implantações de vários nós, é recomendável usar duas instâncias separadas do Redis:

  • Azure Redis Cache Premium com um cache de 6 GB - nó principal usado para estado de sessão e associações entre entidade e usuário;
  • Azure Redis Cache Basic - usado para escalonar o serviço SignalR.

Configuração

Configurações do UiPath.Orchestrator.dll.config

  1. Defina todos os nós do Orchestrator para relatar ao Elasticsearch em vez de seus respectivos Logs de Evento do Windows definindo o parâmetro writeTo no índice serverdiagnostics da seguinte maneira:
    <logger name="*" minlevel="Warn" writeTo="serverElasticBuffer"/><logger name="*" minlevel="Warn" writeTo="serverElasticBuffer"/>
  2. Habilitar o agrupamento de trabalhos do Quartz da seguinte maneira:
    <add key="quartz.jobStore.clustered" value="true" /><add key="quartz.jobStore.clustered" value="true" />
  3. Na seção Implantação, configure o repositório NuGet da seguinte maneira:
    <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. Na seção Balanceamento de Carga, configure as instâncias do Redis da seguinte maneira, certificando-se de substituir a string de conexão e a senha pelos seus respectivos valores:
    <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. Defina o Max Pool Size na string de conexão do banco de dados da seguinte maneira:
    <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" />
    Observação: Certifique-se de substituir os Parâmetros Data Source, Initial Catalog, User ID, e Password pelos valores respectivos do seu serviço Orchestrator Azure. Consulte aqui para mais detalhes.
  6. Defina o tamanho de buffer do Elasticsearch da seguinte maneira:
    <target name="robotElasticBuffer" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="5000"><target name="robotElasticBuffer" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="5000">

Escalando sua Implantação

O número de nós necessários no seu conjunto de escala do Orchestrator depende do número de Robôs que estão sendo implantados:

Nós do Conjunto de Escala do Orchestrator

Núm. de Robôs

1

até 4.000

2

até 8.000

5

até 24.000

10

até 48.000

Essas implantações foram testadas usando as configurações de hardware e software acima para exibir nenhuma perda de desempenho sob a carga especificada abaixo.

Teste de desempenho

Dados estáticos

Dados estáticos se referem à carga inicial existente do Orchestrator.

Entidade

Um nó

Dois nós

Cinco nós

Dez nós

Tenants

40

80

240

480

Ambientes

2.000

4.000

12.000

24.000

Robôs

  • Assistido
  • Flutuante
  • Não Assistido

4.000

  • 1,600
  • 1,600
  • 800

8.000

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

24.000

  • 9.600
  • 9.600
  • 4.800

48.000

  • 19.200
  • 19.200
  • 9.600

Pacotes

8.000

16.000

48.000

96.000

Processos

4.000

8.000

24.000

48.000

Filas

200

420

1.200

2.400

Itens de Fila

1.120.000

1.500.000

3.000.000

5.000.000

Ativos

40.000

80.000

240.000

480.000

Agendamentos

400

800

2.400

4.800

Dados dinâmicos

Os dados dinâmicos se referem aos dados adicionados ou alterados no Orchestrator, pois os processos são executados.

Entidade

Um nó

Dois nós

Cinco nós

Dez nós

Itens de fila (por dia)

112.000

175,000

672.000

1.250.000

Trabalhos (por minuto)

2.000

4.000

12.000

24.000

Logs (por minuto)

20,000

20,000

20,000

25,000

Downloads do Nuget (máximo por minuto)

2.000

4.000

12.000

24.000

Robôs conectados (máximo)

4.000

8.000

24.000

48.000

Pulsação (por minuto)

10,000

20,000

60,000

120,000

Notificações SignalR (por minuto)

2.000

4.000

12.000

24.000

Robôs ocupados

2.000

4.000

12.000

24.000

Robôs disponíveis

2.000

4.000

12.000

24.000

Was this page helpful?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.