Upload
felipe-caparelli
View
220
Download
4
Embed Size (px)
DESCRIPTION
Conceitos importantes sobre APIs. Autores: Felipe Caparelli e Rodrigo Oliveira
Citation preview
Caso 1
O que é?
Stormpath é uma API gerenciadora de identidade e serviço de controle de acesso hospedada na nuvem que implementa melhores práticas de segurança.
www.stormpath.com
O que é?
www.stormpath.com
Metodologia
www.stormpath.com
REST + JSON
Por quê REST?
www.stormpath.com
EscalabilidadeGeneralidade (HTTP)IndependênciaLatência (Caching)SegurançaEncapsulamento
Por quê JSON?
www.stormpath.com
Ubiquidade (disseminado)SimplicidadeLegibilidadeEscalabilidadeFlexibilidade
Composição
www.stormpath.com
AplicaçõesDiretóriosContasGruposAssociaçõesWorkflows
Fundamentos
O Stormpath apresenta alguns fundamentos, um deles é a exposição de recursos através de substantivos e não verbos na definição das URLs.
www.stormpath.com
Fundamentos
Há apenas 2 tipos de recursosCollection Resource: /applications - ColeçãoInstance Resource: /applications/a1b2c3 - Instância (id)
www.stormpath.com
API Keys
www.stormpath.com
EntropiaReset de senhaIndependênciaVelocidadeExposição limitadaRastreabilidade
Caso 2
Motivação
developer.edmunds.com
Reconhecimento da marcaMaior inovaçãoMaior rentabilidadeDescoberta de talentosCapacitação interna
developer.edmunds.com
API Lançada em setembro de 2011
developer.edmunds.com
developer.edmunds.com
developer.edmunds.com
developer.edmunds.com
Resultados
developer.edmunds.com
1 ano após o lançamento...
11 Milhões de chamadas a APICapacitação internaAlto engajamento80% dos dados expostos
Próximos passos
developer.edmunds.com
WidgetsAPI 2.0
Widget
developer.edmunds.com
Rápida adoção/implementaçãoMelhor controle analísiticoSolução SAASExtensibilidade
developer.edmunds.com
API 2.0
developer.edmunds.com
Simplificação dos métodosDocumentação melhoradaEscrita de API
Caso 3
Alguns Dados
dev.twitter.com
70 Milhões de tweets por dia (2010) 800 tweets por seg.140 Milhões de tweets por dia (2011)
1 tweet text = 140 caracteres (200 bytes)800 tweets por seg. ~ 160 Kb/Seg. | 9 Mb/Min. | 12 Gb/dia
150 Mil usuários registrados (2006/2010)
Problema
dev.twitter.com
MySQL não consegue gerar IDs rápido o suficiente
Centralizado - ponto único para controle de falhas
Problema
dev.twitter.com
+ Dados (2011)
dev.twitter.com
1 Bilhão de tweets por semana - aumento de 204%117 Milhões de tweets no dia 11 de março - tsunami no japão
Nasdak 1Tb gerado por dia > Twitter 8 Tb/dia8Tb por dia aprox. 100 Mb/Seg.
572 Mil usuários registrados (março de 2011) Média de 460 Mil usuários/dia em fevereiro de 2011
Solução
dev.twitter.com
SnowflakeGeração de números UIDs em larga escala
Alta disponibilidade e não coordenado (10kqps)
Compatível com o ecosistema do Twitter
https://github.com/twitter/snowflake
Solução
dev.twitter.com
FlockDBBanco de dados distribuido
Alta taxa de operações CRUD
Conjunto de queries aritiméticas complexas
https://github.com/twitter/flockdb
API
dev.twitter.com
43 APIs (2010) - 86 APIs (2011)
600 Twitter mashups
6 Bilhões chamadas da API por dia
70 mil chamadas por segundo
~1600 desenvolvedores no Google Group
Tecnologias
dev.twitter.com
REST API (XML|JSON via HTTP)Sistema Poll-based / pseudo real-time
hosebird
Streaming API
Long poll HTTP
Entrega quase em tempo real dos tweets
Tecnologias
Dados API
dev.twitter.com
Crescimento
752% em 20081358% em 2009
2010 - 150 Milhões de pessoas geram ~1000 TPS
Meta: suportar metade do mundo e seus dispositivos (6 Bilhões de pessoas / 5 Bilhões de celulares)
Dados API
dev.twitter.com
1.648.440 sites usam a plataforma Twitter (Mar 2013)
Obs: Destes, 611.329 estão entre os mais visitados da InternetAprox. 564 mil sites usando Twitter Widgets
Desafios
dev.twitter.com
Tempo realIndexação, busca e análiseSistema relevanteGraph DatabaseStorageEscalabilidade e eficiência
Dados Relevantes APIs
Google - 5 bilhões de chamadas/dia (abril de 2010)
facebook - 5 bilhões de chamadas/dia (outubro de 2009)
twitter - 3 bilhões de chamadas/dia, 75% de todo o tráfego (Abr 2010)
ebay - 8 bilhões de chamadas/mês (3º trimestre de 2009)
bing - 3 bilhões de chamadas/mês (Mar 2009)
salesforce - 50% de todo o tráfego é feito via API (Mar 2008)
amazon WS - 100 bilhões de objetos armazenados no S3 (Mar 2010)
Dados Relevantes APIs
Dados Relevantes APIs
Dados Relevantes APIs
Dados Relevantes APIs
Dados Relevantes APIs