1 of 17

Go + microsserviços = 10x

John Moura

VP de Engenharia de Produto

© LodgeLink Inc. All Rights Reserved

2 of 17

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

3 of 17

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

4 of 17

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

5 of 17

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

6 of 17

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

7 of 17

Mapa de domínios = responsabilidades

Antes

Depois

© LodgeLink Inc. All Rights Reserved

8 of 17

Estratégia de rollout

“uma feature de cada vez”, zero downtime

© LodgeLink Inc. All Rights Reserved

9 of 17

Estratégia de rollout

“uma feature de cada vez”, zero downtime

© LodgeLink Inc. All Rights Reserved

10 of 17

Estratégia de rollout

“uma feature de cada vez”, zero downtime

© LodgeLink Inc. All Rights Reserved

11 of 17

Estratégia de rollout

“uma feature de cada vez”, zero downtime

© LodgeLink Inc. All Rights Reserved

12 of 17

Estratégia de rollout

“uma feature de cada vez”, zero downtime

© LodgeLink Inc. All Rights Reserved

13 of 17

Interface gRPC

© LodgeLink Inc. All Rights Reserved

14 of 17

E o tropeço...

Escolhemos JS para o 1º serviço

Escolhemos GoLang para o 2º

© LodgeLink Inc. All Rights Reserved

15 of 17

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

16 of 17

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

17 of 17

Perguntas?(se der tempo. Se não, eu fico ali do lado para conversar)

© LodgeLink Inc. All Rights Reserved