Go + microsserviços = 10x
John Moura
VP de Engenharia de Produto
© LodgeLink Inc. All Rights Reserved
Problema
Vamos dobrar o número de clientes
Operar na Austrália
E os clientes serão bem maiores
End-to-end workforce� travel solutions
© LodgeLink Inc. All Rights Reserved
Problema
Vamos dobrar o número de clientes
Operar na Austrália
E os clientes serão bem maiores
End-to-end workforce� travel solutions
© LodgeLink Inc. All Rights Reserved
Antes
Picos de 5k transações por minuto
21 desenvolvedores
Uptime 99%
Operações comuns entre 10s e 30s
Stack: NodeJS 11, GraphQL, MySql, VMs
Depois
Picos de 30k. Teste de carga com 50k
21 desenvolvedores
Uptime 100%
Operações entre 1s e 10s
Stack: GoLang, gRPC, Kafka, Redis, Containers, Postgress, CosmoDB
© LodgeLink Inc. All Rights Reserved
Mentalidade
Acredite nas pessoas (aceite que ninguém esta pronto)
Comece pela mentalidade (CRUD vs Funcional) e princípios
Aposte na simplicidade: Go + contratos bem definidos
Contratos, event-driven design e arquitetura limpa = sem drama
Tese: NFRs → DDD → API-First → EDA → rollout seguro
© LodgeLink Inc. All Rights Reserved
Princípios e foco
Invista em Core Libraries e platform Engineering. Não duplique código.
Gerencie suas dependências.
© LodgeLink Inc. All Rights Reserved
Mapa de domínios = responsabilidades
Antes
Depois
© LodgeLink Inc. All Rights Reserved
Estratégia de rollout
“uma feature de cada vez”, zero downtime
© LodgeLink Inc. All Rights Reserved
Estratégia de rollout
“uma feature de cada vez”, zero downtime
© LodgeLink Inc. All Rights Reserved
Estratégia de rollout
“uma feature de cada vez”, zero downtime
© LodgeLink Inc. All Rights Reserved
Estratégia de rollout
“uma feature de cada vez”, zero downtime
© LodgeLink Inc. All Rights Reserved
Estratégia de rollout
“uma feature de cada vez”, zero downtime
© LodgeLink Inc. All Rights Reserved
Interface gRPC
© LodgeLink Inc. All Rights Reserved
E o tropeço...
Escolhemos JS para o 1º serviço
Escolhemos GoLang para o 2º
© LodgeLink Inc. All Rights Reserved
Benefício
E o time ficou 2-3x mais rápido criando features com qualidade mais alta
(6+ meses sem bugs críticos ou altos)
© LodgeLink Inc. All Rights Reserved
Take aways
Checklist:
Fixe NFRs/SLOs e métricas
Desenhe o Mapa de Contexto; Defina contratos (iniciais)
Padronize contratos (linters/contract-tests)
Implante outbox + idempotência + DLQ
Planeje shadow → canary → dual-write → switch
Observabilidade: tracing por negócio, logs estruturados
Pipelines automatizados
Cronograma:
30 dias: NFRs/SLOs, Context Map inicial, arquitetura
60 dias: 1º serviço crítico gRPC + Kafka + outbox (shadow)
90 dias: canary, observabilidade madura, Switch
Meta: 1 caso 'antes/depois' publicado com métricas
Métricas:
p95 API Calls ≤ 150 ms; p99 ≤ 300 ms
Throughput alvo (RPS), picos +150%
SLOs de disponibilidade e erro
Error budget
Custo por operação como KPI de produto
© LodgeLink Inc. All Rights Reserved
Perguntas?�(se der tempo. Se não, eu fico ali do lado para conversar)
© LodgeLink Inc. All Rights Reserved