API management: um aliado para construção de APIs

Post on 18-Feb-2017

493 views 1 download

Transcript of API management: um aliado para construção de APIs

API Management: Um aliado para a construção de APIs

Rafael Souza@rafael_psouza

○ Engenheiro de Computação○ Engenheiro de Software e consultor na ilegra○ Arquitetura de Software, SOA, Microservices, APIs…

○ Contexto○ Requisitos Comuns○ API Management○ Produtos○ Projetos Open Source

Você trabalha com WEB APIs?

Microservices Mobile AppsIoT

HTML5 API First ...

Evolução

1960 - 1980 1980 - 1990 1990 - 2000 2000 - Hoje

ARPANET, ATTP e TCP sessions.

Point-to-Point interfaces, screenscraping, RFCs e EDI.

Message-oriented middleware, ESB e SOA.

Integration as a service, RESTful services, API Management e cloud orchestration.

fonte: programmableweb.com

API Economy

“Software is eating the world” -- Marc Andressen

APIs possuem requisitos comuns

Que variam conforme a exposição da API

Segurança

○ Autenticação;○ Autorização;○ Controle de carga;○ Restrição de IPs etc.

Gerenciamento

○ Apps;○ Ambientes;○ Desenvolvedores;○ Parceiros etc.

Comunicação

○ Documentação;○ Exemplos;○ FAQ;○ Suporte etc.

Analytics

○ Acesso por recurso;○ Trace;○ Tráfego de rede/dados;○ Uso por consumidor etc.

Monetização

○ Faturamento, Pagamento e limites.

Outros ...

○ Caching;○ Mocks;○ Auditoria;○ Monitoramento;○ Transformações.

API Management: Requisitos comuns que convergem para uma ferramenta.

Publicar, Promover e Gerenciar

API Gateway

API Management

API Proxy

Management x Gateway x Proxy

Ciclo da Requisição

Quando é ideal?

○ APIs públicas;○ APIs para aplicativos mobile;○ Publicar API para parceiros e desenvolvedores;○ Adicionar novas capacidades a uma API existente;○ Diminuir exposição de infraestrutura interna.

Opções

Produto/Serviço ConstruirOpen source

Soluções como Produto/Serviço

Deployment

Cloud HíbridoLocal

Cloud

Cloud

○ Menor TCO (total cost of ownership);○ Time to market mais rápido;○ Trabalho de configuração;○ Requer cuidados com latência.

Local

Local

○ Situações de muito tráfego interno;○ Empresas que não estão indo para cloud;○ Diminuir latência;○ Maior TCO (total cost of ownership).

Híbrido

Híbrido

○ Maior flexibilidade;○ Bom para quem já possui load balancer;○ TCO intermediário;

As abstrações de configuração comuns: APIs, produtos, APPs, ambientes ...

Features

○ OAuth, API Key verification;○ Developer Portal;○ Rate limiting;○ Policies;○ Transformations;○ Backend as a Service.

Soluções Open Source

Componentes

Nginx + Lua

Features

○ Equivalentes as soluções como produto;○ Menos maduras em Developer Portal; ○ Management mais simplificado, mas exposto via

API.

Construir a própria solução

○ Não é uma boa opção;○ Se for necessário, ir para um caminho de extensão.

Construir?

Obrigado!

API Management: Um aliado para a construção de APIs

Rafael Souza@rafael_psouza

http://rafaelsouza.eng.br