Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Qual é o papel de um API Gateway na estratégia de APIs

Qual é o papel de um API Gateway na estratégia de APIs

Qual é o papel de um API Gateway na estratégia de APIs "Muito se fala em API Gateways quando pensamos em APIs, mas qual é de fato o
papel desse elemento na arquitetura da solução. Nesta talk vamos detalhar
suas funcionalidades e demonstrar alguns tipos de API gateways que podemos encontrar no mercado.
Nem só de alegria vivem os API Gateways também mostraremos os pontos de atenção e problemas quando utilizamos neste tipo de ferramenta.
No final vamos ter uma breve demonstração das capacidades de um API Gateway.

E3c2bac7a4a04823dda122cf243edd01?s=128

Claudio Eduardo de Oliveira

December 01, 2021
Tweet

Transcript

  1. Qual é o papel de um API Gateway na estratégia

    de APIs
  2. I am Cláudio Oliveira Technical Lead API Team Book Author

    @luizalabs Java, Golang, k8s & microservices
  3. Agenda ❖ Arquitetura de Microservices presente nas empresas ❖ Hyperconnectivity

    Mess ❖ O que é um API Gateway ❖ Tipos de Gateway ❖ Dicas
  4. Microservices

  5. None
  6. hyperconnectivity mess

  7. None
  8. None
  9. O que é um API Gateway ???

  10. O que é um API Gateway ???

  11. O que é um API Gateway ??? É uma ferramenta

    de gerenciamento, geralmente adicionada entre o cliente e um grupo de sistemas de um determinado contexto, atuando como ponto único de entrada das APIs. https://learning.oreilly.com/library/view/mastering-api-architecture/9781492090625/ch04.html#idm46093477892672
  12. Funcionalidades de um API Gateway Geralmente o API Gateway atual

    na camada de rede, provendo funcionalidades ortogonais, as que não necessariamente são responsabilidades das aplicações
  13. Quais são essas funcionalidades??? • Controle de abuso ( rate

    limiting ) • Autenticação / Autorização de maneira padronizada • Controle de Logs • Gerenciamento de APIs ( routing ) • Metricas padronizadas ( ops team ) • Tracing Distribuido
  14. Mas, porque eu preciso dessas funcionalidades? • Uniformização das implementações

    de requisitos ortogonais • Expertise, adquirido baseado na construção do gateway • Redução de time-to-market • Redução da complexidade de escrita de códigos • Pode ajudar na governança das suas APIs E acredite as empresas/comunidades se dedicam há anos em construir um produto com foco nesse caso de uso
  15. Gateway

  16. None
  17. Enterprise Gateway Foco deste tipo de solução é na grande

    maioria das vezes realizar exposição e gerenciamento de deployment de APIs voltadas ao negócio, em geral ele também permite controlar o ciclo de vida de uma API. definição
  18. Enterprise Gateway Em geral é uma oferta de algum vendor,

    com estratégias comerciais suportando a solução. Este também tende a direcionar a aplicação da solução e implicar no design dos seus serviços. utilização
  19. Enterprise Gateway Propósito principal Exposição, composição e gerenciamento de APIs

    externas/internas Manutenção das APIs Time de APIs em geral faz administração via Portal do API Gateway Suporte a ambientes Suporta múltiplos ambientes DEV, QA e Prod. resumo
  20. Enterprise Gateway dicas gerais Pode ser utilizado para uma modernização

    de arquitetura aplicando padrões como Façade ou Strangler Application (deve ser o meio, e não o final da solução) Disponibilidade vs Consistência (dependências externas) Cuidado com utilização de “policies” da própria ferramenta (vendor lock-in)
  21. Enterprise Gateway Em geral Enterprise Gateways precisam de dependencias externas,

    como banco de dados, caches entre outros, CUIDADO isso pode aumentar suas chances de ter indisponibilidade A “mobilidade” de deployment é bem baixa, enterprise gateways são EDGE na maioria dos casos Vendor Lock-in warning
  22. None
  23. None
  24. Micro/Microservices Gateway definição Tipicamente essa classe de Gateways tem a

    capacidade de “rotear” tráfego de entrada para APIs ou serviços. Em geral não oferecem suporte ao ciclo de vida das APIs e as equipes tem que fazê-lo via processo separado Maioria open source
  25. Micro/Microservices Gateway definição Geralmente não possuem dependência externa, e são

    componentes standalone, o que faz com que a plataforma (k8s) gerencie o estado necessário para a execução da aplicação
  26. Micro/Microservices Gateway Propósito principal Exposição, observabilidade e monitoramento de servicos

    ( APIs ) Manutenção das APIs Time de API ou time de criacao/manutencao do servico via configuração declarativa fazem atualizações, esta tarefa faz parte do deployment dos serviços Suporte a ambientes A instância controla um único ambiente, possui suporte a roteamento mais dinâmico como por exemplo Canary para facilitar o debugging. resumo
  27. Micro/Microservices Gateway dicas gerais Reduza o número de instâncias para

    ganhar experiência na gestão do ambiente para escalar para toda companhia Use a flexibilidade do deployment para “particionar” suas APIs ( use Bounded Context do DDD ) Tente ser Stateless o máximo possível isso vai aumentar muito a facilidade escalabilidade / disponibilidade
  28. Micro/Microservices Gateway Números de instâncias pode ser um problema em

    equipes sem expertise em monitoramento / observabilidade Granularidade fina demais, pode complicar a manutenção das APIs Automação deve ser pensada desde o início da jornada warning
  29. None
  30. None
  31. Considere o desenho das equipes da sua companhia na escolha

    conclusao
  32. Defina um plano para suas APIs, e inclua a escolha

    do API Gateway de acordo com a estrategia conclusao
  33. Evolua passo-a-passo na implementação das práticas de API e considere

    funcionalidades de um API Gateway nesse plano!! conclusao
  34. Automatize, Automatize….Automatize!!! conclusao

  35. Referencias referencias

  36. Proximos passos futuro Integracao Service Mesh Proxyless Service Mesh Etc….

  37. None