Modern Development: orquestração e escala (Parte II) - arquitetura Cloud Native e a construção para a resiliência

Conrado Basso
Author
December 9, 2025
14
min de leitura

Na Parte I deste artigo, detalhamos o desafio crítico de negócio: a vulnerabilidade na transação promocional que resultava na duplicação indevida de bonificações. Para resolver esse problema de alto impacto financeiro, a Consultoria Sensedia concebeu uma estratégia baseada em um microsserviço orquestrador dedicado e dinâmico.

A complexidade era alta, exigindo a coordenação precisa e resiliente de múltiplos sistemas legados e modernos. Esta segunda parte se aprofunda em como essa solução foi construída, detalhando a arquitetura de software, a metodologia Cloud Native e a engenharia de automação que garantiram a consistência e a escalabilidade do sistema.

Escolhendo a arquitetura: elegância e flexibilidade

Para garantir que o serviço de orquestração fosse agnóstico à tecnologia de entrada e permitisse a evolução independente da lógica de negócio, a Consultoria Sensedia adotou a Arquitetura Hexagonal (Ports and Adapters).

Este padrão arquitetural foi escolhido para isolar a Lógica de Domínio/Orquestração das decisões técnicas de infraestrutura. Ao aplicar o Hexagonal, isolamos todas as decisões mais técnicas (como acesso a banco de dados e comunicação externa) nas camadas de adaptadores, enquanto a lógica de aplicação e orquestração permaneceu protegida na camada central (Application).

Tratando a orquestração: o poder da dinâmica e da composição

A complexidade da orquestração dinâmica foi tratada pela combinação dos padrões Chain of Responsibility (Cadeia de Responsabilidade) e Dispatcher (Orquestrador Mestre).

- Chain of Responsibility: permitindo segmentar a implementação de cada etapa do fluxo de negócio em um componente isolado e coeso (a Handle). Cada Handle se responsabiliza por uma única parte do fluxo, aderindo estritamente ao seu contexto de negócio. Toda comunicação com sistemas externos é feita estritamente através das Portas de Saída, respeitando o modelo do Ports and Adapters.

- Dispatcher Dinâmico: implementado para prover a capacidade dinâmica de reconfigurar o fluxo sem deploy. O fluxo é definido externamente em um arquivo de configuração (YAML). O Dispacher atua como um orquestrador inteligente, utilizando a Inversão de Controle para carregar e executar as Handles na ordem definida.

Arquitetura da orquestração em detalhe

A arquitetura do microsserviço foi desenhada com um rigoroso controle de fluxo e estado, garantindo desacoplamento e resiliência:

- Contrato e autonomia das Handles (Chain of Responsibility): o núcleo reside nas Handles, que seguem uma Interface de Contrato. O Objeto de Entrada é repassado por todo o fluxo e é enriquecido em todas as etapas, mantendo seu estado. Cada handle é independente e foca em sua lógica de negócio, garantindo que possa ser utilizada em qualquer ordem.

  • O Objeto de Estado: controle de fluxo e erros: o método execute retorna sempre um Objeto de Estado, que é fundamental para a tomada de decisões do orquestrador, pois ele propaga erros, o estado atual do objeto e as mensagens de validação de negócio.
  • O Dispatcher: orquestrador mestre e resiliência: o Dispacher é o componente que orquestra, utilizando o arquivo de configuração de fluxos para determinar a sequência. Ele executa as handles na ordem proposta. O design garante Tolerância a Falhas, pois as handles não emitem exceções que interrompem o fluxo (todo erro é tratado e retornado no Estado) e o Dispacher aborta o fluxo de forma controlada ao identificar um erro no Objeto de Estado.

Construindo para o futuro: Cloud Native e escala

Cientes de que a nova solução habilitaria novos canais e provocaria um crescimento na volumetria, a Consultoria Sensedia adotou as melhores práticas: Cloud Native e os princípios do 12 Factor App, garantindo que a solução fosse intrinsicamente escalável, elástica e resiliente.

  • A aplicação é um microsserviço conteinerizado e Stateless (sem estado), permitindo escalabilidade horizontal.
  • A infraestrutura é versionada como código (IaC), garantindo o espelhamento perfeito entre os ambientes de desenvolvimento, homologação e produção.
  • Priorizamos as implantações gerenciadas pelo Cloud Provider, permitindo que o foco do time seja o valor de negócio, e não a manutenção de infraestrutura.

O guia da excelência: aplicação dos 12 Factor App

Aderimos rigorosamente aos 12 Fatores, garantindo o alinhamento com a moderna engenharia de software:

I. Base de código: o projeto utiliza repositórios GIT e gerenciador de dependências padrão da linguagem. Não foram construídas bibliotecas proprietárias, e todas as dependências são rastreáveis.

II. Dependências: todas as bibliotecas utilizadas no projeto são rastreáveis pelo mirror do repositório, garantindo controle e isolamento.

III. Configurações: nenhuma configuração é definida no nível de repositório ou projeto. As configurações do ambiente são passadas unicamente por variáveis de ambiente, garantindo que o ambiente determine suas próprias settings.

IV. Serviços de apoio: graças à Arquitetura Hexagonal, todos os acessos a serviços de apoio (ex: base de dados) utilizam abstrações na camada central, permitindo que sejam trocados a qualquer momento.

V. Build, Release, Run: os deploys são 100% automatizados, com realização de testes unitários e análise estática de qualidade de código, garantindo um processo de entrega contínua e confiável.

VI. Processos: o serviço é tratado como um processo sem estado, podendo ser escalado conforme a necessidade do negócio.

VII. Portas: a aplicação é exposta por uma porta no contêiner, que por sua vez é exposta no load balancer do provider, seguindo o padrão de acesso por portas.

VIII. Concorrência: os processos permitem a concorrência por não armazenarem estado e não partilharem arquivos em disco, funcionando de forma independente.

IX. Encerramento: os serviços podem ser descartados e recriados rapidamente (rápida inicialização). Como não armazenam estado local, a perda de dados é evitada.

X. Paridade Dev/Prod: todos os ambientes são espelhados, garantindo que não haja diferença de comportamento entre eles por questões de ambiente ou sistema operacional de servidor.

XI. Logs: todas as etapas geram logs identificados, que são enviados ao agregador de logs da cloud e podem ser rastreados de forma integrada por um identificador de transação.

XII. Processos administrativos: no contexto deste serviço, não há processos administrativos, pois toda a alteração na base de dados (utilizando NoSQL) acontece de forma automática.

DevOps: uma cultura de excelência e colaboração

A Consultoria Sensedia implementa a prática de DevOps desde o início do projeto, promovendo uma cultura de união onde a responsabilidade pelo sucesso do produto é compartilhada. Essa abordagem estabelece modelos de implantação que atuam como aceleradores para todos os futuros projetos do cliente.

Automação de infraestrutura com Terraform: modelos replicáveis

Para migrar o provisionamento manual do cliente para um processo automatizado, utilizamos o Terraform para a construção e gerenciamento de todos os ambientes. O Engenheiro DevOps, com base no desenho do Arquiteto, realiza a construção focando em boas práticas de reaproveitamento, criando uma arquitetura de base replicável. Os elementos são provisionados automaticamente e, após validação, os demais ambientes são espelhados, alinhando-se com o 12 Factor App.

Independência e transferência de conhecimento

A Consultoria Sensedia fornece ao cliente todos os artefatos do Terraform. Essa transferência de propriedade possibilita que os times internos do cliente mantenham e evoluam a infraestrutura de forma funcional e independente da consultoria, garantindo a sustentabilidade da solução a longo prazo.

Documentação e observabilidade: garantindo o legado

A criação de documentações completas antes da implementação é uma premissa inegociável da Consultoria Sensedia, um compromisso estratégico para a independência do cliente.

Foram criados três artefatos principais:

- Documento de definição de arquitetura: estabelece o padrão de construção, incluindo a Arquitetura Hexagonal, o modelo de testes (padrão AAA e critérios F.I.R.S.T), métricas de qualidade de código (SonarQube) e a estrutura de versionamento com GitFlow.

- Documento de infraestrutura: detalha quais componentes de cloud serão provisionados e como serão expostos, sendo a base para o Engenheiro DevOps implementar via Terraform.

- Documento de definição do microsserviço: aborda os elementos mais técnicos, como a implementação dos padrões Chain of Responsibility e Dispatcher, regras de negócio das Handles e padrão de emissão de logs.

Observabilidade: visibilidade de ponta a ponta na transação

A observabilidade foi priorizada, garantindo a rastreabilidade completa em um fluxo complexo. Utilizamos o Transaction ID gerado na plataforma Sensedia, que é propagado em todas as chamadas do fluxo de negócio. Este identificador permite realizar a observabilidade na Sensedia e nos logs detalhados do microsserviço, estabelecendo um fluxo de visibilidade de ponta a ponta para cada transação.

Conclusão: consistência de negócio e o legado da inovação

Este projeto de orquestração transcendeu a correção funcional, resultando em um sistema robusto, escalável e de fácil manutenção. A combinação da visão estratégica (Parte 1 deste artigo) com a excelência em Modern Development destacada aqui atestou a capacidade da Consultoria Sensedia de entregar soluções que garantem a consistência de negócio.

Ao utilizar o melhor da Arquitetura Hexagonal, o dinamismo do Dispatcher, a resiliência do Cloud Native/12 Factor App e a maturidade do DevOps, a Sensedia transformou um ponto de falha em uma base sólida para o crescimento do cliente. O legado deixado — que inclui arquitetura modular, IaC documentado e total observabilidade — reafirma o compromisso da Sensedia em ser a parceira ideal para a modernização e a entrega de valor de negócio duradouro.

Saiba mais sobre a atuação da Consultoria Sensedia assistindo ao webinar abaixo!

Referências

- Design Patterns Elements of Reusable Object-Oriented (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)

- Hexagonal Architecture Explained (Alistair Cockburn (Autor), Juan Manuel Garrido de Paz)

https://12factor.net/pt_br/

https://refactoring.guru/design-patterns

Inicie sua jornada conosco

Estamos prontos para guiar o seu negócio rumo ao futuro, com a solução certa para você se beneficiar do potencial das APIs e integrações modernas.

Sua história de sucesso começa aqui

Conte com nosso apoio para levar as melhores integrações para o seu negócio, com soluções e equipes profissionais que são referência no mercado.