Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

Microservices

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

hyperconnectivity mess

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

O que é um API Gateway ???

Slide 10

Slide 10 text

O que é um API Gateway ???

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

Gateway

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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)

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

Considere o desenho das equipes da sua companhia na escolha conclusao

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

Automatize, Automatize….Automatize!!! conclusao

Slide 35

Slide 35 text

Referencias referencias

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

No content