Bogotá
Sin Servidores: Mobile Backend-
as-a-Service en AWS
Henry Alvarado
Arquitecto de Soluciones
Amazon Web Services
AWS Stack de servicios
Infrastructure Regions
Points
of PresenceAvailability Zones
Core Services
Storage
(Object, Block
an...
Mobile Backend-as-a-Service (MBaaS)
Qué es MBaaS?
• Modelo de aprovisionamiento de servicios de
backend vía cloud para aplicaciones web y
mobile
– Notificacio...
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
id...
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 c...
Requerimientos
• Perfil de usuario (Favoritos) en un datastore sincronizado
• Generación de Thumbnails, Búsqueda, Notifica...
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 necesar...
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 n...
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 n...
CMS
EDITOR
WEB BROWSER
CMS
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
CMS
SDK Javascript AWS
• Acceso a los servicios de AWS directamente
desde el browser
• No requiere servidores
• Fácil de insta...
SDK Mobile AWS
• Mecanismo común de autenticación entre
diversas plataformas
• Tratamiento automático de intermitencias de...
Outros SDKs AWS
ROUTE 53
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
CMS
BACKEND(MBaaS)
Route 53
• Servicio de DNS altamente disponible y
escalable
• Traducción de nombre a IP con excelente costo
beneficio.
• M...
ROUTE 53
CLOUDFRONT
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
CMS
BACKEND(MBaaS)
CloudFront (Content Delivery Network / CDN)
• Red de entrega de contenido
• Infraestructura global (53 puntos de presencia...
CloudFront (Content Delivery Network / CDN)
• Archivos estáticos
• Media y entretenimiento
• Juegos
• eComerce
• Publicida...
ROUTE 53
CLOUDFRONT S3
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
CMS
BACKEND(MBaaS)
S3 (Simple Storage Service)
• Almacenamiento de objetos accesibles vía Web
• Pague exactamente e apenas pelo que usar
• Al...
S3 (Simple Storage Service)
• Objetos almacenados no S3 son URLs
• Transfiera el trabajo de servir archivos estáticos para...
S3 Code Snippet (Javascript)
var bucket = new AWS.S3({
params : {
Bucket : 'pairarchitecture'
}
});
var fileChooser = docu...
ROUTE 53
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
CMS
BACKEND(MBaaS)
AUTH
Cognito (Autenticación y Data Store)
Simplifica la
administración de
acceso e identidades
Acceso seguro a
todos los servic...
Cognito Code Snippet (Javascript)
var params = {
AccountId : "98XXXXXX48490",
RoleArn : "arn:aws:iam::982433XXXXXX90:role/...
ROUTE 53
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
CMS
BACKEND(MBaaS)
CATEGORIES AND ITEMS CREA...
DynamoDB
Servicio de base de datos NoSQL e la
nube
• No relacional
• Performance previsible
• Escalabilidad sin esfuerzo
•...
DynamoDB Code Snippet (Javascript)
var db = new AWS.DynamoDB();
var params = {
KeyConditions : {
category_name : {
Compari...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
Lambda
Escalabilidad automática
Foco en la lógica del
negocio, no en la
infraestructura. Suba su
código y deje a Lambda
ha...
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 = "...
Lambda Code Snippet (Javascript)
var lambda = new AWS.Lambda();
thumb = fileName.split(".")[0] + "_thumb." + fileName.spli...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
CloudSearch
• Motor de búsqueda 100% administrado
• Fácil configuración y operación
• Escalable
• Confiable
• Alto Perform...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
SNS (Simple Notification Service)
Amazon SNS
Mobile Push
Cross-
plataforma
Internet
Apple APNS
Google GCM
Amazon ADM
Windo...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
Mobile Analytics
Free Tier escalable
Foco en métricas que
importan. Informes de
utilización disponibles
cada 60 minutos a ...
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
Cuantos Servidores?
ROUTE 53
LAMBDA
DYNAMODB
CLOUDFRONT S3
COGNITO
EDITOR
WEB BROWSER
AWS SDK
JAVASCRIPT
LAMBDA CALL FOR THUMBNAIL CREATION
CM...
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-manag...
Documentaciones (Getting Started)
• Amazon Route53:
• http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-sta...
Gracias!
AWS Summits América Latina 2015- Sin servidores: Mobile backend como servicio en AWS
Próxima SlideShare
Cargando en…5
×

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

488 visualizaciones

Publicado el

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

Publicado en: Tecnología
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
488
En SlideShare
0
De insertados
0
Número de insertados
4
Acciones
Compartido
0
Descargas
11
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

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

  1. 1. Bogotá
  2. 2. Sin Servidores: Mobile Backend- as-a-Service en AWS Henry Alvarado Arquitecto de Soluciones Amazon Web Services
  3. 3. AWS Stack de servicios Infrastructure Regions Points of PresenceAvailability Zones Core Services Storage (Object, Block and Archival) Compute (VMs, Auto-scaling and Load Balancing) Databases (Relational, NoSQL, Caching) Networking (VPC, DX, DNS) CDN Access Control Usage Auditing Monitoring and Logs Administration & Security Key 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 Applications Virtual Desktops Collaboration and Sharing
  4. 4. Mobile Backend-as-a-Service (MBaaS)
  5. 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. 6. Caso de Uso: Transición de estado Perfil de usuario inicialmente como “anónimo” o “guest”
  7. 7. Posterior registro de la cuenta • La transición debería ser simple. Caso de Uso: Transición de estado
  8. 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.
  9. 9. Caso de Uso: Estado en juegos
  10. 10. Arquitectura de MBaaS en AWS
  11. 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. 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
  13. 13. Sin MBaaS, qué sería necesario? users Admin AZ 1
  14. 14. Ngnx users Admin AZ 1 Sin MBaaS, qué sería necesario?
  15. 15. Ngnx Apache users Admin AZ 1 Sin MBaaS, qué sería necesario?
  16. 16. Ngnx Apache users Admin AZ 1 Sin MBaaS, qué sería necesario?
  17. 17. ESNgnx Apache users Admin AZ 1 Sin MBaaS, qué sería necesario?
  18. 18. ESNgnx Apache users Admin AZ 1 Sin MBaaS, qué sería necesario?
  19. 19. ES Ngnx Ngnx Apache Apache ES users Admin AZ 2 AZ 1 Sin MBaaS, qué sería necesario?
  20. 20. ES Ngnx Ngnx Apache Apache ES users Admin AZ 2 AZ 1 Sin MBaaS, qué sería necesario?
  21. 21. ES Ngnx Ngnx Apache Apache ES users Admin AZ 2 AZ 1 Ngnx Ngnx AS group Sin MBaaS, qué sería necesario?
  22. 22. 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?
  23. 23. 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?
  24. 24. 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?
  25. 25. CMS
  26. 26. EDITOR WEB BROWSER CMS
  27. 27. EDITOR WEB BROWSER AWS SDK JAVASCRIPT CMS
  28. 28. 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
  29. 29. 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.
  30. 30. Outros SDKs AWS
  31. 31. ROUTE 53 EDITOR WEB BROWSER AWS SDK JAVASCRIPT CMS BACKEND(MBaaS)
  32. 32. 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
  33. 33. ROUTE 53 CLOUDFRONT EDITOR WEB BROWSER AWS SDK JAVASCRIPT CMS BACKEND(MBaaS)
  34. 34. 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
  35. 35. CloudFront (Content Delivery Network / CDN) • Archivos estáticos • Media y entretenimiento • Juegos • eComerce • Publicidad digital • Downloads de software • Websites dinámicos y aplicaciones
  36. 36. ROUTE 53 CLOUDFRONT S3 EDITOR WEB BROWSER AWS SDK JAVASCRIPT CMS BACKEND(MBaaS)
  37. 37. 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
  38. 38. 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
  39. 39. 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) { ... });
  40. 40. ROUTE 53 CLOUDFRONT S3 COGNITO EDITOR WEB BROWSER AWS SDK JAVASCRIPT CMS BACKEND(MBaaS) AUTH
  41. 41. 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
  42. 42. 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); } });
  43. 43. ROUTE 53 DYNAMODB CLOUDFRONT S3 COGNITO EDITOR WEB BROWSER AWS SDK JAVASCRIPT CMS BACKEND(MBaaS) CATEGORIES AND ITEMS CREATION AUTH
  44. 44. DynamoDB Servicio de base de datos NoSQL e la nube • No relacional • Performance previsible • Escalabilidad sin esfuerzo • Fácil administración
  45. 45. 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) { ... });
  46. 46. ROUTE 53 LAMBDA DYNAMODB CLOUDFRONT S3 COGNITO EDITOR WEB BROWSER AWS SDK JAVASCRIPT LAMBDA CALL FOR THUMBNAIL CREATION CMS BACKEND(MBaaS) CATEGORIES AND ITEMS CREATION AUTH
  47. 47. 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.
  48. 48. Lambda Back-end sin servidor Gatillos a partir de datos IoT Procesamiento de streams de datos Indexación y sincronización
  49. 49. 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); }); }); }
  50. 50. 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) { ... });
  51. 51. 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
  52. 52. 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
  53. 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. 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 S3 THUMBNAILS JSON + HTML
  55. 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 CLOUDSEARCH INDEXI NG
  56. 56. 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
  57. 57. 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
  58. 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 FRONTEND
  59. 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 END USER WEB BROWSER AWS SDK JAVASCRIPT
  60. 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 END USER MOBILE (IOS) AWS MOBILE SDK IOS END USER MOBILE (ANDROID) AWS MOBILE SDK ANDROID
  61. 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 ROUTE 53
  62. 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 CLOUDFRONT
  63. 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. 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. 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 COGNITO
  66. 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 COGNITO SYNC STORE (FAVORITES)
  67. 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 SYNC STORE (FAVORITES) SNS COGNITO PUSH SYNC COGNITO
  68. 68. 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
  69. 69. 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)
  70. 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 SEARC HING COGNITO PUSH SYNC COGNITO COGNITO SYNC STORE (FAVORITES)
  71. 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 MOBILE ANALYTICS COGNITO COGNITO SYNC STORE (FAVORITES)
  72. 72. 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.
  73. 73. 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)
  74. 74. Cuantos Servidores?
  75. 75. 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. 76. Próximos pasos
  77. 77. Comience a usar sin pagar • aws.amazon.com/free/
  78. 78. 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/
  79. 79. 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/GettingStartedDynamoD B.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
  80. 80. Gracias!

×