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 »

Estratégias para gerenciar múltiplas versões de APIs

No universo do desenvolvimento de software, as APIs (Application Programming Interfaces) desempenham um papel fundamental na comunicação entre diferentes sistemas. No entanto, à medida que uma API evolui, surge um desafio inevitável: como gerenciar múltiplas versões sem comprometer a experiência dos usuários e sem introduzir instabilidade no sistema?

Neste post, exploraremos as principais estratégias para gerir e versionar APIs de forma eficaz. Vamos discutir diferentes abordagens, suas vantagens e desvantagens, além de apresentar ferramentas que podem facilitar o processo.

Versionamento por URL

O versionamento por URL é uma das abordagens mais comuns e simples. Nesta estratégia, a versão da API é incluída diretamente na URL, como por exemplo:

<https://api.exemplo.com/v1/recursos>
<https://api.exemplo.com/v2/recursos>
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 »