SlideShare une entreprise Scribd logo
1  sur  113
Télécharger pour lire hors ligne
Authenticate users 
Authorize access 
Analyze User Behavior 
Store and share media 
Synchronize data 
Deliver media 
Store shared data 
Stream real-time data 
Track Retention 
Send push notifications 
Manage users and 
identity providers 
Securely access 
cloud resources 
Sync user prefs 
across devices 
Track active users, 
engagement 
Manage funnels, 
Campaign performances 
Store user-generated photos 
Media and share them 
Automatically detect mobile devices 
Deliver content quickly globally 
Bring users back to your app by sending 
messages reliably 
Store and query fast NoSQLdata 
across users and devices 
Collect real-time clickstream logs 
and take actions quickly 
Your Mobile App
Authenticate users 
Authorize access 
Analyze User Behavior 
Store and share media 
Synchronize data 
AWS Mobile SDK 
Amazon Mobile 
Analytics 
Deliver media 
Amazon Cognito 
(Sync) 
AWS Identity and 
Access Management 
Amazon Cognito 
(Identity) 
Amazon S3 
Transfer Manager 
Amazon CloudFront 
(Device Detection) 
Store shared data 
Amazon DynamoDB 
(Object Mapper) 
Stream real-time data 
Amazon Kinesis 
(Recorder) 
Track Retention 
Amazon Mobile 
Analytics 
Send push notifications 
Amazon SNS 
Mobile Push 
Your 
Mobile 
App
Manage authenticated and guest users across identity providers 
Guest 
Identity Management 
Synchronize user’s data across devices and platforms via the cloud 
Data Synchronization 
Securely access AWS services from mobile devices and platforms 
Secure AWS Access 
Guest 
Your own 
Auth
Identity 
Providers 
Unique 
Joe Anna Bob Identities 
Any Device 
Any Platform 
Any Service 
Helps implement security best 
practices 
Securely access any AWS service from a 
mobile device. It simplifies the interaction with 
IAM. 
Support Multiple Login Providers 
Easily integrate with major login providers for 
authentication. 
Unique Users vs. Devices 
Manage unique identities. Automatically 
recognize unique users across devices and 
platforms. 
Mobile 
Analytics 
Amazon 
S3 
DynamoDB Amazon 
Kinesis
Unique Identifier for Your “Things” 
“Headless” connected devices can also 
securely access cloud services. 
Save Data to the Cloud 
Save app and device data to the cloud and 
merge them after login. 
Guest User Access 
Securely access AWS resources and leverage 
app features without the need to create an 
account or logging in. 
Visitor 
Preferences 
Amazon 
Cognito 
Sync 
Guest 
Amazon 
EC2 
Amazon 
S3 
DynamoDB 
Amazon 
Kinesis
Set granular access permissions on AWS 
resources 
Get fine-grained access control to cloud 
resources. 
Safeguard AWS Credentials 
No need to embed credentials in the app 
anymore. Get least-privileged temporary 
credentials. 
Helps implement security best practices 
Securely access any AWS service. It simplifies 
the interaction with Amazon Security Token 
Service and removes the need of Token 
Vending Machine. 
Amazon 
EC2 
Amazon 
S3 
DynamoDB Amazon 
Kinesis
•Identity Pool: Pool of app users. Can be shared across apps. 
•Identity: An individual user. Consistent across identity providers. Can be a guest user. 
•Login: Identifier in a login provider. 
AWS Account 
Dataset 
Identity 
Identity 
Identity 
Dataset 
Login 
Identity 
Pool 
1:60 
1:n 
0:n
Sign up for an AWS account and login to the AWS Management Console 
Download and integrate the AWS Mobile SDK and store and sync user data in a dataset 
Create identitypoolfor authenticated and unauthenticated users in the AWS Management Console
Login
AssumeRoleWithWebIdentity
Login 
AssumeRoleWithWebIdentity 
All this is handled by the credentials provider.
–Identity Provider Access
{ 
"Version": "2012-10-17", 
"Statement": [ { 
"Effect": "Allow", 
"Principal": { "Federated": "cognito-identity.amazonaws.com" }, 
"Action": "sts:AssumeRoleWithWebIdentity", 
"Condition": { 
"StringEquals": { 
"cognito-identity.amazonaws.com:aud": 
"us-east-1:12345678-dead-beef-cafe-123456790ab" 
}, 
"ForAnyValue:StringLike": { 
"cognito-identity.amazonaws.com:amr": "unauthenticated" 
} 
} 
} ] 
}
{ 
"Version": "2012-10-17", 
"Statement": [ { 
"Effect": "Allow", 
"Principal": { "Federated": "cognito-identity.amazonaws.com" }, 
"Action": "sts:AssumeRoleWithWebIdentity", 
"Condition": { 
"StringEquals": { 
"cognito-identity.amazonaws.com:aud": 
"us-east-1:12345678-dead-beef-cafe-123456790ab" 
}, 
"ForAnyValue:StringLike": { 
"cognito-identity.amazonaws.com:amr": "unauthenticated" 
} 
} 
} ] 
} 
Defines that we should trust Amazon Cognito
{ 
"Version": "2012-10-17", 
"Statement": [ { 
"Effect": "Allow", 
"Principal": { "Federated": "cognito-identity.amazonaws.com" }, 
"Action": "sts:AssumeRoleWithWebIdentity", 
"Condition": { 
"StringEquals": { 
"cognito-identity.amazonaws.com:aud": 
"us-east-1:12345678-dead-beef-cafe-123456790ab" 
}, 
"ForAnyValue:StringLike": { 
"cognito-identity.amazonaws.com:amr": "unauthenticated" 
} 
} 
} ] 
} 
Defines that we should trust identities from our pool
{ 
"Version": "2012-10-17", 
"Statement": [ { 
"Effect": "Allow", 
"Principal": { "Federated": "cognito-identity.amazonaws.com" }, 
"Action": "sts:AssumeRoleWithWebIdentity", 
"Condition": { 
"StringEquals": { 
"cognito-identity.amazonaws.com:aud": 
"us-east-1:12345678-dead-beef-cafe-123456790ab" 
}, 
"ForAnyValue:StringLike": { 
"cognito-identity.amazonaws.com:amr": "unauthenticated" 
} 
} 
} ] 
} 
Defines that we should trust unauthenticated identities
{ 
"Version": "2012-10-17", 
"Statement": [{ 
"Action": [ 
"mobileanalytics:PutEvents", 
"cognito-sync:*" 
], 
"Effect": "Allow", 
"Resource": [ "*" ] 
}] 
}
{ 
"Version": "2012-10-17", 
"Statement": [{ 
"Action": [ 
"mobileanalytics:PutEvents", 
"cognito-sync:*" 
], 
"Effect": "Allow", 
"Resource": [ "*" ] 
}] 
} 
Grants access to Analytics and Amazon CognitoSync
{ 
"Version": "2012-10-17", 
"Statement": [{ 
"Action": [ 
"mobileanalytics:PutEvents", 
"cognito-sync:*" 
], 
"Effect": "Allow", 
"Resource": [ "*" ] 
}] 
} 
May seem too permissive, but Amazon CognitoSyncprevents identities accessing others data.
${cognito-identity.amazonaws.com:sub} ${cognito-identity.amazonaws.com:sub}
${cognito-identity.amazonaws.com:sub} ${cognito-identity.amazonaws.com:sub} 
Will be replaced by the identity ID
${cognito-identity.amazonaws.com:sub}
${cognito-identity.amazonaws.com:sub} 
Will be replaced by the identity ID
People have multiple devices and want to transition between devices. Implementing a user profile that syncs across devices, OS, and apps is hard. It not only has to work when offline, but it must be easy to integrate with existing apps.
•Store App Data,Preferences, and State 
•Work Offline 
•No Backend 
User Data 
Identity Pool
•Identity Pool: Pool of app users. Can be shared across apps. 
•Identity: An individual user. Consistent across identity providers. Can be a guest user. 
•Dataset: Per user grouping of data. The most granular level of sync. Up to 1 MB. 
•Record: Key-value pair. 
AWS Account 
Dataset 
Identity 
Identity 
Identity 
Dataset 
Dataset 
Identity 
Pool 
1:60 
1:n 
1:20 
Dataset 
Dataset 
Record 
1:1024
Developer Economics | State of the Developer Nation Q3 2014 | © VisionMobile | All rights reserved | www.developereconomics.com/go 27
Developer Economics 
State of the Developer Nation Q3 2014 
© VisionMobile
timely mannerown their mobile data
Scalable and Generous Free Tier 
Focus on metrics that matter. Usage reports available within 60 minutes of receiving data from an app. 
Fast 
Scale to billions of events per day from millions of users. 
Own Your Data 
“Easily collect, visualize, and understand your app usage data at scale” 
Data collected are not shared, aggregated, or reused.
Key Business Metrics 
(with one line of code) 
1.Monthly Active Users (MAU) 
2.Daily Active Users (DAU) 
3.New Users 
4.Daily Sessions 
5.Sticky Factor 
6.1-Day Retention 
7.Avg. Revenue per DAU 
8.Daily Paying Users 
9.Avg. Paying DAU
Track Retention 
User retention is a key indicator to judge the outcome of a marketing campaign, new feature introduction, UX changes, app updates, etc. 
Mobile Analytics provide four charts to track daily or weekly rate of returning users, after first use of the app.
Get behavioral insights into app-specific actions that your users take. 
Reports provide a view of how often custom events occur. You can add further context with Attributes and Metrics, to each custom event. 
Examples 
Track the number of Likes/Shares, per article, in a news app 
Understand player abort rates per level, in a game 
Number of songs played, per user session, in a music app 
In-app item popularity in a shopping app
Sign up for an AWS account and create or use an existing Amazon CognitoID in the AWS Management Console 
View engagement and session activity reports in the AWS Management Console within minutes 
Download and integrate the AWS Mobile SDK with one line of code (Android/FireOS, iOS)
S3 Connector 
Multipart upload media (photos, videos, audio) 
Fault tolerant download (e.g., assets) 
No backend required 
Automatic retries 
Pause, resume, cancel functions 
Optimized for native OS
Amazon S3 Custom 
OR 
User requests 
Edge location 
(cache + network optimizations) Origin 
Get content Get content 
Content Content 
How Amazon CloudFrontWorks
Dallas (2) 
St.Louis 
Miami 
Jacksonville 
Los Angeles (2) 
Palo Alto 
Seattle 
Ashburn (3) 
Newark 
New York (3) 
Dublin 
London (2) 
Amsterdam (3) 
Stockholm 
Frankfurt (3) 
Paris (2) 
Singapore (2) 
Hong Kong (2) 
Tokyo (2) 
Sao Paulo 
South Bend 
San Jose 
Milan 
Sydney 
Madrid 
Seoul 
Mumbai 
Chennai 
Atlanta 
Hayward 
Rio de Janeiro 
Marseille 
Warsaw 
Osaka 
Manila 
Taipei 
Melbourne
Joe 
Anna 
Bob 
High Scores 
Joe 
1500 
Anna 
800 
Bob 
750 
DynamoDB Connector: Object Mapper 
Simplifies access to DynamoDB in your app 
Map client-side classes to DynamoDB tables 
Removes the need to transform objects into tables and vice versa
Geo Library for DynamoDB
•Amazon Mobile Analytics 
•Amazon S3 TransferManager 
•DynamoDB Object Mapper
Apple APNS 
Google GCM 
Amazon ADM 
Amazon SNSMobile Push
Apple APNS 
Google GCM 
Amazon ADM 
Amazon SNSMobile Push 
ARN 1 
Token A 
ARN 2 
Token B 
ARN 3 
Token C
Amazon SNSMobile Push 
Token Registration 
Token Feedback 
Cloud App
Apple APNS 
Google GCM 
Amazon ADM 
Amazon SNSMobile Push 
ARN 1 
Token A 
ARN 2 
Token B 
ARN 3 
Token C 
Token X 
Token Y
Publish 
Publish 
Publish 
Publish 
Direct Publishing 
Broadcast with Amazon SNS Topics
Geography 
Activity 
Product 
US –West Coast 
Daily Actives 
Flapping Bird Rio 
Interest 
Tier 
Segment 
49ers 
Premium 
Top 100 Players
•Elastic Beanstalk 
–No additional costs, you pay only for the AWS resources you use 
–Environment tier 
•Web Server (JSON) 
•Worker (Amazon SQS) 
–Publish with tools you already use 
•Eclipse 
•Visual Studio 
•Git
IIS 
Node.js 
PHP 
Python 
Ruby 
Tomcat 
Docker
DeployYour Backend Application
Kinesis 
Connector 
Batching of requests 
Notification when batch size is reached 
Handles any arbitrary data
https://github.com/awslabs/amazon-kinesis-clienthttps://github.com/awslabs/amazon-kinesis-client- pythonhttps://github.com/awslabs/amazon-kinesis-connectorshttps://github.com/awslabs/kinesis-storm-spout
Your own Username 
And Password 
Your own user authentication system 
Several apps prefer to have their own username and password instead of public identity providers for authentication. 
Manage mappings easily 
Cognito manages the mappings across login systems (public or private) using a unique Amazon CognitoID. 
Easily integrate with existing systems 
Implement GetOpenIdTokeForDeveloperIdentity() using our server-side SDKs like Java, Python, Ruby etc.
Login
GetOpenIdTokenForDeveloperIdentity
AssumeRoleWithWebIdentity
access_token
GetOpenIdTokenForDeveloperIdentity
AssumeRoleWithWebIdentity
Authenticate users 
Authorize access 
Analyze User Behavior 
Store and share media 
Synchronize data 
AWS Mobile SDK 
Amazon Mobile 
Analytics 
Deliver media 
Amazon Cognito 
(Sync) 
AWS Identity and 
Access Management 
Amazon Cognito 
(Identity) 
Amazon S3 
Transfer Manager 
Amazon CloudFront 
(Device Detection) 
Store shared data 
Amazon DynamoDB 
(Object Mapper) 
Stream real-time data 
Amazon Kinesis 
(Recorder) 
Track Retention 
Amazon Mobile 
Analytics 
Send push notifications 
Amazon SNS 
Mobile Push 
Your 
Mobile 
App
•AWS Mobile Home 
http://aws.amazon.com/mobile 
•AWS Mobile Blog 
http://mobile.awsblog.com 
•Twitter 
@awsformobile 
•Forums 
http://forums.aws.amazon.com 
•StackOverflow 
http://stackoverflow.com/tags/amazon-web-services 
•GitHub 
http://github.com/aws/ 
http://github.com/awslabs/
Please give us your feedback on this 
presentation
Please give us your feedback on this session. 
Complete session evaluations and earn re:Invent swag. 
http://bit.ly/awsevals

Contenu connexe

Tendances

AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
Amazon Web Services
 

Tendances (20)

Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile Services
 
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...
AWS September Webinar Series -  Build Cross-Platform Mobile Apps with AWS and...AWS September Webinar Series -  Build Cross-Platform Mobile Apps with AWS and...
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...
 
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
 
Cloud-powered Cross-platform Mobile Apps on AWS
Cloud-powered Cross-platform Mobile Apps on AWSCloud-powered Cross-platform Mobile Apps on AWS
Cloud-powered Cross-platform Mobile Apps on AWS
 
Integrating an App with Amazon Web Services SimpleDB - A Matter of Choices
Integrating an App with Amazon Web Services SimpleDB - A Matter of ChoicesIntegrating an App with Amazon Web Services SimpleDB - A Matter of Choices
Integrating an App with Amazon Web Services SimpleDB - A Matter of Choices
 
Journey Through the Cloud - Social & Mobile Apps
Journey Through the Cloud - Social & Mobile Apps Journey Through the Cloud - Social & Mobile Apps
Journey Through the Cloud - Social & Mobile Apps
 
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDKDeep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
 
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
 
Building Cloud-powered Mobile Apps
Building Cloud-powered Mobile AppsBuilding Cloud-powered Mobile Apps
Building Cloud-powered Mobile Apps
 
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
 
Journey Through the Cloud - Mobile & Social Apps
Journey Through the Cloud - Mobile & Social AppsJourney Through the Cloud - Mobile & Social Apps
Journey Through the Cloud - Mobile & Social Apps
 
Building mobile apps on AWS
Building mobile apps on AWSBuilding mobile apps on AWS
Building mobile apps on AWS
 
Building Cloud-Powered Mobile Apps
Building Cloud-Powered Mobile AppsBuilding Cloud-Powered Mobile Apps
Building Cloud-Powered Mobile Apps
 
Mobile App Development with Amazon Web Services Mobile Hub
Mobile App Development with Amazon Web Services Mobile HubMobile App Development with Amazon Web Services Mobile Hub
Mobile App Development with Amazon Web Services Mobile Hub
 
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
 
Build Your Mobile App with AWS Mobile Services
Build Your Mobile App with AWS Mobile ServicesBuild Your Mobile App with AWS Mobile Services
Build Your Mobile App with AWS Mobile Services
 
Amazon Cognito
Amazon CognitoAmazon Cognito
Amazon Cognito
 
AWS Mobile Hub Overview
AWS Mobile Hub OverviewAWS Mobile Hub Overview
AWS Mobile Hub Overview
 
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS
 
Add User Sign in and Management to your Apps with Amazon Cognito
Add User Sign in and Management to your Apps with Amazon CognitoAdd User Sign in and Management to your Apps with Amazon Cognito
Add User Sign in and Management to your Apps with Amazon Cognito
 

En vedette

En vedette (18)

Globant and Big Data on AWS
Globant and Big Data on AWSGlobant and Big Data on AWS
Globant and Big Data on AWS
 
AWS Mobile Hub - Building Mobile Apps with AWS
AWS Mobile Hub - Building Mobile Apps with AWSAWS Mobile Hub - Building Mobile Apps with AWS
AWS Mobile Hub - Building Mobile Apps with AWS
 
HPC in the Cloud
HPC in the CloudHPC in the Cloud
HPC in the Cloud
 
The art of infrastructure elasticity
The art of infrastructure elasticityThe art of infrastructure elasticity
The art of infrastructure elasticity
 
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
 
Real-time Data Processing Using AWS Lambda
Real-time Data Processing Using AWS LambdaReal-time Data Processing Using AWS Lambda
Real-time Data Processing Using AWS Lambda
 
Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )
 
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
 
Build Mobile Apps using AWS SDKs and AWS Mobile Hub
Build Mobile Apps using AWS SDKs and AWS Mobile HubBuild Mobile Apps using AWS SDKs and AWS Mobile Hub
Build Mobile Apps using AWS SDKs and AWS Mobile Hub
 
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
 
Real-Time Streaming Data on AWS
Real-Time Streaming Data on AWSReal-Time Streaming Data on AWS
Real-Time Streaming Data on AWS
 
Mobile Web and App Development with AWS
Mobile Web and App Development with AWSMobile Web and App Development with AWS
Mobile Web and App Development with AWS
 
Architecting an Highly Available and Scalable WordPress Site in AWS
Architecting an Highly Available and Scalable WordPress Site in AWS Architecting an Highly Available and Scalable WordPress Site in AWS
Architecting an Highly Available and Scalable WordPress Site in AWS
 
Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013
Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013
Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013
 
Amazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best Practices
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile Services
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 

Similaire à (MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014

02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short
Codemotion
 
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver KleinAWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
Amazon Web Services Korea
 
Social & Mobile Apps journey through the cloud
Social & Mobile Apps   journey through the cloudSocial & Mobile Apps   journey through the cloud
Social & Mobile Apps journey through the cloud
Ian Massingham
 

Similaire à (MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014 (20)

Build high performing mobile apps, faster with AWS
Build high performing mobile apps, faster with AWSBuild high performing mobile apps, faster with AWS
Build high performing mobile apps, faster with AWS
 
Mobile on AWS
Mobile on AWSMobile on AWS
Mobile on AWS
 
Building mobile apps on aws
Building mobile apps on awsBuilding mobile apps on aws
Building mobile apps on aws
 
Improve monitoring and monetization of your mobile apps
Improve monitoring and monetization of your mobile appsImprove monitoring and monetization of your mobile apps
Improve monitoring and monetization of your mobile apps
 
AWS Webinar - 201 Developing mobile apps with AWS
AWS Webinar - 201 Developing mobile apps with AWSAWS Webinar - 201 Developing mobile apps with AWS
AWS Webinar - 201 Developing mobile apps with AWS
 
(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB
(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB
(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB
 
Building Mobile Apps on AWS at Websummit Diublin
Building Mobile Apps on AWS at Websummit DiublinBuilding Mobile Apps on AWS at Websummit Diublin
Building Mobile Apps on AWS at Websummit Diublin
 
Building Cloud-powered Mobile Apps
Building Cloud-powered Mobile AppsBuilding Cloud-powered Mobile Apps
Building Cloud-powered Mobile Apps
 
AWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
AWS Cloud Kata 2014 | Jakarta - 2-2 MobileAWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
AWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
 
02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short02 cloud poweredmobileappsonaws_short
02 cloud poweredmobileappsonaws_short
 
Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games
 
Un backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectésUn backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectés
 
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver KleinAWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
 
AWS Mobile Hub + AWS Device Farm
AWS Mobile Hub + AWS Device FarmAWS Mobile Hub + AWS Device Farm
AWS Mobile Hub + AWS Device Farm
 
Social & Mobile Apps journey through the cloud
Social & Mobile Apps   journey through the cloudSocial & Mobile Apps   journey through the cloud
Social & Mobile Apps journey through the cloud
 
Improve Monitoring & Monetization of Your Mobile Apps
Improve Monitoring & Monetization of Your Mobile AppsImprove Monitoring & Monetization of Your Mobile Apps
Improve Monitoring & Monetization of Your Mobile Apps
 
Serverless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWSServerless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWS
 
(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...
(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...
(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...
 
Serverless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWSServerless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWS
 
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKsDay 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
 

Plus de Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Plus de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

(MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Authenticate users Authorize access Analyze User Behavior Store and share media Synchronize data Deliver media Store shared data Stream real-time data Track Retention Send push notifications Manage users and identity providers Securely access cloud resources Sync user prefs across devices Track active users, engagement Manage funnels, Campaign performances Store user-generated photos Media and share them Automatically detect mobile devices Deliver content quickly globally Bring users back to your app by sending messages reliably Store and query fast NoSQLdata across users and devices Collect real-time clickstream logs and take actions quickly Your Mobile App
  • 9.
  • 10. Authenticate users Authorize access Analyze User Behavior Store and share media Synchronize data AWS Mobile SDK Amazon Mobile Analytics Deliver media Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) Store shared data Amazon DynamoDB (Object Mapper) Stream real-time data Amazon Kinesis (Recorder) Track Retention Amazon Mobile Analytics Send push notifications Amazon SNS Mobile Push Your Mobile App
  • 11.
  • 12. Manage authenticated and guest users across identity providers Guest Identity Management Synchronize user’s data across devices and platforms via the cloud Data Synchronization Securely access AWS services from mobile devices and platforms Secure AWS Access Guest Your own Auth
  • 13. Identity Providers Unique Joe Anna Bob Identities Any Device Any Platform Any Service Helps implement security best practices Securely access any AWS service from a mobile device. It simplifies the interaction with IAM. Support Multiple Login Providers Easily integrate with major login providers for authentication. Unique Users vs. Devices Manage unique identities. Automatically recognize unique users across devices and platforms. Mobile Analytics Amazon S3 DynamoDB Amazon Kinesis
  • 14. Unique Identifier for Your “Things” “Headless” connected devices can also securely access cloud services. Save Data to the Cloud Save app and device data to the cloud and merge them after login. Guest User Access Securely access AWS resources and leverage app features without the need to create an account or logging in. Visitor Preferences Amazon Cognito Sync Guest Amazon EC2 Amazon S3 DynamoDB Amazon Kinesis
  • 15. Set granular access permissions on AWS resources Get fine-grained access control to cloud resources. Safeguard AWS Credentials No need to embed credentials in the app anymore. Get least-privileged temporary credentials. Helps implement security best practices Securely access any AWS service. It simplifies the interaction with Amazon Security Token Service and removes the need of Token Vending Machine. Amazon EC2 Amazon S3 DynamoDB Amazon Kinesis
  • 16. •Identity Pool: Pool of app users. Can be shared across apps. •Identity: An individual user. Consistent across identity providers. Can be a guest user. •Login: Identifier in a login provider. AWS Account Dataset Identity Identity Identity Dataset Login Identity Pool 1:60 1:n 0:n
  • 17. Sign up for an AWS account and login to the AWS Management Console Download and integrate the AWS Mobile SDK and store and sync user data in a dataset Create identitypoolfor authenticated and unauthenticated users in the AWS Management Console
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Login
  • 23.
  • 24.
  • 26. Login AssumeRoleWithWebIdentity All this is handled by the credentials provider.
  • 27.
  • 29.
  • 30. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-dead-beef-cafe-123456790ab" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] }
  • 31. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-dead-beef-cafe-123456790ab" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] } Defines that we should trust Amazon Cognito
  • 32. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-dead-beef-cafe-123456790ab" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] } Defines that we should trust identities from our pool
  • 33. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-dead-beef-cafe-123456790ab" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] } Defines that we should trust unauthenticated identities
  • 34. { "Version": "2012-10-17", "Statement": [{ "Action": [ "mobileanalytics:PutEvents", "cognito-sync:*" ], "Effect": "Allow", "Resource": [ "*" ] }] }
  • 35. { "Version": "2012-10-17", "Statement": [{ "Action": [ "mobileanalytics:PutEvents", "cognito-sync:*" ], "Effect": "Allow", "Resource": [ "*" ] }] } Grants access to Analytics and Amazon CognitoSync
  • 36. { "Version": "2012-10-17", "Statement": [{ "Action": [ "mobileanalytics:PutEvents", "cognito-sync:*" ], "Effect": "Allow", "Resource": [ "*" ] }] } May seem too permissive, but Amazon CognitoSyncprevents identities accessing others data.
  • 37.
  • 41. ${cognito-identity.amazonaws.com:sub} Will be replaced by the identity ID
  • 42.
  • 43. People have multiple devices and want to transition between devices. Implementing a user profile that syncs across devices, OS, and apps is hard. It not only has to work when offline, but it must be easy to integrate with existing apps.
  • 44.
  • 45.
  • 46. •Store App Data,Preferences, and State •Work Offline •No Backend User Data Identity Pool
  • 47. •Identity Pool: Pool of app users. Can be shared across apps. •Identity: An individual user. Consistent across identity providers. Can be a guest user. •Dataset: Per user grouping of data. The most granular level of sync. Up to 1 MB. •Record: Key-value pair. AWS Account Dataset Identity Identity Identity Dataset Dataset Identity Pool 1:60 1:n 1:20 Dataset Dataset Record 1:1024
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54. Developer Economics | State of the Developer Nation Q3 2014 | © VisionMobile | All rights reserved | www.developereconomics.com/go 27
  • 55. Developer Economics State of the Developer Nation Q3 2014 © VisionMobile
  • 56. timely mannerown their mobile data
  • 57. Scalable and Generous Free Tier Focus on metrics that matter. Usage reports available within 60 minutes of receiving data from an app. Fast Scale to billions of events per day from millions of users. Own Your Data “Easily collect, visualize, and understand your app usage data at scale” Data collected are not shared, aggregated, or reused.
  • 58. Key Business Metrics (with one line of code) 1.Monthly Active Users (MAU) 2.Daily Active Users (DAU) 3.New Users 4.Daily Sessions 5.Sticky Factor 6.1-Day Retention 7.Avg. Revenue per DAU 8.Daily Paying Users 9.Avg. Paying DAU
  • 59. Track Retention User retention is a key indicator to judge the outcome of a marketing campaign, new feature introduction, UX changes, app updates, etc. Mobile Analytics provide four charts to track daily or weekly rate of returning users, after first use of the app.
  • 60. Get behavioral insights into app-specific actions that your users take. Reports provide a view of how often custom events occur. You can add further context with Attributes and Metrics, to each custom event. Examples Track the number of Likes/Shares, per article, in a news app Understand player abort rates per level, in a game Number of songs played, per user session, in a music app In-app item popularity in a shopping app
  • 61. Sign up for an AWS account and create or use an existing Amazon CognitoID in the AWS Management Console View engagement and session activity reports in the AWS Management Console within minutes Download and integrate the AWS Mobile SDK with one line of code (Android/FireOS, iOS)
  • 62.
  • 63.
  • 64. S3 Connector Multipart upload media (photos, videos, audio) Fault tolerant download (e.g., assets) No backend required Automatic retries Pause, resume, cancel functions Optimized for native OS
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72. Amazon S3 Custom OR User requests Edge location (cache + network optimizations) Origin Get content Get content Content Content How Amazon CloudFrontWorks
  • 73. Dallas (2) St.Louis Miami Jacksonville Los Angeles (2) Palo Alto Seattle Ashburn (3) Newark New York (3) Dublin London (2) Amsterdam (3) Stockholm Frankfurt (3) Paris (2) Singapore (2) Hong Kong (2) Tokyo (2) Sao Paulo South Bend San Jose Milan Sydney Madrid Seoul Mumbai Chennai Atlanta Hayward Rio de Janeiro Marseille Warsaw Osaka Manila Taipei Melbourne
  • 74.
  • 75.
  • 76. Joe Anna Bob High Scores Joe 1500 Anna 800 Bob 750 DynamoDB Connector: Object Mapper Simplifies access to DynamoDB in your app Map client-side classes to DynamoDB tables Removes the need to transform objects into tables and vice versa
  • 77. Geo Library for DynamoDB
  • 78. •Amazon Mobile Analytics •Amazon S3 TransferManager •DynamoDB Object Mapper
  • 79.
  • 80.
  • 81. Apple APNS Google GCM Amazon ADM Amazon SNSMobile Push
  • 82. Apple APNS Google GCM Amazon ADM Amazon SNSMobile Push ARN 1 Token A ARN 2 Token B ARN 3 Token C
  • 83. Amazon SNSMobile Push Token Registration Token Feedback Cloud App
  • 84. Apple APNS Google GCM Amazon ADM Amazon SNSMobile Push ARN 1 Token A ARN 2 Token B ARN 3 Token C Token X Token Y
  • 85. Publish Publish Publish Publish Direct Publishing Broadcast with Amazon SNS Topics
  • 86. Geography Activity Product US –West Coast Daily Actives Flapping Bird Rio Interest Tier Segment 49ers Premium Top 100 Players
  • 87.
  • 88.
  • 89.
  • 90. •Elastic Beanstalk –No additional costs, you pay only for the AWS resources you use –Environment tier •Web Server (JSON) •Worker (Amazon SQS) –Publish with tools you already use •Eclipse •Visual Studio •Git
  • 91. IIS Node.js PHP Python Ruby Tomcat Docker
  • 93.
  • 94.
  • 95. Kinesis Connector Batching of requests Notification when batch size is reached Handles any arbitrary data
  • 96.
  • 97.
  • 99.
  • 100. Your own Username And Password Your own user authentication system Several apps prefer to have their own username and password instead of public identity providers for authentication. Manage mappings easily Cognito manages the mappings across login systems (public or private) using a unique Amazon CognitoID. Easily integrate with existing systems Implement GetOpenIdTokeForDeveloperIdentity() using our server-side SDKs like Java, Python, Ruby etc.
  • 101. Login
  • 103.
  • 107.
  • 109.
  • 110. Authenticate users Authorize access Analyze User Behavior Store and share media Synchronize data AWS Mobile SDK Amazon Mobile Analytics Deliver media Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) Store shared data Amazon DynamoDB (Object Mapper) Stream real-time data Amazon Kinesis (Recorder) Track Retention Amazon Mobile Analytics Send push notifications Amazon SNS Mobile Push Your Mobile App
  • 111. •AWS Mobile Home http://aws.amazon.com/mobile •AWS Mobile Blog http://mobile.awsblog.com •Twitter @awsformobile •Forums http://forums.aws.amazon.com •StackOverflow http://stackoverflow.com/tags/amazon-web-services •GitHub http://github.com/aws/ http://github.com/awslabs/
  • 112. Please give us your feedback on this presentation
  • 113. Please give us your feedback on this session. Complete session evaluations and earn re:Invent swag. http://bit.ly/awsevals