O blog da AWS

PJe da Justiça do Trabalho na Nuvem AWS

Por Allyson Oliveira, arquiteto de soluções da AWS;

 Uanderson Sigler Gomes, analista judiciário do TRT da 17ª Região e;

Johnathan Marques Silveira Carioca é analista judiciário e Secretário de Tecnologia da Informação e Comunicações do TRT da 17ª Região

Visão Geral

A tramitação de processos na Justiça do Trabalho ocorre plenamente em meio digital. O PJe é o Sistema de Processo Eletrônico da Justiça do Trabalho e sua abrangência é de âmbito nacional, sendo que todos os Tribunais Regionais do Trabalho e o Tribunal Superior do Trabalho utilizam esse sistema.

O PJe da Justiça do Trabalho nasceu a partir do PJe desenvolvido pelo CNJ (Conselho Nacional da Justiça). Em função de requisitos próprios, o sistema passou por evoluções técnicas, tanto do ponto de vista de aplicação quanto de infraestrutura.  Nessa evolução, o PJe passou de uma arquitetura monolítica para uma arquitetura de microserviços, utilizando tecnologias de container, principalmente o Kubernetes.

Depois de bem consolidado, um novo passo foi dado. O PJe da Justiça do Trabalho foi migrado para a Nuvem AWS. Este artigo tem como objetivo apresentar as mudanças da arquitetura On Premise do PJe para uma arquitetura Cloud, abrangendo as melhorias que essas mudanças trouxeram.

Arquitetura On Premise

Na arquitetura do PJe On Premise padrão, existe uma rede pública e duas redes privadas. A rede pública possui o firewall e IPs roteáveis na internet. As redes privadas foram divididas da seguinte maneira: Uma de aplicação e a outra para os dados. A rede da aplicação possui nodes workers e o control plane do Kubernetes, além do MetalLB, que é um load balancer do Kubernetes que rodam em bare metal. Nessa rede também estão os pods com IPs virtuais fornecidos pelo MetalLB. A outra rede privada é a rede de banco de dados, ondem ficam os recursos de dados segregados de outros ambientes, que é visível somente dentro do cluster. Abaixo está o desenho da topologia.

Após a tomada de decisão para migrarmos para a nuvem, como seria a nova arquitetura? A nova topologia ficou assim:

Na nuvem AWS, falando sobre a infraestrutura global que a nuvem possui, existe o conceito de , que é um local físico no mundo onde agrupamos datacenters. Chamamos cada grupo de datacenters lógicos de zona de disponibilidade (AZ – sigla em inglês para Availability Zone). Cada região da AWS consiste no mínimo em três AZs isoladas e separadas fisicamente em uma área geográfica.

Uma zona de disponibilidade (AZ) é um ou mais datacenters distintos com energia, rede e conectividade redundantes em uma região da AWS. As AZs proporcionam aos clientes a capacidade de operar diversas workloads com alta disponibilidade, tolerância a falhas e escalabilidade em níveis superiores aos que um único datacenter pode oferecer. Todas as AZs em uma região da AWS estão interconectadas por redes de alta largura de banda e baixa latência, usando fibras metropolitanas dedicadas e totalmente redundantes, sendo que todo o tráfego entre as AZs é criptografado.

Para aproveitar as vantagens trazidas pelas Zonas de Disponibilidade, a arquitetura do PJe foi dividida em 3 AZs. Cada AZ possui uma rede pública e 3 redes privadas.  Nas redes públicas estará o Application Load Balancer, o qual será explicado mais adiante. Em cada AZ haverá uma rede privada para os nodes do PJe, uma rede privada dos pods e uma rede privada para bancos de dados.

Na arquitetura On Premise há a figura do firewall na rede pública para proteger as conexões de entrada do PJe. Na nuvem AWS há o WAF/Shield que atua em uma camada fora da VPC, ou seja, não utiliza a rede pública do PJe. O AWS Shield é o serviço de proteção a ataque de DDoS (negação de serviço distribuído) e o AWS WAF, que atua protegendo o Application Load Balance (ALB) o qual é o responsável por receber as requisições web e encaminhar estas para o PJe, que é executado nos pods no Amazon  EKS. O Amazon EKS é um serviço gerenciado do Kubernetes da AWS, ele gerencia automaticamente a disponibilidade e a escalabilidade dos nós de controle do Kubernetes, que são responsáveis por controlar contêineres, gerenciar a disponibilidade das aplicações, armazenar dados do cluster entre outras funções.

Melhorias Trazidas pela Nuvem ao PJe da Justiça do Trabalho

Na maioria dos Tribunais, a arquitetura On Premise possui redundância em nível de equipamentos de rede, servidores (nodes), acesso à Internet e armazenamento de dados.  Também possuem, em sua maioria, um datacenter para hospedar os serviços incluindo redundância elétrica e climatização adequada.

No entanto, apesar da evolução já alcançada, é possível avançar na segurança e resiliência dos serviços.  Um datacenter único não isenta um Tribunal de sofrer indisponibilidades em situações que afetem a localidade ou até mesmo o próprio datacenter.  Além disso, o acesso à Internet, apesar de possuir redundância de operadoras, também depende da infraestrutura local, se houver um problema nessa infraestrutura, o PJe ficará indisponível.

Com a migração para a nuvem, o PJe não depende de apenas um datacenter ou apenas uma localidade.  Para ambos os casos, há redundância.  Dessa forma, a resiliência e a disponibilidade crescem substancialmente ao passo que o PJe está espalhado por diversos datacenters em diversas localidades.

Além da melhoria em nível de datacenter, a arquitetura em nuvem traz novas proteções ao PJe.  Antes de chegar ao sistema, as conexões passam por várias camadas de segurança, como por exemplo os serviços gerenciados AWS Shield, AWS WAF, Amazon CloudFront e Amazon Route 53.  Como acréscimo a essa solução de segurança, temos o fato de que as conexões não chegam diretamente no PJe, elas são fechadas com o Application Load Balancer e este distribui a carga para o PJe.  Dessa forma, somente conexões “filtradas” chegam ao PJe, trazendo com isso um menor consumo de recursos de Tecnologia da Informação.

Outra melhoria são os serviços gerenciados de banco de dados, o Amazon RDS. Configurados como Multi AZ, os serviços possuem redundância automática no caso de falhas da instância principal.  No ambiente on premise, não existe o failover automatizado, que é quando uma cópia assume em caso de falha do nó principal.  No caso de falha da instância principal, havia a necessidade de intervenção da equipe técnica para promover um banco de réplica para principal e assim restabelecer a aplicação.  Por ser um serviço gerenciado, as tarefas de gerenciamento do banco de dados passam a ser de responsabilidade da AWS, como por exemplo a administração do sistema operacional, o que diminui muito a complexidade de operação da plataforma.

Por fim, como o PJe On Premise já adotava práticas DevOps e tinha o provisionamento da aplicação automatizado e o uso de infraestrutura como código (IaC), essa prática trouxe maior agilidade para provisionamento de recursos e gerenciamento de todo o ambiente na AWS, como Amazon VPC, subnets, etc. Seguindo esta prática toda a infraestrutura na AWS foi codificada e a sua gestão é feita via IaC (como por exemplo, alterar uma porta em um security group), e atualmente a console não é mais utilizada para fazer alterações no ambiente. Além disso, qualquer tribunal de justiça do trabalho é capaz de subir toda a infraestrutura responsável por rodar o PJE na AWS em minutos apenas ajustando variáveis de ambiente no código da infraestrutura e executando alguns comandos.

Próximas Evoluções

Com o PJe estabelecido na nuvem AWS, várias melhorias são vislumbradas.  Podemos pensar em mais serviços para serem utilizados, como NAT Gateway, e quando implementados, trará avanços na segurança, disponibilidade, resiliência e tolerância a falhas.

À medida em que o perfil de consumo de recursos do PJe na AWS seja identificado, será viável alocar instâncias de processamento reservadas, trazendo economia e previsibilidade de custos, além de garantir que haverá capacidade suficiente para as cargas de trabalho, tanto em momentos de pico quanto de baixo consumo.

Outra iniciativa que trará impacto positivo nos custos será a utilização da Amazon S3 para armazenamento dos documentos e arquivos digitais dos processos eletrônicos. Além da redução de custos, o uso do S3 permitirá maior escalabilidade e segurança por meio do armazenamento criptografado das mídias.

Outras evoluções serão desenvolvidas e aplicadas, podendo ser mencionados o auto scaling do ambiente com base na utilização do PJe e também o uso do AWS Lambda e Amazon Elasticache.

Fiquem de olho em novos artigos que vamos falar ainda sobre experiencias de migração, arquitetura, funcionamento, serviços e lições aprendidas do PJe na AWS.


Sobre os autores

Allyson Oliveira é arquiteto de soluções da AWS no time de Setor Público. Já liderou diversos projetos de tecnologia tanto em ambientes on-premises quanto em nuvem, com foco em modernização de aplicação com containers e segurança da informação. Atualmente, trabalha ajudando os tribunais do Brasil a migrarem a sua infraestrutura para a nuvem, seguindo as melhores práticas e de maneira segura.

 

 

Uanderson Sigler Gomes é Analista Judiciário do TRT da 17ª Região e membro do Comitê Nacional de Infraestrutura da Justiça do Trabalho.  Engenheiro de Computação, com MBA em Gestão de TIC, possui certificação AWS Solutions Architect Associate.  Há 18 anos atua no serviço público com foco em infraestrutura.  Atualmente, trabalha com projetos de migração para a nuvem nos Tribunais do Trabalho.

 

 

Johnathan Marques Silveira Carioca é Analista Judiciário e Secretário de Tecnologia da Informação e Comunicações do TRT da 17ª Região. Bacharel em Direito e em Sistemas de Informação e especializado em Engenharia de Software. Possui mais de 25 anos de experiência em projetos de tecnologia e é servidor público há 22 anos na área de tecnologia da informação. Atua há 12 anos como executivo de TI e é membro de mais de 15 comitês especializados na Justiça do Trabalho.