mobile back end as a service na aws
TRANSCRIPT
Sem Servidores: Mobile Backend-
as-a-Service na plataforma AWS
Henry Alvarado
Arquiteto de Soluções @ Amazon Web Services
AWS Stack de serviços
Infrastructure RegionsPoints
of PresenceAvailability Zones
Core ServicesStorage(Object, Block
and Archival)
Compute(VMs, Auto-scaling
and Load Balancing)
Databases(Relational, NoSQL, Caching)
Networking(VPC, DX, DNS)
CDN
Access ControlUsage
Auditing
Monitoring and
Logs
Administration
& SecurityKey Storage
Identity
Management
Platform
Services
Deployment & Management
One-click web app
deployment
Dev/ops resource
management
Resource Templates Push Notifications
Mobile Services
Mobile Analytics
Identity
Sync
App Services
Workflow
Transcoding
Search
Queuing &
Notifications
App streaming
Analytics
Hadoop
Data Pipelines
Data Warehouse
Real-time
Streaming Data
Enterprise
ApplicationsVirtual Desktops Collaboration and Sharing
O Que é MBaaS?
• Modelo para provisionamento de serviços de
backend via cloud para aplicações web e mobile– Notificações via push, integração com redes sociais,
armazenamento, banco de dados, busca, etc.
– Agilidade e desenvolvimento mais rápido (foco na aplicação e
não em serviços de no backend)
– Baixo custo, alta disponibilidade e escalabilidade
– Menos Infraestrutura para manter (servidores, SO, web e app
server, BD, storage, redes, etc.)
Caso de Uso: Transição de Estado
Múltiplas contas podem ser
vinculadas ao mesmo perfil
• Usuário deveria ter um
identificador padronizado e
único
• Mini-CMS Web para cadastro de categorias e itens
• Publicação (geração de versões estáticas das páginas para as múltiplas
plataformas de visualização – Web Browser, Android e IOS)
Exemplo de MBaaS usando serviços da AWS
• Perfil do usuário (Favoritos) em datastoresincronizado entre as plataformas
• Geração de Thumbnail, Busca, Notificações SNS e Analytics
Exemplo de MBaaS usando serviços da AWS
Sem MBaaS, o que seria necessário?
ES
Ngnx
Ngnx Apache
Apache ES
users
Admin
AZ 2
AZ 1
Ngnx
Ngnx
AS group
Sem MBaaS, o que seria necessário?
ES
Ngnx
Ngnx Apache
Apache ES
users
Admin
AZ 2
AZ 1
Ngnx Apache
Ngnx Apache
AS group AS group
Sem MBaaS, o que seria necessário?
ES
Ngnx
Ngnx Apache
Apache ES
users
Admin
AZ 2
AZ 1
Ngnx Apache
Ngnx Apache
AS group AS group
ES
ES
Sem MBaaS, o que seria necessário?
ES
Ngnx
Ngnx Apache
Apache ES
users
Admin
AZ 2
AZ 1
Ngnx Apache
Ngnx Apache
AS group AS group
ES
ES
SDK Javascript AWS
• Acesso aos serviços da AWS diretamente do
browser
• Não requer servidores
• Fácil de instalar
• Fácil de aprender (javascript!)
• Login em redes sociais com Cognito
• Dados persistentes com Dynamodb
• Armazenamento de arquivos com o S3
• Suporte a todos os browser modernos
SDK Mobile AWS
• Mecanismo comum de autenticação entre
diversas plataformas
• Tratamento automático de intermitências de
rede
• Suporte a múltiplas plataformas: Android,
IOS, Unity e FireOS
• SDKs nativos otimizados para OS móvel,
como por exemplo, através do uso de
arquitetura local para cache offline
• Footprint de memória otimizado; Escolha e
use apenas os jars que necessitar
Route 53
• Serviço de DNS altamente disponível e escalável.
• Tradução de nome para IP com excelente custo benefício.
• Múltiplos tipos de roteamento:
• Roteamento Baseado em Latência.
• Geo DNS.
• Round Robin por Peso.
• DNS Failover com healthchecks.
• Registro de domínio (compra de domínios).
• Pode ser usado também para redirecionar usuários para infraestrutura fora da AWS.
CloudFront (Content Delivery Network / CDN)
• Rede de entrega de conteúdo
• Infraestrutura Global (53 pontos de presença)
• Otimizada para alta performance
• Escalabilidade massiva
• Altamente segura
• Self Service
• Precificada para minimizar custo
CloudFront (Content Delivery Network / CDN)
• Arquivos estáticos
• Media e Entretenimento
• Jogos
• eCommerce
• Publicidade Digital
• Downloads de Softwares
• Websites Dinâmicos e Aplicações
S3 (Simple Storage Service)
• Armazenamento de objetos acessível via Web
• Pague exatamente e apenas pelo que usar
• Altamente durável (desenhado para 99.999999999%)
• Escalabilidade virtualmente ilimitada
• Nativamente online
S3 (Simple Storage Service)
• Objetos armazenados no S3 são URLs
• Transfira o trabalho de servir arquivos estáticos para o Amazon S3
• Redução de uso de disco físico
• Características:
• I/O paralelizado para máxima velocidade
• Permissões a nível de recursos via IAM
• Listas de controle e políticas de acesso
• Envio direto das aplicações ao S3
• Criptografia server-side
S3 Code Snippet (Javascript)
var bucket = new AWS.S3({
params : {
Bucket : 'pairarchitecture'
}
});
var fileChooser = document.getElementById('add-file-chooser');
var file = fileChooser.files[0];
Var fileName = file.name.toLowerCase();
var params = {
Key : 'images/' + fileName,
ContentType : file.type,
Body : file
};
bucket.upload(params, function(err, data) {
...
});
Cognito (Autenticação e Data Store)
Simplifica o
gerenciamento de
acesso e identidades
Acesso seguro a
todos os serviços da
AWS
Sincronização Cross-
device e Cross-
plataforma
Implementa melhores
práticas de segurança
“Dados da sua aplicação seguros, disponíveis offline e sincronizados entre
diferentes dispositivos”
Sincroniza dados do
usuário entre as
plataformas e
dispositivos
Gerencia usuários com
identidade única entre
diferentes provedores
Guest Sua própria
Autenticação
Cognito Code Snippet (Javascript)
var params = {
AccountId : "98XXXXXX48490",
RoleArn : "arn:aws:iam::982433XXXXXX90:role/Cognito_pairarchitecturecmsAuth_Role",
IdentityPoolId : "us-east-1:4eXXXXXX40-16df-4ad8-a55f-c0a68616e585",
Logins : {
'graph.facebook.com' : response.authResponse.accessToken
}
};
AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials(params);
AWS.config.credentials.get(function(err) {
if (!err) {
console.log("Cognito Identity Id: ” + AWS.config.credentials.identityId);
}
});
ROUTE 53DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
CM
S
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
DynamoDB
Serviço de banco NoSQL em nuvem
• Não-relacional
• Performance previsível
• Escalabilidade sem esforço
• Fácil administração
DynamoDB Code Snippet (Javascript)
var db = new AWS.DynamoDB();
var params = {
KeyConditions : {
category_name : {
ComparisonOperator : 'EQ',
AttributeValueList : [ {
S : ‘Categoria1’
} ]
}
},
TableName : 'pairarchitecture_items',
ConsistentRead : true
};
db.query(params, function(err, data) {
...
});
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
S
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
Lambda
Escalabilidade automática
Foco na lógica do
negócio, não na
infraestrutura. Suba seu
código e deixe o Lambda
fazer o resto.
Nenhuma Administração
Lambda escala a
infraestrutura conforme
necessário e você paga
conforme usa
Traga seu próprio
Código
“Execute funções stateless na nuvem e escale automaticamente sem ter de
gerenciar nenhum servidor”
Lamba está começando com
Javascript (node.js), mas em
breve teremos suporte a
outras linguagens.
Lambda
Gatilhos a partir
de Dados
Processamento de
Streams de dadosIndexação &
sincronização
Back-end
sem servidorIoT
Lambda Code Snippet (Node.js)var aws = require('aws-sdk');
var AWS_REGION = "us-east-1";
var CLOUDSEARCH_DOC_ENDPOINT = "doc-mbaasdemo- ... cloudsearch.amazonaws.com";
var sdf1;
var params = {query: '-foobar’, size: 10000};
exports.handler = function(event, context) {
csd = new aws.CloudSearchDomain({endpoint: CLOUDSEARCH_DOC_ENDPOINT,region: AWS_REGION});
csd.search(params, function(err, data) {
data.hits.hit.forEach (function(item, index) {
sdf1.push({type: "delete", id: item.id});
});
});
csd.uploadDocuments({documents: JSON.stringify(sdf1),contentType: "application/json"}, function(err, data){
if (err) {
console.log("Error Deleting Documents: ” + err);
});
});
}
Lambda Code Snippet (Javascript)
var lambda = new AWS.Lambda();
thumb = fileName.split(".")[0] + "_thumb." + fileName.split(".")[1];
var params = {
FunctionName : 'ThumbCreator',
InvokeArgs : "{\"bucket\":\"pairarchitecture\",\"key\":\"" + "images/" + fileName + "\"}”
};
lambda.invokeAsync(params, function(err, data) {
...
});
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
CloudSearch
• Engine de Busca 100% gerenciada
• Fácil setup e operação
• Escalável
• Confiável
• Alta Performance
• Não tenha mais que adivinhar capacidade
• Funcionalidades
• Busca facetada, sugestões, relevância,
busca geo-localizada, suporte a multi-
língua, etc.
• Custo
• Pague apenas aquilo que utilizar
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
COGNITO
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
COGNITO
COGNITO SYNC
STORE (FAVORITES)
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
COGNITO SYNC
STORE (FAVORITES)SNS
COGNITO PUSH SYNC
COGNITO
SNS (Simple Notification Service)
Amazon SNS
Mobile Push
Cross-
plataforma
Internet
Apple APNS
Google GCM
Amazon ADM
Windows WNS e
MPNS
Baidu CP
Com o Amazon SNS, desenvolvedores podem mandar notificações push para
múltiplas plataformas e usuários mobile ao redor do mundo
Celulares e Tablets Android
Celulares e Tablets Apple
Dispositivos Kindle
iOS
Dispositivos Windows Desktop e
Windows Phone
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
SNS
COGNITO PUSH SYNC
COGNITO
COGNITO SYNC
STORE (FAVORITES)
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
SNS
SE
AR
C
HIN
G
COGNITO PUSH SYNC
COGNITO
COGNITO SYNC
STORE (FAVORITES)
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
SNS
SE
AR
C
HIN
G
COGNITO PUSH SYNC
MOBILE
ANALYTICS
COGNITO
COGNITO SYNC
STORE (FAVORITES)
Mobile Analytics
Free Tier escalável e
generoso
Foco em métricas que
importam. Relatórios de
utilização disponíveis a
cada 60 minutos a partir
do recebimento dos
dados
Rápido
Escale até bilhões de
eventos por dia partir de
milhões de usuários
Tome posse dos seus
dados
“Fácil de coletar, visualizar e interpretar os dados de uso da sua aplicação
mobile em larga escala”
Dados coletados não são
compartilhados,
agregados ou
reutilizados.
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
SNS
SE
AR
C
HIN
G
COGNITO PUSH SYNC
MOBILE
ANALYTICS
COGNITO
COGNITO SYNC
STORE (FAVORITES)
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSERAWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM
STHUMBNAILS
BA
CK
EN
D (
MB
aa
S) CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
IND
EX
I
NG
FR
ON
TE
ND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
ROUTE 53
CLOUDFRONT
SNS
SE
AR
C
HIN
G
COGNITO PUSH SYNC
MOBILE
ANALYTICS
COGNITO
COGNITO SYNC
STORE (FAVORITES)
Blogs
• https://aws.amazon.com/blogs/aws/
• http://aws.typepad.com/brasil/
• http://blogs.aws.amazon.com/application-management
• http://blogs.aws.amazon.com/php/
• http://blogs.aws.amazon.com/net/
• http://ruby.awsblog.com/
• http://mobile.awsblog.com/
• http://java.awsblog.com/
• http://blogs.aws.amazon.com/security/
• https://medium.com/aws-activate-startup-blog
• https://blogs.aws.amazon.com/bigdata/
• https://aws.amazon.com/blogs/apn/
• https://aws.amazon.com/blogs/compute/
• http://sesblog.amazon.com/
Documentações (Getting Started)• Amazon Route53:
• http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html
• Amazon CloudFront:
• http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GettingStarted.html
• Amazon S3:
• http://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html
• Amazon Cognito
• http://aws.amazon.com/documentation/cognito/
• Amazon DynamoDB
• http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html
• AWS Lambda
• http://docs.aws.amazon.com/lambda/latest/dg/getting-started.html
• Amazon CloudSerach
• http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-started.html
• Amazon SNS
• http://docs.aws.amazon.com/sns/latest/dg/GettingStarted.html