$30 off During Our Annual Pro Sale. View Details »

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.

Claudio Eduardo de Oliveira

December 01, 2021
Tweet

More Decks by Claudio Eduardo de Oliveira

Other Decks in Programming

Transcript

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

    View Slide

  2. I am Cláudio Oliveira
    Technical Lead API Team
    Book Author
    @luizalabs
    Java, Golang, k8s & microservices

    View Slide

  3. Agenda
    ❖ Arquitetura de Microservices presente nas
    empresas
    ❖ Hyperconnectivity Mess
    ❖ O que é um API Gateway
    ❖ Tipos de Gateway
    ❖ Dicas

    View Slide

  4. Microservices

    View Slide

  5. View Slide

  6. hyperconnectivity mess

    View Slide

  7. View Slide

  8. View Slide

  9. O que é um API Gateway ???

    View Slide

  10. O que é um API Gateway ???

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  15. Gateway

    View Slide

  16. View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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)

    View Slide

  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

    View Slide

  22. View Slide

  23. View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  29. View Slide

  30. View Slide

  31. Considere o desenho das equipes
    da sua companhia na escolha
    conclusao

    View Slide

  32. Defina um plano para suas APIs, e inclua a escolha do
    API Gateway de acordo com a estrategia
    conclusao

    View Slide

  33. Evolua passo-a-passo na implementação das práticas
    de API e considere funcionalidades de um API Gateway
    nesse plano!!
    conclusao

    View Slide

  34. Automatize, Automatize….Automatize!!!
    conclusao

    View Slide

  35. Referencias
    referencias

    View Slide

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

    View Slide

  37. View Slide