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 »

Como emitir certificados wildcard no GCP

Com o crescimento das aplicações na nuvem, garantir que elas estejam protegidas por SSL/TLS é uma prática essencial. O Google Cloud Platform (GCP) oferece diferentes formas de gerenciamento de certificados SSL, incluindo a possibilidade de emitir e vincular certificados a um Load Balancer. Uma abordagem moderna para isso é o uso de DNS Authorization para a validação dos certificados, e o uso de Certificate Maps para organizar e gerenciar vários certificados.

Neste post, vamos explorar como criar certificados com autorização via DNS, como configurar um Load Balancer e vinculá-lo ao certificado criado, usando a ferramenta de infraestrutura como código, Terraform. Além disso, vamos diferenciar entre certificados e Load Balancers clássicos e suas versões mais modernas no GCP.

Diferença entre Certificado e Certificado Clássico

No GCP, o certificado clássico refere-se à forma antiga, embora ainda válida, de gerenciar certificados SSL. Nesse processo, diferente da forma mais moderna, o certificado ficava ligado diretamente a um Load Balancer (LB), havendo uma limitação de 15 certs por LB.

Leia mais »

Como fazer upload e gerar url assinada para o Google Cloud Storage

Gerenciar permissão de acesso pode ser uma grande dor de cabeça. Verificar se o usuário precisa estar logado, se tem acesso aquele recurso ou funcionalidade, se o link acessado ainda é válido, dentre outras coisas.

Atualmente quando falamos de permissão de acesso a arquivos em buckets, alguns cloud providers oferecem um recurso conhecido como URLs assinadas (Signed URL). Tal recurso nos permite configurar um controle de acesso temporário a arquivos dentro de buckets privados.

Nesse post, vou mostrar como fazer upload de um arquivo para um bucket privado e gerar uma URL assinada para acesso temporário.

Upload do arquivo

Para fazer o upload, assumo que você já tenha um bucket privado criado no Google Cloud Storage (GCS) e que sua aplicação já tenha acesso a ele.

Leia mais »