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.
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.