aws summit bogotá track avanzado: sin servidores: mobile backend como servicio en aws

81
Bogotá

Upload: amazon-web-services

Post on 31-Jul-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Bogotá

Page 2: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Sin Servidores: Mobile Backend-

as-a-Service en AWS

Henry Alvarado

Arquitecto de Soluciones

Amazon Web Services

Page 3: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 4: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Mobile Backend-as-a-Service (MBaaS)

Page 5: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 6: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Caso de Uso: Transición de estado

Perfil de usuario inicialmente

como “anónimo” o “guest”

Page 7: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Posterior registro de la cuenta

• La transición debería ser

simple.

Caso de Uso: Transición de estado

Page 8: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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.

Page 9: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Caso de Uso: Estado en juegos

Page 10: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Arquitectura de MBaaS en AWS

Page 11: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio 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

Page 12: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en 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

Page 13: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS
Page 14: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Sin MBaaS, qué sería necesario?

users

Admin

AZ 1

Page 15: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Ngnx

users

Admin

AZ 1

Sin MBaaS, qué sería necesario?

Page 16: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Ngnx Apache

users

Admin

AZ 1

Sin MBaaS, qué sería necesario?

Page 17: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Ngnx Apache

users

Admin

AZ 1

Sin MBaaS, qué sería necesario?

Page 18: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

ESNgnx Apache

users

Admin

AZ 1

Sin MBaaS, qué sería necesario?

Page 19: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

ESNgnx Apache

users

Admin

AZ 1

Sin MBaaS, qué sería necesario?

Page 20: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

Sin MBaaS, qué sería necesario?

Page 21: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

Sin MBaaS, qué sería necesario?

Page 22: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

ES

Ngnx

Ngnx Apache

Apache ES

users

Admin

AZ 2

AZ 1

Ngnx

Ngnx

AS group

Sin MBaaS, qué sería necesario?

Page 23: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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?

Page 24: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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?

Page 25: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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?

Page 26: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

CM

S

Page 27: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

EDITOR

WEB BROWSER

CM

S

Page 28: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

Page 29: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 30: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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.

Page 31: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Outros SDKs AWS

Page 32: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

ROUTE 53

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

Page 33: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 34: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

ROUTE 53

CLOUDFRONT

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

Page 35: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 36: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

CloudFront (Content Delivery Network / CDN)

• Archivos estáticos

• Media y entretenimiento

• Juegos

• eComerce

• Publicidad digital

• Downloads de software

• Websites dinámicos y aplicaciones

Page 37: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

ROUTE 53

CLOUDFRONT S3

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

Page 38: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 39: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 40: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

...

});

Page 41: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

ROUTE 53

CLOUDFRONT S3

COGNITO

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S)

AUTH

Page 42: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 43: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

}

});

Page 44: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

ROUTE 53DYNAMODB

CLOUDFRONT S3

COGNITO

EDITOR

WEB BROWSERAWS SDK

JAVASCRIPT

CM

S

BA

CK

EN

D (

MB

aa

S) CATEGORIES AND ITEMS CREATION

AUTH

Page 45: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

DynamoDB

Servicio de base de datos NoSQL e la

nube

• No relacional

• Performance previsible

• Escalabilidad sin esfuerzo

• Fácil administración

Page 46: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

...

});

Page 47: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 48: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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.

Page 49: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Lambda

Back-end sin

servidor

Gatillos a

partir de

datos

IoT Procesamiento

de streams de

datos

Indexación y

sincronización

Page 50: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

});

});

}

Page 51: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

...

});

Page 52: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 53: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 54: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 55: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 56: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 57: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 58: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 59: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 60: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 61: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 62: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 63: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 64: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 65: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 66: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 67: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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)

Page 68: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 69: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 70: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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)

Page 71: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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)

Page 72: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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)

Page 73: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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.

Page 74: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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)

Page 75: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Cuantos Servidores?

Page 76: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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)

Page 77: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Próximos pasos

Page 78: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Comience a usar sin pagar

• aws.amazon.com/free/

Page 79: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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/

Page 80: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

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

Page 81: AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servicio en AWS

Gracias!