Pular para o conteúdo principal

Arquitetura de Hardware

O E-Docs possui uma arquitetura de hardware robusta, composta por vários servidores e serviços que trabalham juntos para garantir o funcionamento do sistema. A seguir, descreveremos os principais componentes da arquitetura de hardware do E-Docs.

Servidores WEB/API​

Atualmente, são compostos por quatro servidores Windows Server com IIS. Estes servidores são responsáveis por sustentar as aplicações WEB, API e DevArea do E-Docs. Cada servidor possui uma instância do E-Docs instalada para cada serviço, com as aplicações WEB e API configuradas para atender as requisições dos usuários e sistemas integrados, respectivamente.
Há um dimensionamento para atender a demanda média do sistema com apenas duas instâncias, com o ambiente completo servindo de escalabilidade horizontal e, também, para permitir atualizações online sem impacto para os usuários.

Servidores Background​

Atualmente, são compostos por três servidores Windows Server com IIS. Estes servidores são responsáveis por sustentar as aplicações Background do E-Docs. Cada servidor possui uma instância do E-Docs instalada para cada serviço, sendo eles atualmente:

  • BackgroundJobs
  • ProcessJobs
  • API de Certificado
  • API de PDF

Cluster Kubernetes​

Para permitir a execução de aplicações em containers, o E-Docs utiliza um cluster Kubernetes RedHat Openshift, composto por vários nós que executam os containers das aplicações. Este cluster é responsável por garantir a escalabilidade e disponibilidade das aplicações, permitindo que novas instâncias sejam criadas automaticamente em caso de falhas ou aumento de demanda.
Atualmente, as seguintes aplicações executam em containers no cluster Kubernetes:

  • API Negócio Query
  • API Agente Query
  • API Elastic Query
  • API Notificações Composer
  • API Negócio Base
  • API Classificação Query
  • API de Document Models
  • Redis (cache distribuído)

Para os próximos anos, a ideia é migrar todas as aplicações para containers, permitindo uma maior flexibilidade e escalabilidade do sistema, bem como padronizando o ambiente operacional do PRODEST.

Banco de Dados​

O E-Docs utiliza um banco de dados SQL Server para armazenar os dados transacionais do sistema. O banco de dados é responsável por armazenar informações sobre processos, documentos, agentes, grupos, entre outros. O banco de dados é replicado no formato AlwaysOn para garantir a disponibilidade e integridade dos dados, além de permitir a recuperação em caso de falhas.
Como evolução da arquitetura, estamos trabalhando a segregação do banco de dados para atendimento de especificidades de cada aplicação, de forma a separar os dados do negócio principal dos dados auxiliares, estes utilizados como estratégia de cache persistente, funções administrativas e outras tarefas auxiliares.

ElasticSearch​

O E-Docs utiliza o ElasticSearch para armazenar dados não transacionais, como caixas de documentos, processos, encaminhamentos, entre outros. O ElasticSearch é responsável por armazenar e indexar os dados de forma a permitir consultas rápidas e eficientes, garantindo que as informações sejam acessadas de forma rápida e consistente.
Atualmente, utilizamos um cluster de sete nós para garantir a disponibilidade e escalabilidade do ElasticSearch, com a replicação dos dados para garantir a integridade e recuperação em caso de falhas. Para os próximos anos, temos planos para migrar para a versão mais recente do ElasticSearch, revisando a arquitetura atual e aproveitando as novas funcionalidades e melhorias de desempenho.

MinIO​

O E-Docs utiliza o MinIO para armazenar arquivos e documentos de forma distribuída e escalável. O MinIO é responsável por armazenar os arquivos de forma segura e eficiente, garantindo que os documentos sejam acessados de forma rápida e consistente. Atualmente, utilizamos um cluster para garantir a disponibilidade e escalabilidade do MinIO, com a replicação dos dados para garantir a integridade e recuperação em caso de falhas.