SlideShare una empresa de Scribd logo
1 de 50
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

Más contenido relacionado

Similar a Dicas sobre API (case Stormpath, Edmunds e Twitter)

Ruby on Rails 100% na cloud com heroku e outros serviços
Ruby on Rails 100% na cloud com heroku e outros serviçosRuby on Rails 100% na cloud com heroku e outros serviços
Ruby on Rails 100% na cloud com heroku e outros serviços
Bruno Ghisi
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
Alexandre Antunes
 

Similar a Dicas sobre API (case Stormpath, Edmunds e Twitter) (20)

Desbravando o REST com Python
Desbravando o REST com PythonDesbravando o REST com Python
Desbravando o REST com Python
 
REST com Python
REST com PythonREST com Python
REST com Python
 
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e ElasticsearchTDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Oficina 1 Confoa 2013 - Parte 3 - Interoperabilidade e repositórios - josé c...
Oficina 1  Confoa 2013 - Parte 3 - Interoperabilidade e repositórios - josé c...Oficina 1  Confoa 2013 - Parte 3 - Interoperabilidade e repositórios - josé c...
Oficina 1 Confoa 2013 - Parte 3 - Interoperabilidade e repositórios - josé c...
 
Web 2.0 e RIA com PHP
Web 2.0 e RIA com PHPWeb 2.0 e RIA com PHP
Web 2.0 e RIA com PHP
 
AWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
AWS Meetup - Processando dados em alta escala com Node.js e AWS LambdaAWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
AWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
Ruby on Rails 100% na cloud com heroku e outros serviços
Ruby on Rails 100% na cloud com heroku e outros serviçosRuby on Rails 100% na cloud com heroku e outros serviços
Ruby on Rails 100% na cloud com heroku e outros serviços
 
Android
AndroidAndroid
Android
 
Interoperabilidade e o SciELO
Interoperabilidade e o SciELOInteroperabilidade e o SciELO
Interoperabilidade e o SciELO
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
Um pouco sobre APIs
Um pouco sobre APIsUm pouco sobre APIs
Um pouco sobre APIs
 
Escalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonEscalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em Python
 
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluçõesTDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
 
Elastic @ The Ministry of Health/Datasus (P)
Elastic @ The Ministry of Health/Datasus (P)Elastic @ The Ministry of Health/Datasus (P)
Elastic @ The Ministry of Health/Datasus (P)
 
Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...
Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...
Instalando arquitetura Lambda com Graphx e Elasticsearch 2.0 em uma aplicação...
 

Más de Felipe Caparelli

Más de Felipe Caparelli (9)

Arquitetura db (app + web)
Arquitetura db (app + web)Arquitetura db (app + web)
Arquitetura db (app + web)
 
Porteiro digital
Porteiro digitalPorteiro digital
Porteiro digital
 
Mercado digital
Mercado digitalMercado digital
Mercado digital
 
Imagens com Escalabilidade - Arquitetura de Dados
Imagens com Escalabilidade - Arquitetura de DadosImagens com Escalabilidade - Arquitetura de Dados
Imagens com Escalabilidade - Arquitetura de Dados
 
Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...
Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...
Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...
 
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
 
API - Como fazer?
API - Como fazer?API - Como fazer?
API - Como fazer?
 
Estratégias Competitivas - Case Ambev
Estratégias Competitivas - Case AmbevEstratégias Competitivas - Case Ambev
Estratégias Competitivas - Case Ambev
 
Ambientes do futuro
Ambientes do futuroAmbientes do futuro
Ambientes do futuro
 

Último

Último (8)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 

Dicas sobre API (case Stormpath, Edmunds e Twitter)