Requisitos do sistema

Os requisitos descritos abaixo são para exclusivo uso do programa de computador denominado Engine. Caso haja necessidade de execução de outros aplicativos ou bases de dados concorrentes, as características deverão ser revistas de modo a comportar a demanda complementar.

Ajustes futuros ao ambiente técnico operacional poderão ser necessários em decorrência de novas funcionalidades desenvolvidas no sistema, aumento do tamanho da base de dados ou aumento do número de usuários.

Requisitos de software

O sistema utiliza compiladores, bibliotecas e frameworks desenvolvidos por terceiros e em geral essas ferramentas eliminam o suporte oficial para versões de sistemas operacionais, navegadores e sistemas gerenciadores de bases de dados que não são mais suportados pelos fornecedores desses softwares. Por esse motivo, é importante que o administrador mantenha os softwares instalados atualizados e migre de versão quando eles chegarem ao final do seu ciclo de vida ou quando for encerrado o suporte convencional e gratuito desse software, garantindo assim o correto funcionamento do sistema.

Para fins de avaliação de compatibilidade com o sistema, serviços de suporte premium ou estendido que prolonguem a utilização de um software ou de uma versão específica não devem ser considerados. Esses serviços são voltados para sistemas legados que não são atualizados, cenário que não se aplica ao Engine, que recebe atualizações frequentes.

Em casos excepcionais, pode ocorrer de uma versão de software ainda suportada pelo seu fornecedor deixar de ser suportada pelo Engine quando for observado que o suporte a essa versão específica impede uma evolução significativa do sistema. Essa prática visa impedir que o sistema deixe de evoluir em razão de softwares que não recebem mais melhorias, apesar de ainda serem oficialmente suportados. Casos como esses serão notificados com antecedência a fim permitir que os usuários do sistema possam atualizar o seu ambiente antes que o sistema se torne incompatível.

Sistemas operacionais

Os requisitos de sistemas operacionais se aplicam apenas aos servidores ou estações onde o Engine será instalado. Nas estações de usuários que apenas utilizam o sistema via navegador web ou no servidor da base de dados, deve ser seguida a recomendação indicada pelo fornecedor desses softwares.

Servidores de aplicação e de borda:

  • Recomendado: Windows Server 2022 ou superior
  • Mínimo: Windows Server 2016

Estações de usuários finais ou de desenvolvedores:

  • Recomendado: Windows 11 ou superior
  • Mínimo: Windows 10 21H1 (64 bits)

Importante: no Windows, o Engine utiliza o componente Universal C Runtime da Microsoft que é distribuído e atualizado via Windows Update. Para o correto funcionamento do Engine, é necessário que sejam aplicadas de forma rotineira as atualizações sugeridas pelo Windows Update.

Requisitos adicionais no Linux

  • GLIBC na versão 2.31 ou superior.
  • As variáveis de ambiente LANG e LC_* devem utilizar um locale com codificação UTF-8.
  • A biblioteca libssl1.1 é requerida na instalação do Engine em estações clientes que acessam o servidor utilizando o protocolo HTTPS. Ela normalmente está disponível nas distribuições Linux em um pacote com o mesmo nome.

As interfaces web do sistema suportam os seguintes navegadores:

Os navegadores relacionados acima são atualizados de forma automática pelo seus fornecedores e sempre devem ser utilizados em sua última versão estável.

Outros navegadores que implementem as especificações definidas pelo W3C possivelmente são compatíveis com o sistema, no entanto, eles não tem suporte oficial por não serem verificados nos processos de homologação e testes do sistema.

Sistemas gerenciadores de bases de dados

Atualmente são suportados os seguintes sistemas gerenciadores de base de dados (SGBD):

Detalhes da configuração desses SGBDs no sistema podem ser obtidos no manual Banco de dados.

Recomendações de hardware e software

As recomendações a seguir foram elaboradas considerando o perfil médio das empresas que atualmente utilizam o sistema, com volume de dados cadastrais distribuídos no cache local do Engine inferior a 2 GB e presumindo que cada Engine servidor atenda até 25 sessões de usuários simultâneas.

Essas recomendações podem variar de acordo com a natureza e porte da empresa. Elas devem ser ajustadas de acordo com o crescimento de utilização da base de dados, dos usuários e pela retenção de dados históricos, sendo necessário revisá-las periodicamente. Por esse motivo, é recomendado o uso de serviços de hospedagem ou virtualização que permitam a readequação ágil e dinâmica dessas configurações, possibilitando até que elas sejam reduzidas durante a implantação do sistema e sejam gradualmente incrementadas até o uso pleno do sistema.

O uso de rede do sistema é reduzido devido à distribuição de processamento via Engines de borda, com a replicação parcial da base de dados. No entanto, nos eventuais cenários de reconstrução desses caches, de vários Engines simultaneamente, é requerida uma largura de banda superior dos servidores do que a observada no uso cotidiano do sistema. Por esse motivo, deve ser dada preferência aos serviços de hospedagem de nuvem que tarifam pela quantidade de dados trafegados em vez da largura de banda contratada. Essa forma de tarifação também atende melhor o perfil de uso do sistema, mais intenso durante o horário comercial.

Servidor da base de dados

É a máquina onde deve ser instalada exclusivamente a base de dados de produção com todas as informações do sistema. Também deve existir um outro servidor semelhante para suportar as bases de dados de desenvolvimento, homologação, manutenção e treinamento, garantindo que o uso dessas bases de dados não interfira no desempenho do ambiente de produção. Recomendação:

  • Sistema operacional: Linux
  • Disco: 1 TB SSD de alta performance ou superior
  • Memória RAM: 64 GB ECC ou superior
  • Processador: Intel Xeon ou AMD EPYC, de 16 núcleos, ou superior
  • Rede: conexão gigabit ethernet ou superior com os servidores de aplicação

É recomendado o uso do Linux em todos os servidores de SGBDs. O Windows Server também é uma opção adequada caso seja utilizado o Microsoft SQL Server.

Bases de produção que utilizem o Oracle ou o Microsoft SQL Server e necessitem operar 24x7 devem utilizar a edição Enterprise para que a manutenção dos índices possa ser realizada sem o bloqueio das tabelas do sistema. Essa observação não se aplica ao PostgreSQL, pois ele possui essa capacidade sem distinção de edição.

A utilização de disco pelo SGBD tem relação direta com o volume de dados criados pelas operações do sistema, podendo variar de forma significativa de acordo com o porte da empresa e pelas regras de negócio. A retenção de log transacional também influencia o tamanho da base de dados, não sendo recomendada uma retenção de log superior a 2 anos. Dada a dinamicidade do uso do sistema, a evolução do consumo do espaço em disco precisa ser monitorada de forma constante pelo DBA responsável pela base de dados.

O uso da memória do servidor pelo SGBD normalmente não é uma configuração automática e deve ser configurada pelo DBA responsável pela base de dados a fim de que os recursos do servidor sejam devidamente utilizados. A reserva de memória para cache de dados influencia significativamente o desempenho das consultas do sistema e deve ser maximizada.

Servidor de aplicação

São as máquinas onde devem estar instalados os Engines que farão o acesso ao SGBD e executarão programas de computador solicitados por outros Engines. Devem estar ligados ao SGBD através de de uma rede de alta velocidade como gigabit ethernet ou superior. Recomendação:

  • Sistema operacional: Windows Server 2022 ou superior
  • Disco: 200 GB SSD ou superior
  • Memória RAM: 64 GB ECC ou superior
  • Processador: Intel Xeon ou AMD EPYC, de 8 núcleos, ou superior
  • Rede: conexão dedicada e simétrica de 100 Mbps ou superior

Deve ser evitado o uso do servidor de aplicação diretamente pelos usuários finais, sendo recomendado o uso de servidores de borda para distribuir o processamento e para reduzir a latência entre o navegador web do usuário final e o Engine.

Para cada servidor de aplicação, é recomendado que a quantidade máxima de sessões de usuários atendidas pelos Engines conectados a ele, direta ou indiretamente, não seja superior a 150 (cento e cinquenta). Também é recomendando que a quantidade máxima de sessões de usuários HTTP diretamente atendidas por um Engine servidor de aplicação não seja superior a 25 (vinte e cinco).

Vários Engines configurados como servidor de aplicação podem ser executados paralelamente sob uma estrutura de balanceamento de carga. No entanto, é importante observar que não há compartilhamento das conexões com o SGBD entre eles e cada Engine configurado como servidor de aplicação criará um pool de conexões próprio. Por esse motivo, é recomendado que para fins de distribuição de carga seja dada preferência ao uso de servidores de borda e a configuração de múltiplos servidores de aplicação seja utilizada apenas como estratégia de redundância e de alta disponibilidade. Para cada Engine adicional instalado em um servidor de aplicação, deve ser considerado um incremento de 8 GB de RAM e 50 GB de disco nas recomendações acima.

Servidor de borda

São as máquinas onde devem estar instalados os Engines que produzirão as páginas HTTP dinâmicas para outras máquinas que estejam utilizando navegadores web e que farão acesso a um servidor de aplicação Engine utilizando o protocolo de comunicação entre Engines. Recomendação:

  • Sistema operacional: Windows Server 2022 ou superior
  • Disco: 200 GB SSD ou superior
  • Memória RAM: 32 GB ECC ou superior
  • Processador: Intel Xeon ou AMD EPYC, de 8 núcleos, ou superior
  • Rede: conexão dedicada e simétrica de 50 Mbps ou superior, com latência de conexão inferior a 100 ms com os servidores de aplicação

A principal diferença entre um Engine atuando como servidor de aplicação e um de borda é o acesso ao SGBD. O Engine configurado como servidor de aplicação acessa o SGBD diretamente por meio de uma biblioteca cliente nativa fornecida pelo SGBD, enquanto um Engine de borda faz esse acesso indiretamente, solicitando os dados ao servidor de aplicação utilizando um protocolo de comunicação entre Engines. Enquanto os servidores de aplicação precisam estar conectados ao SGBD por meio de uma rede privada de alta velocidade, seja por questões de desempenho ou de segurança, os servidores de borda são mais flexíveis e podem ser instalados na nuvem, na sede da empresa, em suas filiais ou em outras unidades de negócio, podendo ser conectados ao servidor de aplicação utilizando links de Internet convencional.

É recomendável que a quantidade máxima de sessões de usuários HTTP não seja superior a 25 (vinte e cinco) por Engine. Caso necessário, podem ser instalados vários Engines em um mesmo servidor e para cada Engine adicional deve ser considerado um incremento de 8 GB de RAM e 50 GB de disco nas recomendações acima. Esses Engines podem ser configurados sob uma estrutura de balanceamento de carga, permitindo que os usuários acessem o sistema por meio de um endereço único.

Estações de usuários com o Engine instalado

São as máquinas que devem ser utilizadas para operação do sistema através de um servidor HTTP (web server) local, executado na própria máquina. A instalação do Engine é requerida para o uso da IDE embarcada e em estações que necessitem comunicação com dispositivos locais, como balanças, pin pads, impressoras ou quando for necessário que o Engine tenha acesso aos arquivos locais do sistema operacional. Recomendação:

  • Sistema operacional: Windows 11 ou superior
  • Disco: 120 GB SSD ou superior
  • Memória RAM: 8 GB ou superior
  • Processador: Intel Core i5 ou AMD Ryzen 5, de 4 núcleos, ou superior
  • Rede: conexão assimétrica de 20 Mbps ou superior, com latência de conexão inferior a 100 ms com os servidores de aplicação

As máquinas utilizadas por usuários que utilizem mais de uma base de dados, como os desenvolvedores e os administradores do sistema, devem considerar um incremento de 30 GB em disco e 4GB de memória RAM por base de dados adicional. Aquelas utilizadas por desenvolvedores que necessitem testar o sistema em múltiplos sistemas operacionais por meio de ferramentas de virtualização devem ter ao menos 16 GB de memória RAM e 400 GB de disco SSD e, para esse perfil, também é recomendado o uso Intel Core i7 ou AMD Ryzen 7, de 8 núcleos, ou superior.

Estações de usuários sem o Engine instalado (apenas navegador web)

São as máquinas que devem ser utilizadas normalmente para operação do sistema, acessando os servidores Engine a partir de um navegador web. Recomendação:

  • Sistema operacional: Windows 11, Ubuntu 22.04 LTS, macOS Big Sur ou superior
  • Disco: 60 GB HDD ou superior
  • Memória RAM: 8 GB ou superior
  • Processador: Intel Core i3 ou AMD Ryzen 3, de 4 núcleos, ou superior
  • Rede: conexão assimétrica de 5 Mbps ou superior, com latência de conexão inferior a 100 ms com os servidores de aplicação ou de borda

Ciclo de vida dos softwares de terceiro

Alguns dos softwares utilizados pelo sistema praticam o conceito de versões de suporte de longo prazo (LTS). Essas versões são preferíveis por terem um ciclo de vida maior, diminuindo o esforço de atualização do ambiente. Em novas instalações, deve ser dada preferência às últimas versões desses softwares, pois além de terem um tempo de vida maior, elas normalmente possuem mais recursos e melhor desempenho.

Abaixo segue a documentação da política de ciclo de vida e liberações dos softwares de terceiros relacionados ao sistema: