Voltar aos cases

Arquitetura Republicável com Desacoplamento Estratégico

7 min
arquiteturawhite-labeldesacoplamentoinfraestruturaAWS

Projetar uma arquitetura replicável white-label exige equilíbrio entre centralização controlada e desacoplamento estratégico. Neste case, exploramos como estruturamos o Loyaltify — uma plataforma de fidelidade para redes de restaurantes — para ser implantado de forma isolada por cliente, mantendo previsibilidade operacional e removendo gargalos do núcleo da aplicação.


O Problema: Replicabilidade com Isolamento

O Loyaltify é uma plataforma white-label de fidelidade voltada para redes de restaurantes. Ele permite que grupos gastronômicos publiquem seus próprios aplicativos, gerenciem unidades, menus, promoções e programas de pontos — mantendo identidade própria e controle operacional.

O desafio não era apenas construir um sistema funcional, mas torná-lo implantável repetidamente para diferentes clientes, cada um com suas próprias exigências operacionais, regulatórias e de infraestrutura.

O Desafio Arquitetural

Como projetar uma estrutura que pudesse ser replicada por cliente, mantendo:

  • Isolamento completo entre instâncias
  • Previsibilidade operacional em cada implantação
  • Controle sobre gargalos sem comprometer o núcleo
  • Custo de infraestrutura previsível

A resposta não estava em maximizar distribuição, nem em concentrar tudo. Estava em definir com clareza o que deveria permanecer sob controle direto da aplicação e o que deveria ser estrategicamente desacoplado.


A Solução: Centralização Controlada + Desacoplamento Estratégico

Princípios Estruturais

Desde o início, adotamos alguns critérios:

  • Cada cliente teria sua própria instância
  • O processo de implantação deveria ser repetível
  • A operação deveria ser compreensível
  • O custo de infraestrutura deveria ser previsível
  • Pontos potenciais de gargalo não poderiam comprometer o núcleo da aplicação

Esses princípios moldaram todas as decisões técnicas.


Core Centralizado: O Que Permanece na Instância

O núcleo do sistema foi organizado em três componentes principais:

  • Backend (Next.js)
  • Aplicação frontend (React, distribuída via WebView)
  • Backoffice administrativo

Todos dockerizados.

A implantação ocorre em instâncias EC2, com um processo automatizado em Bash que:

  • Provisiona o ambiente
  • Configura variáveis
  • Inicializa containers
  • Padroniza a estrutura da aplicação

Processos como:

  • Importação de menu via planilha
  • Processamento de arquivos
  • Regras internas de validação

ocorrem dentro da própria instância.

Essa centralização mantém previsibilidade de execução e reduz variáveis operacionais entre implantações.


Desacoplamento Estratégico: O Que Foi Externalizado

Ao mesmo tempo, serviços que poderiam se tornar gargalos estruturais foram deliberadamente externalizados.

Exemplos:

  • Envio de e-mail via Amazon SES
  • Armazenamento de arquivos via S3
  • Leitura de recibos via Rekognition

Esses serviços possuem características próprias:

  • Picos de uso independentes
  • Exigências específicas de disponibilidade
  • Requisitos técnicos especializados
  • Potencial de impactar recursos da instância principal

Se internalizados, poderiam competir por CPU, memória ou I/O, ampliando o risco de acoplamento indesejado.

Ao delegar essas responsabilidades para serviços gerenciados, o Loyaltify:

  • Removeu pontos de gargalo do núcleo da aplicação
  • Reduziu a superfície operacional interna
  • Isolou falhas periféricas
  • Manteve o core focado na lógica de negócio

Isolamento por Cliente: Flexibilidade de Configuração

Cada implantação pode ser ajustada conforme o perfil da rede atendida:

  • Banco dedicado em RDS Multi-AZ
  • Bancos isolados em uma mesma instância RDS

Essa flexibilidade permite adequar custo, compliance e robustez sem alterar a arquitetura central.

A estrutura permanece estável.
A variação ocorre na configuração.


Impacto e Resultados Mensuráveis

A arquitetura do Loyaltify tornou-se:

  • Implantável de forma repetível — processo automatizado via Bash com zero intervenção manual
  • Isolável por cliente — cada rede opera em infraestrutura dedicada
  • Controlável operacionalmente — redução de variáveis entre implantações
  • Flexível para diferentes exigências — configuração adaptável sem alterar código
  • Sustentável comercialmente — custos de infraestrutura previsíveis por cliente

Ela não busca maximalismo arquitetural. Busca coerência com o modelo de negócio.


Decisões Técnicas Relevantes

1. Por que EC2 ao invés de Serverless?

O Loyaltify possui operações síncronas críticas (importação de menu, processamento de regras de negócio) que exigem execução previsível e controle de recursos. Serverless introduziria latência variável e complexidade de orquestração.

2. Por que Docker ao invés de deploy direto?

Docker garante paridade entre ambientes. O mesmo container testado localmente é o mesmo implantado em produção, eliminando "funciona na minha máquina".

3. Por que Bash ao invés de IaC (Terraform/CloudFormation)?

Simplicidade operacional. O script Bash é legível, versionável e não introduz dependências externas. Para uma estrutura que muda pouco e é repetível, Bash oferece controle direto sem overhead.


Aprendizados Arquiteturais

Implantabilidade não é simplificação. É clareza de fronteiras.

No Loyaltify, centralizamos o que pertence ao domínio do produto. Desacoplamos o que poderia se tornar gargalo ou responsabilidade desnecessária.

Essa combinação permitiu que a plataforma fosse replicável sem se tornar frágil.

Quando aplicar essa abordagem?

Essa arquitetura é adequada quando:

  • Você precisa vender/implantar a mesma solução para múltiplos clientes
  • Isolamento e compliance exigem infraestrutura dedicada
  • O produto tem operações síncronas e previsíveis
  • Custo de infraestrutura precisa ser facilmente calculável

Quando NÃO aplicar:

  • Produto SaaS com multi-tenancy compartilhado
  • Workloads altamente assíncronas e event-driven
  • Necessidade de auto-scaling agressivo

Conclusão Estratégica

O Loyaltify demonstra que arquitetura deve servir ao modelo de negócio, não ao contrário.

Ao combinar centralização controlada com desacoplamento estratégico, criamos uma estrutura que:

  1. Escala comercialmente (vendável para múltiplos clientes)
  2. É operacionalmente sustentável (baixa variabilidade entre implantações)
  3. Mantém previsibilidade técnica e financeira

Essa abordagem pode parecer menos "moderna" que arquiteturas totalmente distribuídas, mas oferece algo mais valioso: clareza, previsibilidade e alinhamento com a realidade do produto.


Continue Explorando

Se você está projetando sistemas replicáveis ou white-label, estes cases podem ajudar:

Precisa de suporte arquitetural para sua plataforma? Conheça nossos serviços de consultoria em arquitetura de software.