mobile back end as a service na aws

81
São Paulo

Upload: amazon-web-services-latin-america

Post on 25-Jul-2015

153 views

Category:

Software


1 download

TRANSCRIPT

São Paulo

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

Email

Search

Queuing &

Notifications

App streaming

Analytics

Hadoop

Data Pipelines

Data Warehouse

Real-time

Streaming Data

Enterprise

ApplicationsVirtual Desktops Collaboration and Sharing

Mobile Backend-as-a-Service (MBaaS)

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

Perfil do usuário inicialmente

como “anônimo” ou “guest”

Caso de Uso: Transição de Estado

Posterior registro da conta

• A transição deveria ser

tranquila.

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

Caso de Uso: Estado em Jogos

Arquitetura MBaaS na AWS

• 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?

users

Admin

AZ 1

Sem MBaaS, o que seria necessário?

Ngnx

users

Admin

AZ 1

Sem MBaaS, o que seria necessário?

Ngnx Apache

users

Admin

AZ 1

Sem MBaaS, o que seria necessário?

Ngnx Apache

users

Admin

AZ 1

Sem MBaaS, o que seria necessário?

ESNgnx Apache

users

Admin

AZ 1

Sem MBaaS, o que seria necessário?

ESNgnx Apache

users

Admin

AZ 1

Sem MBaaS, o que seria necessário?

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

Sem MBaaS, o que seria necessário?

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

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

CM

S

EDITOR

WEB BROWSER

CM

S

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

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

Outros SDKs AWS

ROUTE 53

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

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.

ROUTE 53

CLOUDFRONT

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

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

ROUTE 53

CLOUDFRONT S3

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

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) {

...

});

ROUTE 53

CLOUDFRONT S3

COGNITO

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

AUTH

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)

Quantos Servidores?

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)

Próximos passos

Comece a usar sem pagar

• aws.amazon.com/free/

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

Obrigado!