Latest / M365.FM – Podcast de Microsoft 365, Copilot e IA em português / API Gateway explicado: roteamento, segurança e limitação de taxa para microsserviços – você precisa de um? (Dublagem IA)
Transcript
- 0:00Preparado para 10 dias de Microsoft 365, Copilot e ISO e as pessoas que estão moldando o futuro do trabalho e ISO?
- 0:07Em janeiro, a M365 com está de volta, desta vez, em uma escala maior.
- 0:12Junte-se a nós em sessões ao vivo, demonstrações reais e conhecimento prático de MVPs e especialistas do setor em todo o mundo.
- 0:18Nada de slides genéricos ou palavras da moda sem fim.
- 0:21Estamos abordando os desafios reais, Copilot Studio, agentes de A, fábrica, segurança, governança e automação.
- 0:28Seja você um profissional de TI, desenvolvedor ou líder de negócios, há sessões criadas para você.
- 0:35Com 10 dias completos, você pode explorar várias tecnologias e se conectar com uma comunidade global.
- 0:40Assista ao vivo e leve insights práticos para a sua organização.
- 0:45Janeiro de 2027, 10 dias, uma única comunidade de Microsoft.
- 0:49As inscrições já estão abertas.
- 0:51Acesse m35com.net e garanta sua vaga hoje mesmo.
- 0:55É m35com.net a...
- 0:59Inscreva-se agora em m35com.net e nos vemos.
- 1:03Ao vivo em janeiro.
- 1:05Você criou um aplicativo que funciona, depois adiciona outro serviço e mais outro.
- 1:08E, de repente, direcionar o tráfego entre eles vira um pesadelo.
- 1:11Então, o que exatamente é um Gateway de API?
- 1:12Você realmente precisa de um?
- 1:14Ao final deste episódio, você entenderá o que um Gateway de API faz,
- 1:17porque ele resolve o caos de gerenciar vários serviços e como saber se você precisa de um.
- 1:21Vamos começar com o problema, depois as partes e, em seguida, como tudo se encaixa.
- 1:27Problema? Portas demais.
- 1:29Imagine que você está administrando uma empresa que está crescendo rápido.
- 1:32Tem uma equipe de vendas no terceiro andar, contabilidade no subsólito e na ala dos fundos.
- 1:37Agora, imagine que cada um desses departamentos tenha a sua própria porta de entrada,
- 1:40seu próprio número de telefone e seu próprio segurança que não fala com os outros.
- 1:43Se você é um visitante tentando entregar um pacote, boa sorte.
- 1:46Você precisa saber exatamente qual porta usar, com qual segurança falar e o que fazer quando esse segurança estiver no intervalo.
- 1:50É exatamente isso que acontece quando seu aplicativo tem vários serviços de back-end e cada cliente chama cada um diretamente.
- 1:56O cliente, seja um aplicativo móvel, um site ou outro serviço, precisa saber onde cada serviço mora,
- 2:01como autenticar em cada um e o que fazer quando algo quebra.
- 2:05Cada serviço precisa lidar com sua própria segurança, seu próprio limite de taxa e seu próprio tratamento de erros.
- 2:09Isso é trabalho duplicado e é fácil as coisas ficarem consistentes.
- 2:12Veja um banco, por exemplo.
- 2:13Eles têm serviços separados para contas, pagamentos, empréstimos e detecção de fraude.
- 2:17Da maneira antiga, cada um é exposto diretamente.
- 2:19Um aplicativo móvel precisa conhecer quatro URLs diferentes, quatro métodos de autenticação diferentes de tratar erros.
- 2:25Isso representa quatro vezes mais complexidade e quatro vezes mais chances de algo dar errado.
- 2:29E é esse o caos que um gateway de API foi projetado para corrigir.
- 2:32Então qual é a solução?
- 2:34Que é um gateway de API?
- 2:35Imagine um gateway de API com a recepção de um hotel.
- 2:38Ao entrar, você não precisa saber em que andar fica a limpeza, onde é a cozinha ou como contatar a equipe de manutenção.
- 2:44Você apenas vai até a recepção, diz o que precisa, e eles cuidam do resto.
- 2:48Eles encaminham seu pedido à pessoa certa, verificam se você tem autorização e até resolvem solicitações básicas por conta própria.
- 2:54Um gateway de API faz a mesma coisa pelo seu software.
- 2:57Ele é um ponto de entrada único que fica entre seus clientes e seus serviços de back-end.
- 3:01Toda a solicitação passa primeiro pelo gateway.
- 3:03Ele decide para onde enviá-la, se deve permiti-la e o que deve retornar.
- 3:07Bem, essa não é uma ideia nova.
- 3:09Proxies reversos existem há décadas, mas o gateway de API tornou-se essencial com os microserviços.
- 3:14Quando você divide seu aplicativo em muitos serviços pequenos, você passa a ter muitas portas.
- 3:17O gateway oferece a você uma porta em telemórias.
- 3:19No mundo Azure, o Azure API Management é a plataforma completa, e o gateway é o componente central que gerencia o tráfego.
- 3:25Mas o padrão é o mesmo em toda parte.
- 3:27Um ponto de entrada, controle centralizado.
- 3:29Cada solicitação chega.
- 3:30O gateway é verifica, roteia e envia a resposta de volta.
- 3:33O cliente nunca fala diretamente com seu serviço de back-end.
- 3:35Ele só se comunica com o gateway.
- 3:37Vamos analisar o que significa na prática.
- 3:39Começando com a tarefa mais básica, roteamento.
- 3:42Parte 1, roteamento de tráfego.
- 3:44A função mais simples de um gateway de API é o roteamento, direcionando cada solicitação para o serviço correto.
- 3:49Pense como o site funciona.
- 3:50Quando você clica em um link, seu navegador envia uma solicitação.
- 3:53Essa solicitação tem um caminho.
- 3:54Se o caminho for usuário, o gateway sabe que deve enviá-la para o serviço de usuário.
- 3:57Se for pedidos, ele vai para o serviço de pedidos.
- 4:00O gateway lê o caminho, descobre para onde deve ir e o encaminha.
- 4:03Sem um gateway, seus clientes precisam conhecer a URL de cada serviço individualmente.
- 4:07O aplicativo móvel precisa do endereço de serviço de usuários, de pedidos, de pagamentos e de catálogo.
- 4:12Isso é um monte de URLs para gerenciar.
- 4:14E se qualquer um desses endereços mudar, você terá que atualizar todos os clientes.
- 4:17Com o gateway, os clientes conhecem apenas uma URL do gateway.
- 4:20Eles não se importam onde o serviço realmente reside.
- 4:22Eles apenas enviam sua solicitação ao gateway e ele cuida do resto.
- 4:25Este é um dos casos de uso mais comuns de um API Gateway.
- 4:28Roteamento baseado em recurso.
- 4:30A pesquisa do Apache Pzix destaca isso explicitamente.
- 4:32Você roteia com base no caminho, método HTTP, cabeçalhos e até na geolocalização do cliente.
- 4:37Se alguém na Europa envia uma solicitação, você pode roteá-lo para um datacenter europeu.
- 4:41Se alguém no ZOA envia uma solicitação, vai para um datacenter no ZOA.
- 4:44O cliente não sabe que nada disso está acontecendo.
- 4:46Eles apenas recebem uma resposta rápida.
- 4:47O roteamento também lida com um controle de versão.
- 4:49Digamos que é uma nova versão do seu serviço de uso.
- 4:51Os clientes antigos ainda usam barra V1 barra users e os novos usam barra V2 barra user.
- 4:56O gateway usa o roteio para back-end diferentes.
- 4:58Clientes antigos continuam funcionando enquanto você lança a nova versão.
- 5:01Você pode alterar seu back-end sem interromper seus clientes.
- 5:04Isso é muito importante ao gerenciar uma aplicação ativa com usuários reais.
- 5:07Pense em uma plataforma de e-commerce.
- 5:09Você tem serviços separados para o catálogo, carrinho de compras, checkout e contas de usuário.
- 5:13Se um gateway é um aplicativo móvel, precisa conhecer quatro URLs diferentes.
- 5:17Com um gateway, ele conhece apenas uma.
- 5:18O gateway lê o caminho, catálogo, carrinho, checkout, conta e envia cada solicitação ao serviço certo.
- 5:25O roteamento simples é a parte fácil.
- 5:26A próxima função é onde ele se torna realmente útil.
- 5:29Parte 2. Segurança na porta de entrada.
- 5:31Cada chamada de API precisa se verificar.
- 5:33Quem está fazendo essa solicitação?
- 5:34Eles têm as permissões corretas?
- 5:36Sem um gateway, cada serviço precisa lidar com sua própria autenticação.
- 5:39Isso significa trabalho duplicado e é fácil errar.
- 5:42Um serviço pode verificar tokens corretamente.
- 5:44Outro pode pular uma etapa e um terceiro pode usar um método diferente.
- 5:47Você acaba com uma segurança inconsistente em toda a sua aplicação.
- 5:51Gateway muda isso.
- 5:52Ele lida com autenticação e autorização em um único lugar central.
- 5:55Um local para verificar, um para aplicar e um para atualizar quando as políticas mudarem.
- 5:59Essa é uma das principais práticas de segurança.
- 6:01Ele valida chaves de API, JWTs, tokens ou ALF ou certificados em cada solicitação.
- 6:07Cada solicitação passa pela aplicação.
- 6:09Sem exceções.
- 6:10Gateway também pode aplicar regras.
- 6:12Você pode dizer, esta chave de API só pode chamar endpoints de leitura.
- 6:15Ou, este cliente só pode acessar o serviço de catálogo, não de pagamento.
- 6:19Você define permissões granulares no nível do Gateway e elas são aplicadas automaticamente.
- 6:23Serviços de back-end nunca precisam se preocupar com a autorização.
- 6:26Eles apenas processam a solicitação e enviam os dados de volta.
- 6:28Ponto é o seguinte.
- 6:29O Gateway é um lugar único para revogar o acesso quando algo dá errado.
- 6:33Se a chave de API de um cliente for comprometida, você a revoga no Gateway.
- 6:36Uma alteração, pronto.
- 6:37Você não precisa atualizar cada serviço ou reiniciar nada.
- 6:40A próxima solicitação com essa chave é rejeitada imediatamente.
- 6:43Vejamos um exemplo real.
- 6:44Um banco tem um serviço de pagamento sem um serviço de cobrança.
- 6:46Apenas o serviço de pagamento precisa de acesso descrito ao sistema de cobrança.
- 6:49O Gateway impõe isso.
- 6:51Se um cliente tentar escrever no sistema de cobrança pelo endpoint errado, o Gateway bloqueia.
- 6:55O serviço de cobrança nem chega a ver a solicitação.
- 6:57O Gateway também pode suportar MTLS e integração com o AF para maior proteção.
- 7:02Mas, em essência, é a sua primeira linha de defesa.
- 7:04Segurança é uma coisa.
- 7:05Mas e quando chegam muitas solicitações de uma vez?
- 7:08Parte 3.
- 7:09Gerenciamento de tráfego.
- 7:10O que acontece quando 10 mil usuários acessam seu app ao mesmo tempo?
- 7:14Talvez uma promoção relâmpago, lançamento de um produto viral ou uma terça-feira normal
- 7:18onde todos decidiram o lugar de uma vez.
- 7:20Sem um Gateway, seus serviços de back-end são atingidos diretamente e podem travar.
- 7:24Não lentamente, mas tudo de uma vez.
- 7:26É aí que entra o gerenciamento de tráfego.
- 7:28O Gateway pode limitar quantas solicitações cada cliente pode fazer.
- 7:32Rate Limiting e Throttling são recurso padrão.
- 7:34Você define as regras no Gateway e ele as impõe.
- 7:37Seu serviço de back-end nunca assenta o pico.
- 7:39Você pode definir cotas por usuário, por chave de API ou por endereço IP.
- 7:43Digamos que você tem um nível gratuito de sua API.
- 7:45Usuários gratuitos têm 100 solicitações por hora.
- 7:47Usuários premium têm 10 mil.
- 7:48O Gateway rastreia cada solicitação e aplica esses limites na entrada.
- 7:51Um usuário gratuito atinge o limite e o Gateway envia uma mensagem educada para tentar mais tarde.
- 7:56Os serviços de back-end nem ficam sabendo da solicitação.
- 7:59Eles continuam funcionando normalmente e atendem os clientes pagados.
- 8:01O Gateway também lida com o balanceamento de carga.
- 8:04Se você tiver várias instâncias do mesmo serviço rodando, o Gateway distribui as solicitações entre elas.
- 8:09A instância 1 recebe uma, a instância 2 recebe a próxima, a 3 é a seguinte.
- 8:13É automático.
- 8:14E se uma instância cair, o Gateway roteia para outra.
- 8:16Os clientes nunca pensam ver.
- 8:17Eles apenas recebem a resposta.
- 8:19O balanceamento de carga com verificações de saúde mantém tudo funcionando perfeitamente.
- 8:22O Gateway pinga cada instância para garantir que esteja ativo.
- 8:25Se não estiver, ele para de enviar tráfego para lá.
- 8:27Isso é especialmente importante para APIs de alto tráfego.
- 8:29Sem o Gateway, um pico de tráfego atinge seus serviços diretamente.
- 8:33Com o Gateway, o pico atinge primeiro o Gateway, que o absorve, distribui e protege seus serviços de ficarem sobrecarregados.
- 8:40Certo, mas e se os dados não parecerem corretos ao chegar?
- 8:44Parte 4, transformação de dados.
- 8:47Às vezes, os dados que seu cliente envia não correspondem ao que seu back-end espera.
- 8:50Talvez o cliente envie JSON, mas seu back-end só entenda XML.
- 8:53Talvez os nomes dos campos não sejam compatíveis.
- 8:55O cliente usa a first name e seu back-end espera nome.
- 8:59Essas incompatibilidades.
- 9:00Da maneira antiga, você teria que corrigir cada cliente ou reescrever o back-end.
- 9:05Gateway pode transformar os dados antes que cheguem ao back-end.
- 9:08Pense nele como tradutor.
- 9:09Ele fica no meio e pode alterar os dados na entrada, na saída ou em ambos.
- 9:13Isso é a transformação de solicitação e resposta em poucas palavras.
- 9:15Deixe-me dar um exemplo real.
- 9:17Digamos que você tem um sistema legado que espera XML.
- 9:19Ele está funcionando há 15 anos.
- 9:21Ele funciona bem.
- 9:21Mas agora você está criando um novo aplicativo móvel.
- 9:23E aplicativos móveis falam em JSON.
- 9:25Sem um Gateway, você teria que reescrever o sistema legado ou forçar o app a enviar XML.
- 9:30Com o Gateway, você não faz nenhum dos dois.
- 9:31O aplicativo móvel envia JSON.
- 9:33O Gateway o converte para XML.
- 9:34O sistema recebe o que espera.
- 9:36O aplicativo móvel recebe uma resposta já em JSON.
- 9:39Ninguém precisou reescrever nada.
- 9:40Essa é beleza disso.
- 9:41O Gateway também pode adicionar ou remover cabeçalhos, alterar URLs ou máscara dados sensíveis.
- 9:46Imagine que uma resposta inclua o número de cartão de crédito.
- 9:48Você não quer que isso retorne ao cliente.
- 9:49O Gateway pode removê-lo antes que a resposta saia ou substituí-lo por uma versão mascarada.
- 9:54O back-end nunca precisa mudar.
- 9:56O Gateway resolve isso.
- 9:57Isso é especialmente útil ao modernizar sistemas antigos.
- 9:59Você não precisa reescrever o back-end.
- 10:01Você não precisa forçar os clientes a mudar.
- 10:03Você apenas altera o Gateway.
- 10:04É como um tradutor em uma conferência internacional.
- 10:06Todos falam seu próprio idioma, mas o tradutor garante que todos se entendam.
- 10:10O Gateway é esse tradutor para o seu software.
- 10:12Então, roteamento, segurança, limitação, transformação é muita coisa.
- 10:15Mas não são quatro coisas separadas.
- 10:17Deixa eu mostrar como ele se conecta.
- 10:18Como tudo se conecta.
- 10:20Aqui está o...
- 10:21Essas quatro tarefas não são separadas.
- 10:23Elas trabalham juntas em cada solicitação toda vez que uma chega.
- 10:26O Gateway verifica a autenticação.
- 10:28Ele valida o limite de taxa.
- 10:29Ele roteva o serviço correto.
- 10:31Ele transforma os dados se necessário.
- 10:32Ele recebe a resposta de volta.
- 10:34Ele transforma isso também, se preciso.
- 10:36Então envia tudo de volta ao cliente.
- 10:37Pipeline.
- 10:38Cada etapa ocorre automaticamente, em ordem, sem que nenhum serviço precise pensar nisso.
- 10:42O verdadeiro poder não é um recurso único.
- 10:44É integração.
- 10:46Você pode adicionar uma nova política de segurança sem tocar no roteamento.
- 10:49O serviço de back-end sem alterar o cliente.
- 10:52Você pode atualizar os limites de taxa sem reimplantar nada.
- 10:54Cada parte é independente, mas todas funcionam no mesmo pipeline.
- 10:58E como tudo passa por um só lugar, você tem visibilidade total do que acontece.
- 11:02Logs, métricas, análises, tudo em um só ponto.
- 11:05Você pode ver quantas requisições chegaram, quais falharam, quais foram lentas e quais
- 11:08clientes usam mais recursos.
- 11:10Sem um Gateway, você teria que coletar esses dados de cada serviço individualmente.
- 11:14Com um Gateway está tudo ali.
- 11:15Essa é a grande sacada.
- 11:16O Gateway não é apenas um roteador.
- 11:18É um centro de controle para toda a sua plataforma de API.
- 11:20Cada requisição, cada resposta, cada erro, tudo flui por um só lugar.
- 11:23Você tem uma visão centralizada de tudo o que está acontecendo.
- 11:26Então, como você usa isso na prática?
- 11:28Vamos falar sobre o que você pode fazer agora mesmo.
- 11:30Dicas práticas.
- 11:31Vamos ser realistas.
- 11:32Se você tem um ou dois serviços, provavelmente ainda não precisa de um Gateway de API.
- 11:35Você pode lidar com o roteamento sozinho, gerenciando a autenticação em cada serviço.
- 11:38Não é elegante, mas funciona.
- 11:40Mas no momento em que você chega a três serviços ou expõe APIs a clientes externos,
- 11:43a complexidade aumenta rápido.
- 11:45O Gateway se paga rapidamente.
- 11:47Então, qual é o seu melhor primeiro passo?
- 11:49Centralize a autenticação no Gateway.
- 11:50Faça isso antes de qualquer outra coisa.
- 11:51Escolha um serviço e mova a verificação de autenticação dele para o Gateway.
- 11:54Você notará imediatamente que o código do seu serviço fica mais limpo.
- 11:57Chega de lógica de validação de token espalhada por toda parte.
- 12:00Chega de se perguntar se você implementou da mesma forma em todos os serviços.
- 12:03O Gateway resolve uma vez e todos os serviços se beneficiam.
- 12:06O próximo passo é o limite de taxa.
- 12:09Tem um limite simples para ter seu back-end de sobrecarga.
- 12:11Comece com algo básico como 100 requisições por minuto por cliente.
- 12:14Isso impede que um cliente descontrolado tire seus serviços.
- 12:16E até a próxima.