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
Escalabilidade
Generalidade (HTTP)
Independência
Latência (Caching)
Segurança
Encapsulamento
Por quê JSON?
www.stormpath.com
Ubiquidade (disseminado)
Simplicidade
Legibilidade
Escalabilidade
Flexibilidade
Composição
www.stormpath.com
Aplicações
Diretórios
Contas
Grupos
Associações
Workflows
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 recursos

Collection Resource: /applications - Coleção

Instance Resource: /applications/a1b2c3 - Instância (id)
www.stormpath.com
API Keys
www.stormpath.com
Entropia
Reset de senha
Independência
Velocidade
Exposição limitada
Rastreabilidade
Caso 2
Motivação
developer.edmunds.com
Reconhecimento da marca
Maior inovação
Maior rentabilidade
Descoberta de talentos
Capacitaçã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 API
Capacitação interna
Alto engajamento
80% dos dados expostos
Próximos passos
developer.edmunds.com
Widgets
API 2.0
Widget
developer.edmunds.com
Rápida adoção/implementação
Melhor controle analísitico
Solução SAAS
Extensibilidade
developer.edmunds.com
API 2.0
developer.edmunds.com
Simplificação dos métodos
Documentação melhorada
Escrita 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/dia

8Tb 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
Snowflake
Geraçã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
FlockDB
Banco 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 2008
1358% 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 Internet
Aprox. 564 mil sites usando Twitter Widgets
Desafios
dev.twitter.com
Tempo real
Indexação, busca e análise
Sistema relevante
Graph Database
Storage
Escalabilidade 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

Dicas sobre API (case Stormpath, Edmunds e Twitter)