AWS Summits América Latina 2015- Sin servidores: Mobile backend como servicio en AWS

81
Bogotá

Transcript of AWS Summits América Latina 2015- Sin servidores: Mobile backend como servicio en AWS

Bogotá

Sin Servidores: Mobile Backend-

as-a-Service en AWS

Henry Alvarado

Arquitecto de Soluciones

Amazon Web Services

AWS Stack de servicios

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)

Qué es MBaaS?

• Modelo de aprovisionamiento de servicios de backend vía cloud para aplicaciones web y mobile– Notificaciones vía push, integración con redes sociales,

almacenamiento, bases de datos, búsqueda, etc.

– Agilidad y desarrollo más rápido (foco en la aplicación y no en los servicios de backend)

– Bajo costo, alta disponibilidad y escalabilidad

– Menos infraestructura para administrar (servidores, SO, web y app servers, DB, storage, redes, etc.)

Caso de Uso: Transición de estado

Perfil de usuario inicialmente

como “anónimo” o “guest”

Posterior registro de la cuenta

• La transición debería ser

simple.

Caso de Uso: Transición de estado

Caso de Uso: Transición de Estado

Múltiples cuentas pueden ser

vinculadas al mismo perfil

• El usuario debería tener un

identificado único y

estandarizado.

Caso de Uso: Estado en juegos

Arquitectura de MBaaS en AWS

Requerimientos:

• Mini-CMS Web para registro de categorías e ítems.

• Publicación (generación de versiones estáticas del contenido para múltiples plataformas de visualización. – (Web browser, Android e IOS)

Ejemplo de MBaaS usando servicios de AWS

Requerimientos

• Perfil de usuario (Favoritos) en un datastore sincronizado

• Generación de Thumbnails, Búsqueda, Notificaciones, SNS y Analitics

Ejemplo de MBaaS usando servicios de AWS

Sin MBaaS, qué sería necesario?

users

Admin

AZ 1

Ngnx

users

Admin

AZ 1

Sin MBaaS, qué sería necesario?

Ngnx Apache

users

Admin

AZ 1

Sin MBaaS, qué sería necesario?

Ngnx Apache

users

Admin

AZ 1

Sin MBaaS, qué sería necesario?

ESNgnx Apache

users

Admin

AZ 1

Sin MBaaS, qué sería necesario?

ESNgnx Apache

users

Admin

AZ 1

Sin MBaaS, qué sería necesario?

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

Sin MBaaS, qué sería necesario?

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

Sin MBaaS, qué sería necesario?

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

Ngnx

Ngnx

AS group

Sin MBaaS, qué sería necesario?

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

Ngnx Apache

Ngnx Apache

AS group AS group

Sin MBaaS, qué sería necesario?

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

Ngnx Apache

Ngnx Apache

AS group AS group

ES

ES

Sin MBaaS, qué sería necesario?

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

Ngnx Apache

Ngnx Apache

AS group AS group

ES

ES

Sin MBaaS, qué sería necesario?

CM

S

EDITOR

WEB BROWSER

CM

S

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

SDK Javascript AWS

• Acceso a los servicios de AWS directamente

desde el browser

• No requiere servidores

• Fácil de instalar

• Fácil de aprender a usar

• Soporte para todos los browser modernos

• Login en redes sociales con Cognito

• Datos persistentes con DynamoDB

• Almacenamiento de archivos con S3

SDK Mobile AWS

• Mecanismo común de autenticación entre

diversas plataformas

• Tratamiento automático de intermitencias de

red

• Soporte a múltiples plataformas: Android,

IOS, Unity y FireOS

• SDK nativos, optimizados para el SO móvil,

como el uso de arquitectura para chache

offline

• Footprint de memoria optimizado; Escoja

únicamente los jars que necesita.

Outros SDKs AWS

ROUTE 53

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

Route 53

• Servicio de DNS altamente disponible y escalable

• Traducción de nombre a IP con excelente costo beneficio.

• Múltiples tipos de enrutamiento

• Enrutamiento basado en latencia

• Geo DNS.

• Round Robin por Peso.

• DNS Failover con healthchecks.

• Registro de dominio (compra de dominios)

• Puede ser usado también para re direccionar usuarios para infraestructura fuera de AWS

ROUTE 53

CLOUDFRONT

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

CloudFront (Content Delivery Network / CDN)

• Red de entrega de contenido

• Infraestructura global (53 puntos de presencia)

• Optimizada para alta performance

• Escalabilidad masiva

• Altamente segura

• Self Service

CloudFront (Content Delivery Network / CDN)

• Archivos estáticos

• Media y entretenimiento

• Juegos

• eComerce

• Publicidad digital

• Downloads de software

• Websites dinámicos y aplicaciones

ROUTE 53

CLOUDFRONT S3

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

S3 (Simple Storage Service)

• Almacenamiento de objetos accesibles vía Web

• Pague exactamente e apenas pelo que usar

• Altamente durable (diseñado para 99.999999999%)

• Escalabilidad virtualmente ilimitada

• Nativamente online

S3 (Simple Storage Service)

• Objetos almacenados no S3 son URLs

• Transfiera el trabajo de servir archivos estáticos para Amazon S3

• Reducción de uso de disco físico

• Características:

• I/O paralelizado para máxima velocidad

• Permisos a nivel de recursos vía IAM

• Listas de controle e políticas de acceso

• Envío directo de las aplicaciones a S3

• Criptografía 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 (Autenticación y Data Store)

Simplifica la

administración de

acceso e identidades

Acceso seguro a

todos los servicios de

AWS

Sincronización Cross-

device y Cross-

plataforma

Implementa las mejores

prácticas de seguridad

“Datos de su aplicación seguros, disponibles offline y sincronizados entre

diferentes dispositivos”

Sincroniza datos del

usuario entre las

plataformas y

dispositivos

Administra usuarios con

identidad única entre

diferentes proveedores

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

Servicio de base de datos NoSQL e la

nube

• No relacional

• Performance previsible

• Escalabilidad sin esfuerzo

• Fácil administración

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

Escalabilidad automática

Foco en la lógica del

negocio, no en la

infraestructura. Suba su

código y deje a Lambda

hacer el resto.

Ninguna administración

Lambda escala la

infraestructura a medida

que sea necesario y

usted paga solo por lo

que usa.

Traiga su própio

Código

“Ejecute funciones stateless en la nube y escale automáticamente sin tener

que administrar ningún servidor”

Lamba está comenzando con

Javascript (node.js), pero

próximamente tendremos

soporte para otros lenguajes.

Lambda

Back-end sin

servidor

Gatillos a

partir de

datos

IoT Procesamiento

de streams de

datos

Indexación y

sincronización

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

• Motor de búsqueda 100% administrado

• Fácil configuración y operación

• Escalable

• Confiable

• Alto Performance

• Pare de adivinar la capacidad requerida

• Funcionalidades

• Busca facetada, sugerencias,

relevancia, búsqueda geo-localizada,

soporte multi-lengua, etc.

• Costo

• Pague solo por lo que usa

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

Con Amazon SNS, los desarrolladores pueden mandar notificaciones push a

múltiples plataformas y usuarios mobile alrededor del mundo

Celulares y Tablets Android

Celulares y 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 escalable

Foco en métricas que

importan. Informes de

utilización disponibles

cada 60 minutos a partir

de haber recibir los datos

Rápido

Escale hasta billones de

eventos por día a partir

de millones de usuarios

Tome posesión de

sus datos

“Fácil recolectar, visualizar e interpretar los datos de uso de su aplicación

Mobile en larga escala”

Datos recolectados no

son compartidos,

agregados o 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)

Cuantos 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 pasos

Comience a usar sin 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/

Documentaciones (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

Gracias!