Como escolhemos nosso API Gateway

Nesse post quero compartilhar um pouco da experiência que tive na tomada de decisão técnica na hora de escolher um serviço/plataforma.

O caso que compartilharei aconteceu no segundo semestre de 2024, quando um dos OKRs da Unico era a implementação de um API Gateway.

O que descrevo aqui não é uma prática documentada e seguida à risca em todas as decisões tomadas na Unico, mas sim como fizemos para um caso específico. No entanto, há aprendizados e etapas que podem ser replicados para outros casos.

Passo 1: Qual problema precisamos resolver?

Quando decidimos refatorar toda a borda da empresa, a primeira coisa que fizemos foi entender o que, no modelo atual, não estava como queríamos. Identificamos complexidades, falhas processuais e de padronização na exposição de APIs públicas. Também levantamos alguns desejos que poderiam ser resolvidos na borda, como por exemplo, rate limit.

Com todos esses dados em mãos, para que a entrega não ficasse extremamente complexa (não que tenha sido simples) e, para ser possível ter algum resultado/impacto em menos de 6 meses, definimos algumas etapas para a implementação, onde, por exemplo, deixaríamos a implementação de rate limit para uma segunda fase.

Leia mais »

O que é API Gateway

No cenário atual de desenvolvimento de software, onde a arquitetura de microsserviços é amplamente adotada, a gestão e a comunicação entre serviços se tornaram cada vez mais complexas.

Para lidar com esses desafios, surge o conceito de API Gateway. Este componente crucial atua como um ponto central de entrada para todas as requisições que chegam ao seu sistema, oferecendo diversas funcionalidades que simplificam e otimizam a comunicação entre os serviços.

O que é um API Gateway?

Um API Gateway é um servidor que atua como intermediário entre os clientes e os serviços internos de uma aplicação. Ele recebe todas as requisições dos clientes e as roteia para os serviços apropriados, possivelmente após aplicar diversas políticas de segurança, autenticação, autorização, rate limiting, caching, entre outras.

Leia mais »