Skip to main content
Blog
3 min read

18 Meses Rodando API Gateway em Produção: O que Ninguém Conta

Descubra as lições aprendidas ao gerenciar um API Gateway com 99.999% de disponibilidade em um ambiente de 200+ engenheiros e 40+ times de produto.

API GatewayDisponibilidadePlataforma

Implementar e gerenciar um API Gateway em escala de fintech não é tarefa fácil. Após 18 meses operando um API Gateway com uma disponibilidade impressionante de 99.999%, compartilho as lições aprendidas e os desafios enfrentados que não aparecem nos manuais.

Contexto

Trabalhando como Staff Platform Engineer em uma fintech com mais de 200 engenheiros e 40 equipes de produto, enfrentamos um desafio significativo: a falta de um gerenciamento centralizado de APIs. Cada equipe criava suas próprias soluções para autenticação, limitação de taxa e roteamento, resultando em inconsistências de segurança e complicações durante as auditorias de PCI-DSS.

A necessidade de uma solução robusta e unificada era clara. A criação de um API Gateway centralizado, usando Google Cloud Apigee X e balanceadores de carga globais, tornou-se uma prioridade para garantir segurança, compliance e eficiência operacional.

A Decisão

Optamos por uma topologia Active-Active em várias regiões, uma escolha que trouxe complexidade adicional, mas eliminou a latência de failover em produção. A escolha do Apigee X em vez de soluções open-source como Kong ou Envoy foi motivada pelas exigências de compliance e pela gestão do plano de controle pela Google, permitindo que focássemos na configuração.

Construímos caminhos dourados para que as equipes de produto pudessem publicar especificações sem operar diretamente o Apigee. Isso foi crucial para garantir que a segurança e a compliance fossem mantidas sem sobrecarregar as equipes de desenvolvimento com detalhes de infraestrutura.

O que Construímos

Desenvolvemos um Provedor Terraform customizado em Go para o Apigee X, permitindo que a publicação de proxies e a gestão de aplicativos de desenvolvedor fossem declarativas. Criamos um balanceador de carga global em duas regiões, com roteamento ativo baseado em verificações de saúde.

A autenticação foi centralizada no nível do gateway usando OAuth 2.0 e OIDC, fornecendo segurança "gratuita" às equipes de produto que aderiram ao caminho dourado. Implementamos também um caminho dourado para a tokenização, assegurando que todos os dados de cartão fossem processados por um cofre centralizado, sem que os times de produto precisassem lidar com dados sensíveis.

Resultado

O resultado foi um sistema robusto e seguro:

  • 99.999% de disponibilidade: Não tivemos nenhuma queda em mais de 18 meses de operação.
  • Compliance PCI-DSS 4.0: Passamos na auditoria, com o gateway estabelecido como a fronteira de compliance para todas as APIs relacionadas a cartões.
  • Onboarding de novas APIs: O tempo de semanas foi reduzido para apenas 2 dias.
  • Adoção pelos times de produto: Mais de 40 equipes aderiram a pelo menos um dos caminhos dourados.
  • Acesso direto ao Apigee eliminado: Toda a gestão é feita via PRs no Terraform.

O que Eu Faria Diferente

Com a experiência adquirida, algumas mudanças poderiam ter otimizado ainda mais o processo:

  • Iniciar com o Provedor Terraform desde o primeiro dia: A adaptação do IaC a uma infraestrutura construída manualmente mostrou-se dolorosa.
  • Investir no Portal de Desenvolvedores mais cedo: A descoberta de caminhos dourados pelos times depende de documentação e autoatendimento eficazes.
  • Métricas de Experiência do Desenvolvedor desde o início: Medir o tempo até o primeiro PR e as taxas de adoção de caminhos dourados é essencial para melhorias contínuas.

Se você está construindo algo semelhante, essas são as lições que considero cruciais para garantir não só a disponibilidade, mas também a eficiência e a segurança em larga escala.