Slides

Transcrição

Slides
Os 7 pecados capitais na exposição de APIs RESTful Kleber Bacili [email protected] @kleberbacili www.slideshare.net/kleberbacili/ Kleber Bacili [email protected] @kleberbacili v 
SOA, Microservices e APIs v 
Projetos bacaníssimos v 
Ferramentas sensacionais v 
Headquarter em Campinas, escritórios em SP, Rio e EUA Alguns Clientes As APIs estão por toda parte… Clube dos Bilionários 1+ Bilhões de Calls/Dia 5+ Bilhões de Calls/Dia Fonte: ProgrammableWeb Clube dos Bilionários 13 billion API calls / day (May 2011) Approx. 75% of all traffic via API 5 billion API calls / day (April 2010) 5 billion API calls / day (October 2009) 7,2 bilion API calls (Mar/2015) 1.4 billion API calls / day (May 2012) 1.1 billion API calls / day (April 2011) 1 billion API calls / day (Mar 2012) Fonte: ProgrammableWeb Founder Startup BaXlefield 78% Open Banking? Os 7 Pecados Agenda Como evitá-­‐los 7
PECADOS
CAPITAIS
SOBERBA
IRA
LUXÚRIA
GULA
PREGUIÇA
INVEJA
AVAREZA
Um histórico cheio de conveniências: v  Pros`tuição v  Vaidade v  Fornicação v  Indolência v  Melancolia 1995
Brad Pitt
Morgan Freeman
Gwyneth Paltrow
Kevin Spacey
David Fincher
(Clube da Luta, House of Cards, Social Network…)
Avareza Ira Preguiça Luxúria Gula Inveja Soberba 1
INVEJA
Valor ques`onável “Todo mundo tem API,
também vou nessa!”
“Você pode até passar batom num porco, mas ele con`nuará sendo um porco!” API
First v  Estratégia de Produto / Modelo de Negócio v  Experiências MulL-­‐devices v  Parceiros externos e Clientes v  Integrações OnPremise–Cloud APIs 2
PREGUIÇA
Design Mequetrefe “Aplique conceitos RESTful”
§  Código Legado §  SOAP Services §  Tabelas de Banco Design Mequetrefe Coleção Resources /pedidos!
Elemento /pedidos/{id}!
RPC? /getAccount!
/getAllAccounts!
/createDirectory!
/updateGroupName!
/findClientById!
GET /vendas/pedidos!
POST /clientes/98W3G32K01/enderecos!
{…} PUT /clientes/98W3G32K01/enderecos/1!
{…} DELETE /users/98W3G32K01/photos!
PATCH /users/98W3G32K01 !
{…} 200! Resultado OK 400! Erro no Client 500! Erro no Server STATUS OK 200!
SEM Hypermedia GET /items?q=macbook+air+new {!
"results" : [ !
{!
"id" : 123,!
"name" : "Macbook Air 2010 LIKE NEW",
"price" : "499" !
}!
]!
} !
COM Hypermedia GET /items?q=macbook+air+new {!
"results" : [ !
{ "_links" : [!
{"rel": "self","uri": "/items/123" },!
{"rel": "bids","uri": "/items/123/bids" },!
{"rel": "win","uri": "/items/123/bids?q=win" } !
],!
"name" : "Macbook Air 2010 LIKE NEW",!
"price" : "499" }!
]!
} Mais informações? Vídeo do Webinar hXp://downloads.sensedia.com/webinar-­‐design-­‐de-­‐apis-­‐res[ul 3
LUXÚRIA
Segurança 8 ou 80 “Nem ligeiramente escondido nem super complexo” Auten`cação / Autorização Integridade Disponibilidade Auditoria Privacidade v  Open? v  Informações Sensíveis? v  Transações? Crí`co Intermediário Básico Usuários Apps Estratégias de Auten`cação / Autorização App Token Basic HTTP OAuth2 OpenID Connect Definição de Escopo Revogação de Token WEBINAR
Os Fundamentos da Segurança de APIs hXp://downloads.sensedia.com/webinar-­‐seguranca-­‐de-­‐apis 4
AVAREZA
Dificultar a vida do Dev “Saia da frente e deixe o
dev trabalhar”
Docs incompletos, desatualizados, está`cos e com PDFs de 200 páginas Sign-­‐up e Tokens de acesso automá`cos stripe.com/docs!
Geong Started www.twilio.com/docs!
Documentação Intera`va desenvolvedores.extra.com.br!
Exemplos de código na linguagem do developer sendgrid.com/docs!
REST Console ou Sandbox / Playgroung dev.transparencia.org.br!
UX DX (Developer Experience) 5
GULA
Entregar API instável Negócios podem ser
montados sobre sua API”
Eat you own DOG FOOD
Saiba antes que SEU CLIENTE
Powered by Client Apps Rate Limi`ng Policy API Gateway JSON Threat Policy Payload Size Policy IP Filtering Policy … Powered by APIs 6
IRA
Irritar os Devs “Não quebre os apps
dos seus parceiros”
THINGS
CHANGE!
v1 v2 v3 v4 Versionamento Versão URI: https://api.mycompany.com/name-of-api/v2/resource!
HTTP ou HTTPS Seu domínio Nome da API (opcional) Recursos e Parâmetros Foruns de discussão e Abertura de `ckets desenvolvedores.extra.com.br!
Troubleshoo`ng E SUPORTE
Powered by 7
SOBERBA
Dirigir de olhos fechados “Para quem não sabe onde quer
chegar, qualquer caminho serve”
VAIDADE?
13 bilhões de chamadas/dia 5 bilhões de chamadas/dia 5 bilhões de chamadas/dia Desenvolvedores # total # devs aLvos taxa de retenção Marke`ng # registro de devs origem do tráfego métricas de evento Comunidade mídias sociais aLvidade dos fóruns taxa de crescimento Negócios faturamento market share custos totais Inovação # produtos # apps tempo até vender Tráfego # chamadas # abusos de cota recursos mais usados hNp://www.slideshare.net/Sensedia/indicadores-­‐para-­‐ap-­‐is Serviço performance taxa de erros disponibilidade Estrutura estabilidade maturidade taxa de mudanças Canal origem das chamadas faturamento por canal Definição de indicadores, Monitoramento e Alertas www.sensedia.com/br!
1 INVEJA
Valor questionável
2 PREGUIÇA
Design Mequetrefe
3 LUXÚRIA
Segurança 8 ou 80
4 AVAREZA
Dificultar a vida do Dev
5 GULA
Entregar a API Instável
6 IRA
Irritar os Devs
7 SOBERBA
Dirigir de olhos fechados
Os 7 pecados capitais na exposição de APIs RESTful Kleber Bacili [email protected] @kleberbacili www.slideshare.net/kleberbacili/ 

Documentos relacionados

Public API -Você está preparado para um mundo

Public API -Você está preparado para um mundo 1.1 billion API calls / day (April 2011) 1 billion API calls / day (May 2012) 1 billion API calls / day (Q1 2012) 1 billion API calls / day (January 2012) Source: ProgrammableWeb Founder John Musse...

Leia mais