5. 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.)
6. Caso de Uso: Transición de estado
Perfil de usuario inicialmente
como “anónimo” o “guest”
7. Posterior registro de la cuenta
• La transición debería ser
simple.
Caso de Uso: Transición de estado
8. 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.
11. 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
12. 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
29. 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
30. 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.
33. 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
35. 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
36. CloudFront (Content Delivery Network / CDN)
• Archivos estáticos
• Media y entretenimiento
• Juegos
• eComerce
• Publicidad digital
• Downloads de software
• Websites dinámicos y aplicaciones
38. 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
39. 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
40. 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) {
...
});
42. 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
48. 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.
53. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
54. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
55. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
56. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
57. 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
58. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
59. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
60. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
61. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
END USER
WEB BROWSER
AWS SDK
JAVASCRIPT
END USER
MOBILE (IOS)
AWS MOBILE SDK
IOS
END USER
MOBILE (ANDROID)
AWS MOBILE
SDK ANDROID
62. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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
63. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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
64. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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
65. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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
66. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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
67. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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)
68. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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
69. 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
70. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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)
71. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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
SEARC
HING
COGNITO PUSH SYNC
COGNITO
COGNITO SYNC
STORE (FAVORITES)
72. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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
SEARC
HING
COGNITO PUSH SYNC
MOBILE
ANALYTICS
COGNITO
COGNITO SYNC
STORE (FAVORITES)
73. 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.
74. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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
SEARC
HING
COGNITO PUSH SYNC
MOBILE
ANALYTICS
COGNITO
COGNITO SYNC
STORE (FAVORITES)
76. ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CMS
THUMBNAILS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREATION
AUTH
LAMBDA CALL FOR JSON + HTML PUBLISHING
AND INDEXING
S3
THUMBNAILS
JSON + HTML
CLOUDSEARCH
INDEXI
NG
FRONTEND
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
SEARC
HING
COGNITO PUSH SYNC
MOBILE
ANALYTICS
COGNITO
COGNITO SYNC
STORE (FAVORITES)