O blog da AWS

Banco Original e a Modernização da Arquitetura de Processos Batch na AWS

Escrito por Felipe Trevisan, responsável pela área de tecnologia do Banco Original; Renan Padovani,  engenheiro de Dados e Desenvolvedor no Banco Original; Hermes Pimentel, arquiteto de Soluções na AWS e Paula Zulato, Customer Solutions Manager na AWS.

Sobre o Banco Original

O Banco Original foi fundado em 2011 pela junção dos Bancos JBS e Matone. Desde então, o Banco Original opera com a solidez de um dos maiores grupos empresariais do país, combinando agilidade, pioneirismo e simplicidade em sua abordagem. O Banco Original é reconhecido por ser completo, sólido, confiável e transparente. A instituição combina tecnologia de ponta com um atendimento humano especializado para oferecer soluções aos clientes.

A instituição possui quatro principais linhas de negócio, visando fornecer um portfólio abrangente para clientes Pessoa Jurídica (PJ). O foco do Banco Original é fornecer a solidez de um banco completo juntamente com a agilidade e praticidade em produtos e serviços, desde crédito até investimentos.

  • Corporate Banking: Empresas com faturamento superior a R$ 300 MM por ano.
  • Agronegócio: Produtores Rurais (Agricultura e Pecuária) com área produtiva superior a 5 mil hectares.
  • Recebíveis: Operações de contas a pagar e receber do Grupo J&F.
  • Empresas: Focado em empresas com faturamento anual de R$12 MM a R$ 300 MM.

Desafio de Negócio

O Banco Original possui diversos sistemas, incluindo aplicações próprias e de terceiros. Essas aplicações geram e consomem dados entre si, além de fontes externas, como o Banco Central, órgãos reguladores e a Bolsa de Valores. Atualmente, o banco tem centenas de fluxos de trabalho (workflows) interconectados. Qualquer interrupção nesses fluxos afeta negativamente os clientes e as operações.

Para gerenciar esses fluxos o banco conta com equipes de analistas de negócios, responsáveis por desenhar os fluxos de trabalho em alto nível, e equipes de analistas de infraestrutura, que os implementam. Um desafio era desenvolver uma nova ferramenta de orquestração de fluxos de trabalho robusta, escalável, segura e amigável (user-friendly), permitindo que os analistas de negócios implementassem e mantivessem seus próprios fluxos.

Operar uma arquitetura complexa de jobs em batch responsável por integrações cruciais de negócios apresenta desafios significativos. Isso inclui dificuldades de manutenção, altos custos, consumo de tempo e propensão a erros. Bancos que dependem dessa infraestrutura para conectar seus sistemas core com outras instituições e aplicações enfrentam problemas comuns, como concorrência por recursos compartilhados, sincronização de arquivos e intervenções manuais.

Anteriormente, o banco dependia de softwares proprietários de orquestração de batch, licenciados por agentes, resultando em custos elevados à medida que mais jobs eram necessários. A escalabilidade era difícil, exigindo repactuações frequentes de licenças. Além disso, criar e implantar novos jobs levava semanas limitando a agilidade, duplicando recursos e dificultando a operação. A transição para a nova ferramenta permitiu maior eficiência e melhor aproveitamento de recursos.

Arquitetura da Solução

A solução consiste na criação de fluxos de trabalho padronizados e reutilizáveis que encapsulam as melhores práticas para cenários comuns. Isso envolve a inclusão de componentes para obter configurações, gerenciar dependências, executar scripts em larga escala, integrar fluxos de trabalho, aplicar resiliência, e lidar com intervenções manuais.

Figura 1 – Visão Geral da Arquitetura de um Job Batch

Os jobs são agendados através do Amazon EventBridge Scheduler, permitindo milhões de invocações escaláveis para AWS Step Functions. As configurações são centralizadas no Amazon DynamoDB para um controle mais eficiente. Agentes do AWS Systems Manager (SSM Agent) executam scripts em ambientes Linux e Windows, e containers de forma padronizada, utilizando o Systems Manager Documents para o versionamento e controle dos códigos customizados.

O Banco Original desenvolveu um componente de User Interface (UI) que permite aos usuários finais montar fluxos de trabalho complexos de forma simples. Esses componentes abstraem a complexidade subjacente do Step Functions, permitindo que os analistas se concentrem apenas na lógica de negócios. O portal gera fluxos do Step Functions genéricos e reutilizáveis que chamam outras Step Functions menores e modulares em cada etapa. Isso promove a reutilização e facilita a manutenção. O deploy é feito via Infrastructure as Code (IaC), utilizando o Software Development Kit (SDK) da AWS e componentes customizados, o que possibilita a fácil manutenção e reutilização dos processos similares, além de aplicar controles de segurança e qualidade.

Figura 2 – User Interface criada pelo Banco Original

Para modernizar sua arquitetura de batch, o Banco Original adotou uma abordagem serverless usando múltiplos serviços da AWS:

AWS Step Functions

O Step Functions permite modelar fluxos de trabalho visualmente como state machine (máquina de estado), evitando a necessidade de codificar a lógica de orquestração. Isso simplifica a construção, visualização e monitoramento de aplicativos distribuídos. No caso do Banco Original, o Step Functions é utilizado para modelar e executar todos os batch jobs, que, na verdade, são state machines do Step Functions. Etapas comuns, como transferência de arquivos, execução de scripts ou ingestão em bancos de dados, foram padronizadas em state machines reutilizáveis. Dessa forma, os times de negócio podem modelar e alterar fluxos de trabalho complexos facilmente, por meio de uma interface visual, sem se preocupar com a complexidade subjacente.

Figura 3 – Fluxos de trabalho do Step Functions

AWS Systems Manager (SSM)

O Systems Manager permite gerenciar centralizadamente a configuração de recursos como instâncias do Amazon Elastic Compute Cloud (Amazon EC2) e on-premises, executando comandos ou scripts em todo o estado da infraestrutura. No caso do Banco Original, os scripts que antes eram executados diretamente nos servidores agora são executados de forma padronizada através de SSM Documents no Systems Manager. Isso permite maior controle, auditoria, e versionamento desses scripts críticos.

Amazon DynamoDB

O DynamoDB é um banco de dados NoSQL gerenciado, com capacidade praticamente ilimitada de escala horizontal. É utilizado em aplicações críticas que necessitam de performance consistente em qualquer nível de escala. No caso do batch, o DynamoDB armazena o estado e metadados de todas as execuções dos fluxos Step Functions, permitindo auditabilidade completa sobre job status, inputs, outputs, configurações e dependências.

AWS Lambda

O AWS Lambda executa código sem a necessidade de provisionar ou gerenciar servidores, pagando apenas pelo consumo de recursos. O Lambda é amplamente adotado para conectar e integrar diferentes serviços. No caso do batch, funções Lambda são utilizadas para integrações assíncronas com outros sistemas, como Application Programer Interface (API) internas ou gatilhos para futuros fluxos de trabalho.

Serviços de armazenamento e transferência

Muitos sistemas ainda dependem da troca de arquivos flat para integrar dados entre diferentes entidades. Na arquitetura de modernização das malhas batch, serviços de armazenamento e transferência gerenciados como Amazon Simple Storage Service (Amazon S3), Amazon FSx NetApp ONTAP, AWS Transfer Family e AWS DataSync são amplamente utilizados.

O Step Functions orquestra e garante a dependência entre jobs que precisam “consumir” ou ”alimentar” esses dados em arquivos. O FSx NetApp ONTAP, é responsável pela criação de arquivos entre diferentes sistemas como Linux, Windows ou containers rodando Amazon Elastic Kubernetes Service (Amazon EKS) no mesmo ponto de montagem. O Transfer Family integra com parceiros externos ainda dependentes de protocolos legados. E o DataSync automatiza e acelera sincronização e transferência de grandes volumes de dados entre diferentes origens e destinos.

Programa de Aceleração de Migração

Para o trabalho de migração e modernização de seus workloads, o Banco Original contou com o programa de aceleração de migração da AWS (Migration Acceleration Program – MAP). O MAP é um programa abrangente e comprovado de migração para a nuvem, baseado na experiência da AWS em migrar milhares de clientes corporativos para a nuvem. No Banco Original o MAP foi utilizado de modo a dar clareza dos objetivos, acelerar o processo de modernização trabalhando de trás pra frente (working backwards) com as necessidades do cliente e compensando custos iniciais da migração e modernização do ambiente on-premises para a Nuvem.

Conclusão

Essa abordagem serverless simplificou a arquitetura de batch jobs do Banco Original, reduzindo custos operacionais e acelerando os ciclos de desenvolvimento. Fluxos de trabalho padronizados encapsulam as melhores práticas da AWS e permitem reutilização. A governança centralizada aumentou o controle sobre as execuções. E a capacidade de escalar sob demanda garantiu o desempenho mesmo nos picos de uso. Dentros os diversos benefícios da solução podemos destacar:

  • Redução de custos – A eliminação de softwares proprietários, juntamente com o uso dos serviços serverless da AWS, resultou em uma economia de 92% sobre o custo anterior de processamento batch. Com o aumento do uso, esse custo deve diminuir ainda mais. Além disso, as equipes podem se concentrar em entregar valor, em vez de gerenciar a complexa infraestrutura anterior.
  • Agilidade – Novos fluxos de trabalho batch podem ser modelados visualmente em questão de horas, sem depender de equipes de infraestrutura ou terceiros. Alterações são implementadas rapidamente pelos times de negócio, reduzindo a 1/3 o ciclo de desenvolvimento e implantação em comparação com a solução anterior.
  • Modelo de uso ideal para ambientes regulados – Com essa nova arquitetura, o Banco Original conseguiu elevar a segurança, auditabilidade, e governança, pontos essenciais para instituições financeiras. Todos os componentes rodam com credenciais temporárias renovadas frequentemente, criptografia em repouso e em trânsito por padrão, e autenticação e autorização granulares aplicadas a todos os serviços e recursos. Todas as operações são registradas no AWS CloudTrail e em logs para auditoria e conformidade.

Convido você a explorar mais os serviços serverless da AWS no Serverless Land! Esse hub de conteúdo traz as últimas novidades, blogs, vídeos, códigos e recursos educacionais sobre AWS Serverless. Aprenda a usar e construir aplicações que escalam automaticamente em uma arquitetura sem servidor de baixo custo e totalmente gerenciada. O Serverless Land aborda arquiteturas orientadas a eventos (Event Driven Architectures), com conceitos-chave, melhores práticas, serviços AWS e recursos para iniciar, como demonstrações e workshops.

Fique à vontade para nos enviar perguntas, comentários e feedback usando os links e formulários abaixo. Até nosso próximo blog post!

Sobre os autores

Felipe Trevisan é o responsável pela área de tecnologia do Banco Original. Com 20 anos de experiência na área de TI, atua no mercado financeiro há cinco anos e possui um portfólio de projetos de modernização tecnológica, migrações para nuvem e aplicações voltadas para áreas de negócio.
Renan Padovani é Engenheiro de Dados e Desenvolvedor no Banco Original. Com mais de cinco anos de experiência na área de dados e desenvolvimento de aplicativos, auxilia no desenvolvimento de soluções de dados e processos batch.
Hermes Pimentel é Arquiteto de Soluções na AWS e especialista em arquiteturas orientadas a eventos. Com mais de sete anos de experiência na área de arquitetura e desenvolvimento de soluções que envolvem sistemas distribuídos, auxilia os clientes a utilizarem os serviços da AWS para projetar aplicativos escaláveis, seguros e resilientes.
Paula Zulato é Customer Solutions Manager na Amazon Web Services (AWS), onde orienta os clientes a definir e alcançar o sucesso em suas jornadas de adoção da nuvem de forma resiliente e escalável. Com mais de 20 anos de experiência no mercado de Tecnologia, Paula é responsável pela gestão de grandes contas dos segmentos de Financial Services e Digital Native Business gerando valor para estes clientes em gerenciamento financeiro na nuvem (CFM), aceleração de migração e modernização.