SlideShare una empresa de Scribd logo
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Jesus Bonequi, Arquitecto de soluciones
AWS
Construyendo un App Móvil
utilizando AWS
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Contenido de la tienda
Pruebas en Dispositivos
Entrega de contenido
Almacene los datos
Registre eventos en
tiempo real
Ejecute la lógica de
negocio
Envíe Push Notifications
Administre usuarios y proveedores de identidad
Sincronice entre dispositivos
Acceso seguro a recursos
de la nube
Realice pruebas en múltiples
dispositivos y sistemas operativos
Rastre el engagement
de usuarios activos
Ejecute código personalizado
sin necesidad de servidores
Almacene contenido generado
por los usuarios y compártelos
Entregue rápida y globalmente el contenido
Traiga nuevamente a los usuarios a su app
Al enviar mensajes confiablemente
Guarde y consulte rápidamente datos
NoSQL a través de usuarios y dispositivos
Registre logs de evento en tiempo real
y tome acciones rápido
Amazon Mobile
Analytics
Amazon Device Farm
AWS IAM
Amazon Cognito Amazon S3
Amazon CloudFront
Amazon DynamoDB
Amazon Lambda
Amazon SNS
Mobile Push
AWS Mobile SDK
Amazon Kinesis
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Contenido de la tienda
Pruebas en Dispositivos
Entrega de contenido
Almacene los datos
Registre eventos en
tiempo real
Ejecute la lógica de
negocio
Envíe Push Notifications
SDKs
Java Python (boto) PHP .NET Ruby Node.js
iOS Android AWS Toolkit for
Visual Studio
AWS Toolkit
for Eclipse
AWS Tools for
Windows
PowerShell
AWS CLI
JavaScript
AWS Mobile SDK
• SDKs para iOS y Android
• Conectores para los servicios de
AWS
• SDK para Unity
• Cross Platform Game
Development environment
• SDK para Xamarin
• Cross-Platform App Development
Framework para C#
iOS Android
LISTOS… a construir un App
Amazon Mobile
Analytics
Amazon Device Farm
AWS IAM
Amazon Cognito Amazon S3
Amazon CloudFront
Amazon DynamoDB
Amazon Lambda
Amazon SNS
Mobile Push
AWS Mobile SDK
Amazon Kinesis
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Contenido de la tienda
Pruebas en Dispositivos
Entrega de Contenido
Almacene los datos
Registre eventos en
tiempo real
Ejecute la lógica de
negocio
Envíe Push Notifications
• Autentica a sus usuarios
• Facebook, Google,
Amazon,Twitter, OpenID
• Anonymous
• Administra los usuarios y
sincroniza los datos a través de
múltiples dispositivos
• Permite la comunicación segura
con otros servicios de AWS
Amazon Cognito
Amazon
Cognito
Sincronice los datos a través de mutiles
dispositivos con Cognito
Sincronice
Game State
a través de SO y
dispositivos
State Transition
(ligue múltiples
cuentas)
Sincronice perfiles de usuarios
a través de SO, dispositivos
y Web
Proveedores
de Identidad
Identidades
únicasJose Ana Pedro
Any Device
Any Platform
Any AWS
Service
Ayuda a implementar las mejores
practicas de seguridad
Acceso seguro a cualquier servicios de AWS
desde un dispositivo móvil. Interacción
simplificada con AWS Identity and Access
Management.
Soporta Múltiples proveedores Log-In
Fácilmente se integra con la mayoría de los
proveedores de log-in para autenticación
Usuarios únicos vs. Dispositivos
Administre identidades únicas. Automáticamente
reconozca usuarios únicos a través de
dispositivos y plataformas.
Amazon Cognito Identity
Amazon
Mobile Analytics
Amazon
S3
Amazon
DynamoDB
Amazon
Kinesis
Amazon Cognito Flow
(Cualquier OpenID Connect Token)
Amazon Cognito ID
(Temp Credentials)
Amazon
DynamoDB
End Users
Desarrollador
App with
AWS Mobile
SDK
Access
to AWS
Services
Amazon Cognito
Identity Broker
User Name
Password
Amazon Cognito ID,
Temp Credentials
Amazon S3
Amazon Mobile
Analytics
Amazon Cognito
Sync Store
AWS
Management
Console
OIDC Token
Pool ID
Role ARNs
User Authentication
System
(Running on AWS or not)
OIDC Token
Amazon Cognito Flow
(Cualquier OpenID Connect Token)
Amazon Cognito ID
(Temp Credentials)
Amazon
DynamoDB
End Users
Desarrollador
App with
AWS Mobile
SDK
Access
to AWS
Services
Amazon Cognito
Identity Broker
Get OpenID Token
User Name
Password
Amazon Cognito ID,
Temp Credentials
Amazon S3
Amazon Mobile
Analytics
Amazon Cognito
Sync Store
AWS
Management
Console
OIDC Token
Pool ID
Role ARNs
User Authentication
System
(Running on AWS or not)
OIDC Token
OIDC Token
Amazon Cognito
Cloud Save & Sync
Datos de usuario
Almacenaje y
Sincronización
Cualquier
Plataforma
iOS/Android/FireOS
Almacene App Data, Preferencias y estado
Almacene datos y aplicaciones en la nube y después
descárguelas a partir del login
Cross-Device Cross-OS Sync
Sincronice los datos de usuarios y preferencias a
través de dispositivos con una sola línea de código
Trabaje Offline
Los datos siempre se almacenan primero el la BD
SQLite. Trabaja fácilmente cuando hay
intermitencia o sin conectividad.
k/v data
Identity Pool
Sin Back End
Cliente SDK sencillo que elimina la necesidad de
código en el lado del servidor
Inicializamos el cliente de Cognito
CognitoCachingCredentialsProvider cognitoProvider =
new CognitoCachingCredentialsProvider(
myActivity.getContext(), // obtengo el contexto para la actividad
"AWS_ACCOUNT_ID",
"COGNITO_IDENTITY_POOL_ID",
"arn:aws:iam::AWS_ACCOUNT_ID:role/UNAUTHENTICATED_ROLE",
"arn:aws:iam::AWS_ACCOUNT_ID:role/AUTHENTICATED_ROLE",
Regions.US_EAST_1
);
// Cree un service client con el proveedor
AmazonDynamoDB client = new AmazonDynamoDBClient(cognitoProvider);
Almacenamos y sincronizamos los datos
CognitoSyncManager syncClient = new
CognitoSyncManager(myActivity.getContext(),
COGNITO_POOL_ID, Regions.YOUR_REGION, cognitoProvider);
Dataset dataset = client.openOrCreateDataset("myDataset");
dataset.put("myKey", "my value");
String value = dataset.get("myKey");
dataset.remove("myKey");
dataset.synchronizeOnConnectivity(this, syncCallback);
Amazon Mobile
Analytics
Amazon Device Farm
AWS IAM
Amazon Cognito Amazon S3
Amazon CloudFront
Amazon DynamoDB
Amazon Lambda
Amazon SNS
Mobile Push
AWS Mobile SDK
Amazon Kinesis
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Contenido de la tienda
Pruebas en Dispositivos
Entrega de Contenido
Almacene los datos
Registre eventos en
tiempo real
Ejecute la lógica de
negocio
Envíe Push Notifications
Le permite controlar el acceso a sus recursos de AWS
• Cree usuarios, grupos y roles
• Control granular de acceso a través de políticas de IAM
• Controle quien puede hacer que en su ambiente de AWS
• Permita acceso con identidades sociales o publicas
• Fácilmente añada autenticación multi factor utilizando
tokens de hardware o apps de smartphone
Identity and Access Management (IAM)
{
"Effect":"Allow",
"Action":["s3:*"],
"Resource":"*"
}
{
"Effect": "Allow",
"Action": ["cognito-sync:*"],
"Resource": "*"
}
{
"Effect": "Deny",
"Action": ["dynamodb:*"],
"Resource": "*"
}
Allow
Actions:
All S3
Sync store Operations
Resource:
All resources within
these services
Deny
Actions:
All DDB Operations
Resource:
All resources
Políticas de acceso para roles de IAM
Allow
Actions:
S3 Get/Put operations
Resource:
Only to a specific part
of bucket to that identity
{
"Effect": "Allow”,
"Action": ["s3:GetObject","s3:PutObject"],
"Resource": ["arn:aws:s3:::
myBucket/amazon/myapp/${cognito-identity.amazonaws.com:sub}"]
}
Allow
Actions:
DDB Get/Put operations
Resource:
Only to a specific cells in
the database
{
"Effect": "Allow”,
"Action": ["dynamodb:GetItem", "dynamodb:PutItem"],
"Resource" : [ "arn:aws:dynamodb:REGION:12345:table/TABLE_NAME”],
"Condition": {
"ForAllValues:StringEquals”:{
"dynamodb:LeadingKeys": ["${cognito-identity.amazonaws.com:sub}"],
"dynamodb:Attributes”: ["Wins","Losses”,"TopScore",”DateTime" ]
},
}
Políticas de restricción de acceso (Policy Variables)
Amazon Mobile
Analytics
Amazon Device Farm
AWS IAM
Amazon Cognito Amazon S3
Amazon CloudFront
Amazon DynamoDB
Amazon Lambda
Amazon SNS
Mobile Push
AWS Mobile SDK
Amazon Kinesis
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Contenido de la tienda
Pruebas en dispositivos
Entrega de contenido
Almacene datos
Registre eventos en
tiempo real
Ejecute la lógica de
negocio
Envíe Push Notifications
AWS Device Farm
• Pruebe su aplicación en dispositivos
reales en la nube de AWS
• Plataforma de pruebas completamente
administrada y escalable
• Múltiples y distintos modelos de
smartphone y tabletas disponibles
• Full built-in test suite
• Integración con custom frameworks
(ej. Appium, Calabash etc.)
AWS Device
Farm
Comenzando con los servicios móviles en AWS
Amazon Mobile
Analytics
Amazon Device Farm
AWS IAM
Amazon Cognito Amazon S3
Amazon CloudFront
Amazon DynamoDB
Amazon Lambda
Amazon SNS
Mobile Push
AWS Mobile SDK
Amazon Kinesis
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Almacene contenido
Pruebas en dispositivos
Entrega de contenido
Almacene Datos
Registre eventos en
tiempo real
Ejecute la lógica de
negocio
Envié Push Notifications
Amazon Mobile Analytics
• Le permite recolectar, visualizar
y entender el uso de su
aplicación móvil
• Escala fácilmente a billones de
eventos por día
• Usted mantiene el control total y
la propiedad de los datos
Amazon Mobile
Analytics
Comenzando con los servicios móviles en AWS
Obtenga el detalle dentro
de las acciones
especias de la app que
los usuarios realizan
Ejemplos
Rastree el numero de
Likes/Shares en la
aplicación de noticias
Abort rates de los
jugador por nivel
del juego
Numero de canciones
ejecutadas en un app
de música
Compras In-app
popularidad de ítems
Custom Events
Inicialice Mobile Analytics
// Dentro de la actividad
private static MobileAnalyticsManager analytics;
// Dentro de la actividad onCreate()
try {
AnalyticsConfig options = new AnalyticsConfig();
options.withAllowsWANDelivery(true);
analytics = MobileAnalyticsManager.getOrCreateInstance(
getApplicationContext(),
"YOU MOBILE ANALYTICS APP ID",
Regions.US_EAST_1,
cognitoProvider, // You need a Cognito credential provider
options
);
} catch(InitializationException ex) {
Log.e(this.getClass().getName(), "Failed to initialize Amazon Mobile Analytics", ex);
}
Amazon Mobile
Analytics
Amazon Device Farm
AWS IAM
Amazon Cognito Amazon S3
Amazon CloudFront
Amazon DynamoDB
Amazon Lambda
Amazon SNS
Mobile Push
AWS Mobile SDK
Amazon Kinesis
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Almacene el contenido
Pruebas en dispositivos
Entrega de contenido
Almacene Datos
Registre eventos en
tiempo real
Ejecute la lógica de
negocio
Envíe Push Notifications
AWS Lambda
Auto escalamiento
Foco en la lógica
negocio y no en la
infraestructura.
Sin administración
Lambda escala la
infraestructura
para igualar
cualquier rango
de eventos
Tu propio código
“Ejecute su código en la nube en respuesta a eventos y escale sin servidores
que administrar”
Escriba su código en
JavaScript o Java
AWS Lambda
• Código Stateless denominado Lambda
functions
• Invoque funciones Lambda directamente
desde su app móvil
• Trigger functions por eventos (state
transitions) en otros servicios:
• Un Nuevo archivo en su object storage
• Un Nuevo ítem en su base de datos NoSQL
• Un Nuevo mensaje en su servicio de notificaciones
Amazon
Lambda
Añadiendo Backend Lambda en su App
Inicialice LambdaFactory y defina la interface para las funciones
Llame la sincronización del dataset
Cree la función Lambda
lambda = new LambdaInvokerFactory(context, Regions.US_WEST_2, provider);
//interface
@LambdaFunction(functionName="cloudFunction”)
String localFunction(String nameInfo);
lambda.localFunction(“Hola desde “); // Esto tendrá de output “Hola desde Lambda”
exports.handler = function(event, context) {
context.done(null, event + 'Lambda'); // SUCCESS with message
};
Amazon Mobile
Analytics
Amazon Device Farm
AWS IAM
Amazon Cognito Amazon S3
Amazon CloudFront
Amazon DynamoDB
Amazon Lambda
Amazon SNS
Mobile Push
AWS Mobile SDK
Amazon Kinesis
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Contenido de la tienda
Pruebas en dispositivos
Entrega de contenido
Almacene datos
Registre eventos en
tiempo real
Ejecute la lógica de
negocio
Envíe Push Notifications
Amazon S3 y Amazon CloudFront
• Amazon S3
• Un object storage altamente disponible
• Diseñado para 99.999999999% de durabilidad
• Ofrece endpoints HTTP / HTTPS a los objetos
• Amazon CloudFront
• Red de Content Delivery con 53 ubicaciones
de frontera alrededor del mundo
• Caches content en ubicaciones de frontera
para disminuir las latencias
Amazon S3
Amazon
CloudFront
Amazon
KinesisAWS
Mobile
SDK
Mobile-Optimized Connectors (AWS Mobile SDK)
Amazon S3
Integrated AWS Mobile SDK
Optimized for native OS
Multipart upload media
Fault tolerant download
Automatic retries
Pause, resume, cancel functions
Generic batching system
handles intermittent network
connection
Optimize battery utilization
Amazon
DynamoDB
Amazon S3 Connector: Transfer Manager
S3 Connector
Multipart upload media (photos, videos, audio)
Fault tolerant download (e.g. assets)
No back end required
Automatic retries
Pause, resume, cancel functions
Optimized for native OS
Amazon S3 Connector: Transfer Manager in Android
// Creating the transfer manager
TransferManager = new TransferManager(credentialProvider);
// Upload image
Upload upload = transferManager.upload(BUCKET_NAME, fileName, file);
// Download image
Download download = transferManager.download(BUCKET_NAME, mKey,
file);
// Pause, and Resume
try {
PersistableDownload = download.pause();
//do something if we didn’t abort
} catch(PauseException e) {
//do something if we aborted
}
download = transferManager.resumeDownload(persistableDownload);
Amazon S3 Connector: Transfer Manager in iOS
// Creating the transfer manager
self.transferManager = [S3TransferManager new];
self.transferManager.s3 = s3client;
// Upload image
[self.transferManager uploadFile:fileName bucket:bucketName
key:objectName];
// Download image
[self.transferManager downloadFile:fileName bucket:bucketName
key:objectName];
// Pause, Resume, Cancel
[self.transferManager pauseAllTransfers];
[self.transferManager resumeAllTransfers];
[self.transferManager cancelAllTransfers];
Amazon Mobile
Analytics
Amazon Device Farm
AWS IAM
Amazon Cognito Amazon S3
Amazon CloudFront
Amazon DynamoDB
Amazon Lambda
AWS Mobile SDK
Amazon Kinesis
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Contenido de la tienda
Pruebas en dispositivos
Entrega de contenido
Almacene datos
Registre eventos en
tiempo real
Ejecute la lógica de
negocio
Amazon SNS
Mobile Push
Envíe Push Notifications
Amazon SNS Mobile Push Notifications
• Amazon SNS es una
plataforma administrada,
cross-platform mobile
push intermediary service
• Completamente escala a
millones de dispositivos
• Permite crear topics (ej.
por geo, intereses, uso
patrones, etc.)
Amazon SNS
Apple APNS
Google GCM
Amazon ADM
Windows WNS and
MPNS
Baidu CP
Android Phones and Tablets
Apple iPhones and iPads
Kindle Fire Devices
Android Phones and Tablets in China
iOS
Windows Phone Devices
Amazon
SNS
Amazon SNS
Mobile Apps
Apple APNS
Google GCM
Amazon ADM
Amazon SNS Mobile Push Notifications:
Escalabilidad
Amazon Mobile
Analytics
Amazon Device Farm
AWS IAM
Amazon Cognito Amazon S3
Amazon CloudFront
Amazon Lambda
AWS Mobile SDK
Amazon Kinesis
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Contenido de la tienda
Pruebas en dispositivos
Entrega de contenido
Registre eventos en
tiempo real
Ejecute la lógica de
negocio
Amazon SNS
Mobile Push
Envíe Push Notifications
Amazon DynamoDB
Almacene datos
Amazon DynamoDB
Servicio administrado de base de datos NoSQL
• Modelo de datos Schemaless
• Rendimiento Consistente y con baja latencia
• Aprovisionamiento de throughput predecible
• Escalabilidad transparente
• Sin limite de almacenamiento
• Altamente durable y disponible
• Replicada en 3 ubicaciones
• Altamente Administrada y bajo costo
DynamoDBtabla
ítems
atributos
@DynamoDBTable(tableName = ”Usuario")
public static class Usuario {
private String hash, alias, avatar;
private int score;
@DynamoDBHashKey(attributeName = ”hash")
public String getHash() {
return hash;
}
public void setHash(String hash) {
this.hash = hash;
}
@DynamoDBAttribute(attributeName=”alias")
public String getalias() {
return alias;
}
...
hash alias avatar punt
aje
abce64 Oli4 s3://mybucket/av
1.jpg
1500
feru643 LoLZ s3://mybucket/lol
z_56.jpg
800
4568c5 L33t s3://otherbucket/
catface.png
750
Tabla: Usuario
Object Mapper Example - Class
// Create a user object
Usuario usuario = new Usuario();
note.setHash(”abce64”);
note.setAlias(”Oli4");
note.setAvatar(”s3://mybucket/av1.jpg");
note.setPuntaje(0);
// Save user object to DynamoDB
mapper.save(usuario);
// Update score and save user again
user.setPuntaje(user.getPuntaje()+100);
mapper.save(user);
// Load another user
User anotherUsuario = mapper.load(Usuario.class,”feru643”);
Object Mapper Example – Store and Update
Amazon Mobile
Analytics
Amazon Device Farm
AWS IAM
Amazon Cognito Amazon S3
Amazon CloudFront
Amazon Lambda
AWS Mobile SDK
Autenticación y Sincr.
Autorización de acceso
Analice el comportamiento
Contenido de la tienda
Pruebas en dispositivos
Entrega de contenido
Ejecute la lógica de
negocio
Amazon SNS
Mobile Push
Envíe Push Notifications
Amazon DynamoDB
Almacene datos
Amazon Kinesis
Registre eventos en
tiempo real
Stream en tiempo real: Amazon Kinesis
• Procesamiento de datos en
tiempo real de stream distribuidos
• Capacidad elástico que permite
escalar hasta millones de eventos
por segundo
• Reaccione en tiempo real a
eventos de streaming
• Almacenamiento confiable del
stream replicado en 3 ubicaciones
Amazon Kinesis
KinesisRecorder
String kinesisDirectory = "YOUR_UNIQUE_DIRECTORY";
KinesisRecorder recorder = new KinesisRecorder(
cognitoProvider,
Regions.US_WEST_2,
getDir(kinesisDirectory, MODE_PRIVATE));
recorder.saveRecord("MyData".getBytes(),"MyStreamName");
recorder.submitAllRecords();
¿Qué sucede si no quieren integrar el SDK en su app?
Amazon API Gateway
• Servicio de RESTful API Gateway
completamente administrado y
escalable
• Potenciado por nuestra red de content
delivery vía nuestros 53 puntos de
frontera
• Protección DDoS y capacidades de
Throttling
Amazon API
Gateway
Amazon API Gateway
• Ofrece todos los métodos
comunes RESTful (GET, PUT,
POST etc.)
• Múltiples API stages que se
pueden definir(ej. dev, test, prod)
• Deployment sencillo entre
stages
• AWS Lambda, Amazon’s
Service APIs o su propia API
como backend para el código que
se ejecuta
Amazon
Lambda
Amazon API
Gateway
Amazon
EC2
AWS API
On-Prem
Server
Tiempo de demostración
Quieres hacerte socio de AWS
Amazon Partner Network
https://aws.amazon.com/partners/
Quieres hacerte socio de AWS
¡Muchas Gracias!
Jesus Bonequi, Arquitecto de soluciones de AWS
@jesusbo

Más contenido relacionado

PDF
Caso practico-tema-1-acceso-a-amazon-aws-y-credenciales-de-acceso-acceso-remo...
PPTX
AWS Services Overview
PPTX
Comenzando con Arquitecturas sin servidores
PPTX
Servicios de migración de datos a profundidad
PDF
Comenzando con los servicios móviles en AWS
PPTX
Comenzando con Docker en AWS
PDF
Escalando a sus primeros 10 millones de usuarios
PPTX
Comenzando con Arquitecturas sin servidores
Caso practico-tema-1-acceso-a-amazon-aws-y-credenciales-de-acceso-acceso-remo...
AWS Services Overview
Comenzando con Arquitecturas sin servidores
Servicios de migración de datos a profundidad
Comenzando con los servicios móviles en AWS
Comenzando con Docker en AWS
Escalando a sus primeros 10 millones de usuarios
Comenzando con Arquitecturas sin servidores

La actualidad más candente (19)

PDF
Creando su primera aplicación de Big Data en AWS
PPTX
Construyendo aplicaciones de Big Data en AWS
PPTX
Construyendo aplicaciones de Big Data en AWS
PPTX
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
PPTX
Servicios de migración de datos a profundidad
PPTX
Comenzando con Arquitecturas sin servidores
PPTX
Construyendo aplicaciones de Big Data en AWS
PPTX
DevOps en AWS, acelarando el desarrollo de software con Developer Tools
PPTX
Extendiendo su centro de datos a la nube de AWS
PPTX
Escalando para sus primeros 10 millones de usuarios
PDF
Construya APIs seguras y escalables
PPTX
Extendiendo su centro de datos a la nube de AWS
PDF
Construyendo aplicaciones para IoT con AWS
PDF
Comenzando con aplicaciones serverless en AWS
PPTX
Cómputo y Almacenamiento en la nube
PPTX
Servicios de Bases de Datos de AWS
PPTX
Construyendo aplicaciones para IoT con AWS
PPTX
Cómputo y Almacenamiento en la nube
PPTX
Servicios de migración de datos a profundidad
Creando su primera aplicación de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
Servicios de migración de datos a profundidad
Comenzando con Arquitecturas sin servidores
Construyendo aplicaciones de Big Data en AWS
DevOps en AWS, acelarando el desarrollo de software con Developer Tools
Extendiendo su centro de datos a la nube de AWS
Escalando para sus primeros 10 millones de usuarios
Construya APIs seguras y escalables
Extendiendo su centro de datos a la nube de AWS
Construyendo aplicaciones para IoT con AWS
Comenzando con aplicaciones serverless en AWS
Cómputo y Almacenamiento en la nube
Servicios de Bases de Datos de AWS
Construyendo aplicaciones para IoT con AWS
Cómputo y Almacenamiento en la nube
Servicios de migración de datos a profundidad
Publicidad

Destacado (20)

PPTX
EC2 Computo en la Nube
PDF
Bases de datos en la nube con AWS
PPTX
Ask the Trainer - Treinamentos e Certificações da AWS
PPTX
Almacenamiento en la nube con AWS
PPTX
Bases de datos en la nube con AWS
PDF
Comenzando con AWS Mobile Services
PPTX
Contruyendo tu primera aplicación con AWS
PDF
Contruyendo tu primera aplicación con AWS
PPTX
Escalando para sus primeros 10 millones de usuarios
PDF
Benefícios e melhores práticas no uso do Amazon Redshift
PPTX
Compute Services con AWS
PPTX
Escalando para sus primeros 10 millones de usuarios
PPTX
Almacenamiento en la nube con AWS
PPTX
Productos de redes con AWS
PPTX
Introdução ao Data Warehouse Amazon Redshift
PPTX
Começando com aplicações serverless na AWS
PDF
Cloud Computing con Amazon Web Services
PPTX
Criando e conectando seu datacenter virtual
PPTX
Construindo APIs com Amazon API Gateway e AWS Lambda
PPTX
Escalando sua aplicação Web com Beanstalk
EC2 Computo en la Nube
Bases de datos en la nube con AWS
Ask the Trainer - Treinamentos e Certificações da AWS
Almacenamiento en la nube con AWS
Bases de datos en la nube con AWS
Comenzando con AWS Mobile Services
Contruyendo tu primera aplicación con AWS
Contruyendo tu primera aplicación con AWS
Escalando para sus primeros 10 millones de usuarios
Benefícios e melhores práticas no uso do Amazon Redshift
Compute Services con AWS
Escalando para sus primeros 10 millones de usuarios
Almacenamiento en la nube con AWS
Productos de redes con AWS
Introdução ao Data Warehouse Amazon Redshift
Começando com aplicações serverless na AWS
Cloud Computing con Amazon Web Services
Criando e conectando seu datacenter virtual
Construindo APIs com Amazon API Gateway e AWS Lambda
Escalando sua aplicação Web com Beanstalk
Publicidad

Similar a Comenzando con los servicios móviles en AWS (20)

PDF
Comenzando con los servicios móviles en AWS
PDF
Comenzando con los Servicios Móviles en AWS
PDF
WorkShop Android + Amazon Web Services
PPTX
Construyendo APIs Seguras y Escalables
PDF
Conformidad y Seguridad en la Nube para industrias reguladas
PPTX
AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...
PDF
AWS para desarrolladores
PPTX
Dynamics saturday madrid 2019 sergio hernandez
PPTX
Construyendo aplicaciones para IoT con AWS
PPTX
[webinar]: Seguridad en ambientes cloud | Capitulo VI
PDF
Seguridad en la nube para industrias reguladas
ODP
Curso basicoseguridadweb slideshare4
PDF
Cloud sec automation
PDF
Microsoft Virtual Academy - Live Session - Xamarin con Azure Storage
PDF
Inicie un viaje seguro a la nube
PPTX
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
PDF
AWS Summits América Latina 2015- Seguridad en AWS
PPTX
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
PDF
Servicios amazon en la nube.
PDF
ajkgjgjsftfhfjghjhgjfhjfgkfghjfgghjfghjghj
Comenzando con los servicios móviles en AWS
Comenzando con los Servicios Móviles en AWS
WorkShop Android + Amazon Web Services
Construyendo APIs Seguras y Escalables
Conformidad y Seguridad en la Nube para industrias reguladas
AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...
AWS para desarrolladores
Dynamics saturday madrid 2019 sergio hernandez
Construyendo aplicaciones para IoT con AWS
[webinar]: Seguridad en ambientes cloud | Capitulo VI
Seguridad en la nube para industrias reguladas
Curso basicoseguridadweb slideshare4
Cloud sec automation
Microsoft Virtual Academy - Live Session - Xamarin con Azure Storage
Inicie un viaje seguro a la nube
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
AWS Summits América Latina 2015- Seguridad en AWS
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Servicios amazon en la nube.
ajkgjgjsftfhfjghjhgjfhjfgkfghjfgghjfghjghj

Más de Amazon Web Services LATAM (20)

PPTX
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
PPTX
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
PPTX
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
PPTX
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
PPTX
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
PPTX
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
PPTX
Automatice el proceso de entrega con CI/CD en AWS
PPTX
Automatize seu processo de entrega de software com CI/CD na AWS
PPTX
Cómo empezar con Amazon EKS
PPTX
Como começar com Amazon EKS
PPTX
Ransomware: como recuperar os seus dados na nuvem AWS
PPTX
Ransomware: cómo recuperar sus datos en la nube de AWS
PPTX
Ransomware: Estratégias de Mitigação
PPTX
Ransomware: Estratégias de Mitigación
PPTX
Aprenda a migrar y transferir datos al usar la nube de AWS
PPTX
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
PPTX
Cómo mover a un almacenamiento de archivos administrados
PPTX
Simplifique su BI con AWS
PPTX
Simplifique o seu BI com a AWS
PPTX
Os benefícios de migrar seus workloads de Big Data para a AWS
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
Automatice el proceso de entrega con CI/CD en AWS
Automatize seu processo de entrega de software com CI/CD na AWS
Cómo empezar con Amazon EKS
Como começar com Amazon EKS
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigación
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Cómo mover a un almacenamiento de archivos administrados
Simplifique su BI con AWS
Simplifique o seu BI com a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS

Último (20)

PPT
Que son las redes de computadores y sus partes
PDF
ACTIVIDAD 2.pdf j
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
DOCX
Trabajo colaborativo Grupo #2.docxmkkkkkkl
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
diagrama de pareto.pdf valerie giraldo diaz
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
Presentación de Redes de Datos modelo osi
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Introduccion a servidores de Aplicaciones (1).pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
Administración se srevidores de apliaciones
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
clase auditoria informatica 2025.........
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
Calidad desde el Docente y la mejora continua .pdf
Que son las redes de computadores y sus partes
ACTIVIDAD 2.pdf j
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Trabajo colaborativo Grupo #2.docxmkkkkkkl
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
diagrama de pareto.pdf valerie giraldo diaz
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
introduccion a las_web en el 2025_mejoras.ppt
Presentación de Redes de Datos modelo osi
Presentación PASANTIAS AuditorioOO..pptx
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
Zarate Quispe Alex aldayir aplicaciones de internet .docx
historia_web de la creacion de un navegador_presentacion.pptx
Introduccion a servidores de Aplicaciones (1).pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Administración se srevidores de apliaciones
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
clase auditoria informatica 2025.........
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Calidad desde el Docente y la mejora continua .pdf

Comenzando con los servicios móviles en AWS

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Jesus Bonequi, Arquitecto de soluciones AWS Construyendo un App Móvil utilizando AWS
  • 2. Autenticación y Sincr. Autorización de acceso Analice el comportamiento Contenido de la tienda Pruebas en Dispositivos Entrega de contenido Almacene los datos Registre eventos en tiempo real Ejecute la lógica de negocio Envíe Push Notifications Administre usuarios y proveedores de identidad Sincronice entre dispositivos Acceso seguro a recursos de la nube Realice pruebas en múltiples dispositivos y sistemas operativos Rastre el engagement de usuarios activos Ejecute código personalizado sin necesidad de servidores Almacene contenido generado por los usuarios y compártelos Entregue rápida y globalmente el contenido Traiga nuevamente a los usuarios a su app Al enviar mensajes confiablemente Guarde y consulte rápidamente datos NoSQL a través de usuarios y dispositivos Registre logs de evento en tiempo real y tome acciones rápido
  • 3. Amazon Mobile Analytics Amazon Device Farm AWS IAM Amazon Cognito Amazon S3 Amazon CloudFront Amazon DynamoDB Amazon Lambda Amazon SNS Mobile Push AWS Mobile SDK Amazon Kinesis Autenticación y Sincr. Autorización de acceso Analice el comportamiento Contenido de la tienda Pruebas en Dispositivos Entrega de contenido Almacene los datos Registre eventos en tiempo real Ejecute la lógica de negocio Envíe Push Notifications
  • 4. SDKs Java Python (boto) PHP .NET Ruby Node.js iOS Android AWS Toolkit for Visual Studio AWS Toolkit for Eclipse AWS Tools for Windows PowerShell AWS CLI JavaScript
  • 5. AWS Mobile SDK • SDKs para iOS y Android • Conectores para los servicios de AWS • SDK para Unity • Cross Platform Game Development environment • SDK para Xamarin • Cross-Platform App Development Framework para C# iOS Android
  • 7. Amazon Mobile Analytics Amazon Device Farm AWS IAM Amazon Cognito Amazon S3 Amazon CloudFront Amazon DynamoDB Amazon Lambda Amazon SNS Mobile Push AWS Mobile SDK Amazon Kinesis Autenticación y Sincr. Autorización de acceso Analice el comportamiento Contenido de la tienda Pruebas en Dispositivos Entrega de Contenido Almacene los datos Registre eventos en tiempo real Ejecute la lógica de negocio Envíe Push Notifications
  • 8. • Autentica a sus usuarios • Facebook, Google, Amazon,Twitter, OpenID • Anonymous • Administra los usuarios y sincroniza los datos a través de múltiples dispositivos • Permite la comunicación segura con otros servicios de AWS Amazon Cognito Amazon Cognito
  • 9. Sincronice los datos a través de mutiles dispositivos con Cognito Sincronice Game State a través de SO y dispositivos State Transition (ligue múltiples cuentas) Sincronice perfiles de usuarios a través de SO, dispositivos y Web
  • 10. Proveedores de Identidad Identidades únicasJose Ana Pedro Any Device Any Platform Any AWS Service Ayuda a implementar las mejores practicas de seguridad Acceso seguro a cualquier servicios de AWS desde un dispositivo móvil. Interacción simplificada con AWS Identity and Access Management. Soporta Múltiples proveedores Log-In Fácilmente se integra con la mayoría de los proveedores de log-in para autenticación Usuarios únicos vs. Dispositivos Administre identidades únicas. Automáticamente reconozca usuarios únicos a través de dispositivos y plataformas. Amazon Cognito Identity Amazon Mobile Analytics Amazon S3 Amazon DynamoDB Amazon Kinesis
  • 11. Amazon Cognito Flow (Cualquier OpenID Connect Token) Amazon Cognito ID (Temp Credentials) Amazon DynamoDB End Users Desarrollador App with AWS Mobile SDK Access to AWS Services Amazon Cognito Identity Broker User Name Password Amazon Cognito ID, Temp Credentials Amazon S3 Amazon Mobile Analytics Amazon Cognito Sync Store AWS Management Console OIDC Token Pool ID Role ARNs User Authentication System (Running on AWS or not) OIDC Token
  • 12. Amazon Cognito Flow (Cualquier OpenID Connect Token) Amazon Cognito ID (Temp Credentials) Amazon DynamoDB End Users Desarrollador App with AWS Mobile SDK Access to AWS Services Amazon Cognito Identity Broker Get OpenID Token User Name Password Amazon Cognito ID, Temp Credentials Amazon S3 Amazon Mobile Analytics Amazon Cognito Sync Store AWS Management Console OIDC Token Pool ID Role ARNs User Authentication System (Running on AWS or not) OIDC Token OIDC Token
  • 13. Amazon Cognito Cloud Save & Sync Datos de usuario Almacenaje y Sincronización Cualquier Plataforma iOS/Android/FireOS Almacene App Data, Preferencias y estado Almacene datos y aplicaciones en la nube y después descárguelas a partir del login Cross-Device Cross-OS Sync Sincronice los datos de usuarios y preferencias a través de dispositivos con una sola línea de código Trabaje Offline Los datos siempre se almacenan primero el la BD SQLite. Trabaja fácilmente cuando hay intermitencia o sin conectividad. k/v data Identity Pool Sin Back End Cliente SDK sencillo que elimina la necesidad de código en el lado del servidor
  • 14. Inicializamos el cliente de Cognito CognitoCachingCredentialsProvider cognitoProvider = new CognitoCachingCredentialsProvider( myActivity.getContext(), // obtengo el contexto para la actividad "AWS_ACCOUNT_ID", "COGNITO_IDENTITY_POOL_ID", "arn:aws:iam::AWS_ACCOUNT_ID:role/UNAUTHENTICATED_ROLE", "arn:aws:iam::AWS_ACCOUNT_ID:role/AUTHENTICATED_ROLE", Regions.US_EAST_1 ); // Cree un service client con el proveedor AmazonDynamoDB client = new AmazonDynamoDBClient(cognitoProvider);
  • 15. Almacenamos y sincronizamos los datos CognitoSyncManager syncClient = new CognitoSyncManager(myActivity.getContext(), COGNITO_POOL_ID, Regions.YOUR_REGION, cognitoProvider); Dataset dataset = client.openOrCreateDataset("myDataset"); dataset.put("myKey", "my value"); String value = dataset.get("myKey"); dataset.remove("myKey"); dataset.synchronizeOnConnectivity(this, syncCallback);
  • 16. Amazon Mobile Analytics Amazon Device Farm AWS IAM Amazon Cognito Amazon S3 Amazon CloudFront Amazon DynamoDB Amazon Lambda Amazon SNS Mobile Push AWS Mobile SDK Amazon Kinesis Autenticación y Sincr. Autorización de acceso Analice el comportamiento Contenido de la tienda Pruebas en Dispositivos Entrega de Contenido Almacene los datos Registre eventos en tiempo real Ejecute la lógica de negocio Envíe Push Notifications
  • 17. Le permite controlar el acceso a sus recursos de AWS • Cree usuarios, grupos y roles • Control granular de acceso a través de políticas de IAM • Controle quien puede hacer que en su ambiente de AWS • Permita acceso con identidades sociales o publicas • Fácilmente añada autenticación multi factor utilizando tokens de hardware o apps de smartphone Identity and Access Management (IAM)
  • 18. { "Effect":"Allow", "Action":["s3:*"], "Resource":"*" } { "Effect": "Allow", "Action": ["cognito-sync:*"], "Resource": "*" } { "Effect": "Deny", "Action": ["dynamodb:*"], "Resource": "*" } Allow Actions: All S3 Sync store Operations Resource: All resources within these services Deny Actions: All DDB Operations Resource: All resources Políticas de acceso para roles de IAM
  • 19. Allow Actions: S3 Get/Put operations Resource: Only to a specific part of bucket to that identity { "Effect": "Allow”, "Action": ["s3:GetObject","s3:PutObject"], "Resource": ["arn:aws:s3::: myBucket/amazon/myapp/${cognito-identity.amazonaws.com:sub}"] } Allow Actions: DDB Get/Put operations Resource: Only to a specific cells in the database { "Effect": "Allow”, "Action": ["dynamodb:GetItem", "dynamodb:PutItem"], "Resource" : [ "arn:aws:dynamodb:REGION:12345:table/TABLE_NAME”], "Condition": { "ForAllValues:StringEquals”:{ "dynamodb:LeadingKeys": ["${cognito-identity.amazonaws.com:sub}"], "dynamodb:Attributes”: ["Wins","Losses”,"TopScore",”DateTime" ] }, } Políticas de restricción de acceso (Policy Variables)
  • 20. Amazon Mobile Analytics Amazon Device Farm AWS IAM Amazon Cognito Amazon S3 Amazon CloudFront Amazon DynamoDB Amazon Lambda Amazon SNS Mobile Push AWS Mobile SDK Amazon Kinesis Autenticación y Sincr. Autorización de acceso Analice el comportamiento Contenido de la tienda Pruebas en dispositivos Entrega de contenido Almacene datos Registre eventos en tiempo real Ejecute la lógica de negocio Envíe Push Notifications
  • 21. AWS Device Farm • Pruebe su aplicación en dispositivos reales en la nube de AWS • Plataforma de pruebas completamente administrada y escalable • Múltiples y distintos modelos de smartphone y tabletas disponibles • Full built-in test suite • Integración con custom frameworks (ej. Appium, Calabash etc.) AWS Device Farm
  • 23. Amazon Mobile Analytics Amazon Device Farm AWS IAM Amazon Cognito Amazon S3 Amazon CloudFront Amazon DynamoDB Amazon Lambda Amazon SNS Mobile Push AWS Mobile SDK Amazon Kinesis Autenticación y Sincr. Autorización de acceso Analice el comportamiento Almacene contenido Pruebas en dispositivos Entrega de contenido Almacene Datos Registre eventos en tiempo real Ejecute la lógica de negocio Envié Push Notifications
  • 24. Amazon Mobile Analytics • Le permite recolectar, visualizar y entender el uso de su aplicación móvil • Escala fácilmente a billones de eventos por día • Usted mantiene el control total y la propiedad de los datos Amazon Mobile Analytics
  • 26. Obtenga el detalle dentro de las acciones especias de la app que los usuarios realizan Ejemplos Rastree el numero de Likes/Shares en la aplicación de noticias Abort rates de los jugador por nivel del juego Numero de canciones ejecutadas en un app de música Compras In-app popularidad de ítems Custom Events
  • 27. Inicialice Mobile Analytics // Dentro de la actividad private static MobileAnalyticsManager analytics; // Dentro de la actividad onCreate() try { AnalyticsConfig options = new AnalyticsConfig(); options.withAllowsWANDelivery(true); analytics = MobileAnalyticsManager.getOrCreateInstance( getApplicationContext(), "YOU MOBILE ANALYTICS APP ID", Regions.US_EAST_1, cognitoProvider, // You need a Cognito credential provider options ); } catch(InitializationException ex) { Log.e(this.getClass().getName(), "Failed to initialize Amazon Mobile Analytics", ex); }
  • 28. Amazon Mobile Analytics Amazon Device Farm AWS IAM Amazon Cognito Amazon S3 Amazon CloudFront Amazon DynamoDB Amazon Lambda Amazon SNS Mobile Push AWS Mobile SDK Amazon Kinesis Autenticación y Sincr. Autorización de acceso Analice el comportamiento Almacene el contenido Pruebas en dispositivos Entrega de contenido Almacene Datos Registre eventos en tiempo real Ejecute la lógica de negocio Envíe Push Notifications
  • 29. AWS Lambda Auto escalamiento Foco en la lógica negocio y no en la infraestructura. Sin administración Lambda escala la infraestructura para igualar cualquier rango de eventos Tu propio código “Ejecute su código en la nube en respuesta a eventos y escale sin servidores que administrar” Escriba su código en JavaScript o Java
  • 30. AWS Lambda • Código Stateless denominado Lambda functions • Invoque funciones Lambda directamente desde su app móvil • Trigger functions por eventos (state transitions) en otros servicios: • Un Nuevo archivo en su object storage • Un Nuevo ítem en su base de datos NoSQL • Un Nuevo mensaje en su servicio de notificaciones Amazon Lambda
  • 31. Añadiendo Backend Lambda en su App Inicialice LambdaFactory y defina la interface para las funciones Llame la sincronización del dataset Cree la función Lambda lambda = new LambdaInvokerFactory(context, Regions.US_WEST_2, provider); //interface @LambdaFunction(functionName="cloudFunction”) String localFunction(String nameInfo); lambda.localFunction(“Hola desde “); // Esto tendrá de output “Hola desde Lambda” exports.handler = function(event, context) { context.done(null, event + 'Lambda'); // SUCCESS with message };
  • 32. Amazon Mobile Analytics Amazon Device Farm AWS IAM Amazon Cognito Amazon S3 Amazon CloudFront Amazon DynamoDB Amazon Lambda Amazon SNS Mobile Push AWS Mobile SDK Amazon Kinesis Autenticación y Sincr. Autorización de acceso Analice el comportamiento Contenido de la tienda Pruebas en dispositivos Entrega de contenido Almacene datos Registre eventos en tiempo real Ejecute la lógica de negocio Envíe Push Notifications
  • 33. Amazon S3 y Amazon CloudFront • Amazon S3 • Un object storage altamente disponible • Diseñado para 99.999999999% de durabilidad • Ofrece endpoints HTTP / HTTPS a los objetos • Amazon CloudFront • Red de Content Delivery con 53 ubicaciones de frontera alrededor del mundo • Caches content en ubicaciones de frontera para disminuir las latencias Amazon S3 Amazon CloudFront
  • 34. Amazon KinesisAWS Mobile SDK Mobile-Optimized Connectors (AWS Mobile SDK) Amazon S3 Integrated AWS Mobile SDK Optimized for native OS Multipart upload media Fault tolerant download Automatic retries Pause, resume, cancel functions Generic batching system handles intermittent network connection Optimize battery utilization Amazon DynamoDB
  • 35. Amazon S3 Connector: Transfer Manager S3 Connector Multipart upload media (photos, videos, audio) Fault tolerant download (e.g. assets) No back end required Automatic retries Pause, resume, cancel functions Optimized for native OS
  • 36. Amazon S3 Connector: Transfer Manager in Android // Creating the transfer manager TransferManager = new TransferManager(credentialProvider); // Upload image Upload upload = transferManager.upload(BUCKET_NAME, fileName, file); // Download image Download download = transferManager.download(BUCKET_NAME, mKey, file); // Pause, and Resume try { PersistableDownload = download.pause(); //do something if we didn’t abort } catch(PauseException e) { //do something if we aborted } download = transferManager.resumeDownload(persistableDownload);
  • 37. Amazon S3 Connector: Transfer Manager in iOS // Creating the transfer manager self.transferManager = [S3TransferManager new]; self.transferManager.s3 = s3client; // Upload image [self.transferManager uploadFile:fileName bucket:bucketName key:objectName]; // Download image [self.transferManager downloadFile:fileName bucket:bucketName key:objectName]; // Pause, Resume, Cancel [self.transferManager pauseAllTransfers]; [self.transferManager resumeAllTransfers]; [self.transferManager cancelAllTransfers];
  • 38. Amazon Mobile Analytics Amazon Device Farm AWS IAM Amazon Cognito Amazon S3 Amazon CloudFront Amazon DynamoDB Amazon Lambda AWS Mobile SDK Amazon Kinesis Autenticación y Sincr. Autorización de acceso Analice el comportamiento Contenido de la tienda Pruebas en dispositivos Entrega de contenido Almacene datos Registre eventos en tiempo real Ejecute la lógica de negocio Amazon SNS Mobile Push Envíe Push Notifications
  • 39. Amazon SNS Mobile Push Notifications • Amazon SNS es una plataforma administrada, cross-platform mobile push intermediary service • Completamente escala a millones de dispositivos • Permite crear topics (ej. por geo, intereses, uso patrones, etc.) Amazon SNS Apple APNS Google GCM Amazon ADM Windows WNS and MPNS Baidu CP Android Phones and Tablets Apple iPhones and iPads Kindle Fire Devices Android Phones and Tablets in China iOS Windows Phone Devices Amazon SNS
  • 40. Amazon SNS Mobile Apps Apple APNS Google GCM Amazon ADM Amazon SNS Mobile Push Notifications: Escalabilidad
  • 41. Amazon Mobile Analytics Amazon Device Farm AWS IAM Amazon Cognito Amazon S3 Amazon CloudFront Amazon Lambda AWS Mobile SDK Amazon Kinesis Autenticación y Sincr. Autorización de acceso Analice el comportamiento Contenido de la tienda Pruebas en dispositivos Entrega de contenido Registre eventos en tiempo real Ejecute la lógica de negocio Amazon SNS Mobile Push Envíe Push Notifications Amazon DynamoDB Almacene datos
  • 42. Amazon DynamoDB Servicio administrado de base de datos NoSQL • Modelo de datos Schemaless • Rendimiento Consistente y con baja latencia • Aprovisionamiento de throughput predecible • Escalabilidad transparente • Sin limite de almacenamiento • Altamente durable y disponible • Replicada en 3 ubicaciones • Altamente Administrada y bajo costo DynamoDBtabla ítems atributos
  • 43. @DynamoDBTable(tableName = ”Usuario") public static class Usuario { private String hash, alias, avatar; private int score; @DynamoDBHashKey(attributeName = ”hash") public String getHash() { return hash; } public void setHash(String hash) { this.hash = hash; } @DynamoDBAttribute(attributeName=”alias") public String getalias() { return alias; } ... hash alias avatar punt aje abce64 Oli4 s3://mybucket/av 1.jpg 1500 feru643 LoLZ s3://mybucket/lol z_56.jpg 800 4568c5 L33t s3://otherbucket/ catface.png 750 Tabla: Usuario Object Mapper Example - Class
  • 44. // Create a user object Usuario usuario = new Usuario(); note.setHash(”abce64”); note.setAlias(”Oli4"); note.setAvatar(”s3://mybucket/av1.jpg"); note.setPuntaje(0); // Save user object to DynamoDB mapper.save(usuario); // Update score and save user again user.setPuntaje(user.getPuntaje()+100); mapper.save(user); // Load another user User anotherUsuario = mapper.load(Usuario.class,”feru643”); Object Mapper Example – Store and Update
  • 45. Amazon Mobile Analytics Amazon Device Farm AWS IAM Amazon Cognito Amazon S3 Amazon CloudFront Amazon Lambda AWS Mobile SDK Autenticación y Sincr. Autorización de acceso Analice el comportamiento Contenido de la tienda Pruebas en dispositivos Entrega de contenido Ejecute la lógica de negocio Amazon SNS Mobile Push Envíe Push Notifications Amazon DynamoDB Almacene datos Amazon Kinesis Registre eventos en tiempo real
  • 46. Stream en tiempo real: Amazon Kinesis • Procesamiento de datos en tiempo real de stream distribuidos • Capacidad elástico que permite escalar hasta millones de eventos por segundo • Reaccione en tiempo real a eventos de streaming • Almacenamiento confiable del stream replicado en 3 ubicaciones Amazon Kinesis
  • 47. KinesisRecorder String kinesisDirectory = "YOUR_UNIQUE_DIRECTORY"; KinesisRecorder recorder = new KinesisRecorder( cognitoProvider, Regions.US_WEST_2, getDir(kinesisDirectory, MODE_PRIVATE)); recorder.saveRecord("MyData".getBytes(),"MyStreamName"); recorder.submitAllRecords();
  • 48. ¿Qué sucede si no quieren integrar el SDK en su app?
  • 49. Amazon API Gateway • Servicio de RESTful API Gateway completamente administrado y escalable • Potenciado por nuestra red de content delivery vía nuestros 53 puntos de frontera • Protección DDoS y capacidades de Throttling Amazon API Gateway
  • 50. Amazon API Gateway • Ofrece todos los métodos comunes RESTful (GET, PUT, POST etc.) • Múltiples API stages que se pueden definir(ej. dev, test, prod) • Deployment sencillo entre stages • AWS Lambda, Amazon’s Service APIs o su propia API como backend para el código que se ejecuta Amazon Lambda Amazon API Gateway Amazon EC2 AWS API On-Prem Server
  • 52. Quieres hacerte socio de AWS Amazon Partner Network https://aws.amazon.com/partners/
  • 54. ¡Muchas Gracias! Jesus Bonequi, Arquitecto de soluciones de AWS @jesusbo

Notas del editor

  • #11: One of the key benefits of Amazon Cognito is its Identity broker component. It creates a unique identifier and matches it when user’s login with any of the login providers. Developers have the flexibility to choose any login provider, in v1, we support G+, Amazon and Facebook and you can easily integrate using the SDK. We focus on users and not login providers and manage the user preferences for that users.   Implementing AWS security best practices for accessing cloud resources with Amazon Cognito is easy. Amazon Cognito gives each app a set of temporary, limited privilege AWS credentials for each app user to access all AWS services.
  • #14: With Amazon Cognito developers can synchronize application data across an end user’s devices with a single line of code. With Amazon Cognito, developers can securely store application data, such as preferences and game state in the AWS cloud. With synchronized application data, developers can give your users a consistent, unified experience on their app across all of their mobile devices. Developers can use Amazon Cognito directly from their mobile app without building or maintaining any backend infrastructure. Amazon Cognito handles secure application data storage and sync, enabling them to focus on their application experiences, instead of the heavy lifting of creating and managing a user application data sync solution. It manages the complexity of conflict resolution and intermittent network connectivity by managing offline cache ensuring your application can always deliver a great user experience. Each data set in the Amazon Cognito sync store can be synchronized on all devices associated with an identity simply by calling the synchronize () method.
  • #35: draft
  • #53: Let’s look at the Account sign up process: There is a website dedicated to helping customers understand how to get started on AWS. This site offers a number of introductory videos and step-by-step tutorials. I want to point out that since AWS operates on utility based pricing, you will not be charged unless you start using our services. Signing up for an account does not cost you. When you are ready to sign up for an account, you can go to http://aws.amazon.com and click on the button called “Sign Up” To sign up for an account, you need a valid email address. You can use your exiting Amazon.com account based email address or create a new email account and use that to sign up for an AWS account. On a subsequent page, you need to provide your contact info For billing and payment, default payment instrument is CC. If you are interested in setting up for Invoice based payment, please contact an AWS sales rep and they can send you a special link. After you provide billing information, a phone based verification is conducted to ensure that request is coming from a valid source. On the last stage, you can select a support plan. If you are just playing around, select “Basic”, which is free. Free Tier: To help new AWS customers get started, AWS offers a free usage tier. This free tier can be used for anything you want to run in the Cloud: launch new applications, test existing applications in the Cloud, or simply gain hands-on experience with AWS. Please refer to the link on the slide to see what you can do using the free tier.
  • #54: Main account sign up page Login credential setup page
  • #55: Contact Info page Payment Information page
  • #56: Phone verification pages