para sistemas internos e APIs. Cada vendor oferece elementos especializados e integrações. Pode ser SaaS ou instalado em sua infraestrutura. Tem muito em comum com CDNs. Client Backend as a Service Aplicação normal Microservices Serverless Client API Gateway
Traduz modelos de autenticação do backend. • Proteção a DDoS • Rate limiting e throttle • Listas de restrição de acesso REST e HTTPS • Terminação SSL • Ponto único de manutenção de certificados. • Protocolos adotados por todas linguagens Transição de HTTP 1.1 para HTTP 2 API Gateways - Taxonomia (como escolher) I
API, sem sticky bit • Cache distribuídos de requisições • Cobrado por requisição ou tráfego (SaaS) Payload rewrite • Intercepta requisição e resposta • DSL para modificação do conteúdo em tempo real • Aceita JSON API Gateways - Taxonomia (como escolher) II
backend em uma chamada de API • Consegue concatenar ou reescrever as respostas • Consegue chamar funções / disparar eventos (serverless) Analytics • Relatórios sobre requisições individuais • Relatórios estatísticos • Análise volumétrica • Billing • Profiling em tempo real de requisições e respostas. API Gateways - Taxonomia (como escolher) III
procedures em um banco de dados em resposta a um endpoint do API Gateway ** Um bom início mas pode sobrecarregar o banco de dados. ** Não compre separado do API Gateway ** Cuidado com o lock-in Client Backend as a Service Aplicação normal Microservices Serverless Client API Gateway
de conexões • Integra com diferentes bancos de dados e message bus • Faz cache das chamadas Analytics • Relatórios sobre tempo de resposta do banco de dados • Alarmes e monitoração de carga • Análise volumétrica BaaS - Taxonomia (como escolher)
um tempo determinado. Custo baixo. Cada vendor de cloud tem seu padrão ** adote um framework para gerenciar o código desde o inicio ** não caia na armadilha de redesenhar seu sistemas "Serverless" Client Backend as a Service Aplicação normal Microservices Serverless Client API Gateway
CPU limitados • Acesso a recursos como filas e bancos de dados. • Overhead de inicialização. Gerenciamento de código • Versionamento de funções • Roles e acessos Serverless - Taxonomia (como escolher)
código para enviar mensagens em pontos importantes do programa Consumidores podem receber estas mensagens e funcionar sem acoplamento ao sistema original Desacopla processamento e volume de requisições Loja Pedido ERP Email Envio Loja Pedido ERP Email Envio Desacoplado Acoplado
próprio • Precisa de replay de mensagens, distribuição e confirmação • Filas: SQS (AWS), Queue (Google) • Log distribuido e replicado: Kafka, Kinesis Características de uso • Durabilidade da mensagem ou destruição assim que consumida • Reprocessamento de um periodo de tempo • Replicação de dados Event Streaming - Taxonomia (como escolher)
embutir chamadas para APIs • Toda configuração de NGINX converge a um API Gateway pobre • Toda empresa já tentou fazer uma API que mapeia stored procedures no banco de dados. • A direção de integração é de fora (clientes) para dentro (serviços), não o contrário