SlideShare a Scribd company logo
1 of 99
Mobile Applications and 

the Internet of Things
AWS Lambda & AWS Cognito
Adam Larter, Solutions Architect
Amazon Web Services
Business
101 Technical
201 Technical
301 Technical
401 Technical
Session Grading
Agenda
• Challenges when building Mobile/IoT applications
• Discuss how AWS services help meet the challenges
• Dive deep on AWS Cognito and AWS Lambda
• IoT and Mobile demonstrations
• Guest speaker from CarSales.com.au
IoT & Mobile demo

“Beaconisis”
Beaconisis V1.0
• Uses Bluetooth LE (Low Energy) Beacons

Received signal strength is converted to approx. distance in meters
• Multiple Raspberry PIs create a ‘geo fence’

Each RPI sends telemetry data to a Kinesis stream in real-time
• Lambda function bound to Kinesis stream

Processes records in real-time and makes data available to mobile app
to trilaterate the position of the ‘target’ relative to the detectors

Beaconisis V1.0 – Detetctor flow
Kinesis stream
Lambda
Function
DynamoDB
Beaconisis V1.0 – Detetctor flow
Detector 3
Detector 2Detector 1
Kinesis stream
Lambda
Function
DynamoDB
Beaconisis V1.0 – Detetctor flow
Detector 3
Detector 2Detector 1
Kinesis stream
Lambda
Function
DynamoDB
Beaconisis V1.0 – Detetctor flow
Detector 3
Detector 2Detector 1
Kinesis stream
Lambda
Function
DynamoDB
Lambda function filters the detection
data, applies a Kalman filter to smooth
the readings & updates DynamoDB
Beaconisis V1.0 – Detetctor flow
Detector 3
Detector 2Detector 1
Kinesis stream
Lambda
Function
DynamoDB
Lambda function filters the detection
data, applies a Kalman filter to smooth
the readings & updates DynamoDB
Beaconisis V1.0 – ‘Tile’ beacon
http://www.tomsguide.com/us/tile-android-app,news-20027.html
Beaconisis V1.0 – Sample payload
Beaconisis V1.0 – Sample payload
Signal Strength
measured at distance of
1 meter
Beaconisis V1.0 – Sample payload
Signal Strength
measured at distance of
1 meter
Received Signal
Strength Indicator =
current measurement
Beaconisis V1.0 – Web page
Beaconisis V1.0 – Mobile App flow
DynamoDB
Cognito
Identity
Beaconisis V1.0 – Mobile App flow
DynamoDB
Cognito
Identity
Beaconisis V1.0 – Mobile App flow
DynamoDB
Using trilateration to determine the
approximate location of the target within
the boundary created by the detectors
Cognito
Identity
IoT & Mobile demo

“Beaconisis”
IoT & Mobile demo

“RFID Reader with Face Detection”
Pawrus V1.0 – Hardware
www.adafruit.com
Pawrus V1.0 – Hardware
www.adafruit.com
RFID reader - Flow
Initialise Cognito
RFID reader - Flow
Initialise Cognito
Blink LED to
indicate Ready
RFID reader - Flow
Initialise Cognito
Blink LED to
indicate Ready
RFID detected
Capture Image to
local storage
Steady LED to
indicate image
captured Ok
RFID reader - Flow
Initialise Cognito
Blink LED to
indicate Ready
RFID detected
Capture Image to
local storage
RFID goes out of range
Steady LED to
indicate image
captured Ok
RFID reader - Flow
Initialise Cognito
Blink LED to
indicate Ready
RFID detected
Capture Image to
local storage
RFID goes out of range
Steady LED to
indicate image
captured Ok
Upload image to
S3 with headers
eg: RFID
RFID reader - Flow
Initialise Cognito
Blink LED to
indicate Ready
RFID detected
Capture Image to
local storage
RFID goes out of range
Steady LED to
indicate image
captured Ok
Upload image to
S3 with headers
eg: RFID
Blink LED to
indicate done
RFID reader – Upload Response Architecture
Mobile
App
S3 Upload
Bucket
Cognito
Identity
Lambda
Function
SNS Topic
TOPIC
SNS
RFID reader – Upload Response Architecture
Mobile
App
S3 Upload
Bucket
Cognito
Identity
Lambda
Function
Image uploaded to S3
SNS Topic
TOPIC
SNS
RFID reader – Upload Response Architecture
Mobile
App
S3 Upload
Bucket
Cognito
Identity
Lambda
Function
Image uploaded to S3
SNS Topic
TOPIC
SNS
RFID reader – Upload Response Architecture
Mobile
App
S3 Upload
Bucket
Cognito
Identity
Lambda
Function
Image uploaded to S3
Push
notification
from GCM
SNS Topic
TOPIC
SNS
Guest access
Mobile App
SQS Queue
RFID reader – Command architecture
S3 Upload
Bucket
SNS Topic
TOPIC
Mobile App
SQS Queue
RFID reader – Command architecture
S3 Upload
Bucket
SNS Topic
TOPIC
Mobile App
SQS Queue
RFID reader – Command architecture
S3 Upload
Bucket
SNS Topic
TOPIC
Mobile App
SQS Queue
RFID reader – Command architecture
Capture Image to
local filesystem
S3 Upload
Bucket
SNS Topic
TOPIC
Mobile App
SQS Queue
RFID reader – Command architecture
Capture Image to
local filesystem
S3 Upload
Bucket
SNS Topic
TOPIC
Mobile App
SQS Queue
RFID reader – Command architecture
Capture Image to
local filesystem
S3 Upload
Bucket
SNS Topic
TOPIC
Mobile App
SQS Queue
RFID reader – Command architecture
Capture Image to
local filesystem
S3 Upload
Bucket
SNS Topic
TOPIC
Push
notification
from GCM
IoT & Mobile demo

“RFID Reader with Face Detection”
IoT & Mobile challenges
• Devices constrained in at 

least one computing dimension
• Regularly deployed at counts 

in the thousands, millions or more

• May have minimal human interface or

human operator interaction

• Non-zero amount of compute – not just a sensor
• Authorisation

Determine if a device should be allowed to do something
• Telemetry

Remotely determining what a device senses

• Commands

Issuing commands to the remote device

IoT & Mobile challenges
Mobile &

IoT
IoT & Mobile challenges
Mobile &

IoT
Gap
IoT & Mobile challenges
Mobile &

IoT
Global Ubiquity
$0 Inbound Data
Elasticity
Purpose Built Services
Global
Object
Store
Audit 

&

Auth
Amazon
S3
Amazon
Cognito
Amazon
DynamoDB
Amazon
Kinesis
Amazon
Lambda
Amazon
SNS
How AWS meets Mobile & IoT challenges
How AWS meets Mobile & IoT challenges
• Identity & data synchronisation

Determine if a device or user is allowed to do something

Share state between multiple instances of the app
• Event-driven architectures

Running code in response to events in the system
Amazon Cognito
Amazon Lambda
How AWS meets Mobile & IoT challenges
• Identity & Access Management

Secure, fine-grained control of cloud resources
• Telemetry

Remotely determining what a device senses

High-velocity data streams

• Commands

Issuing commands to the remote device

Amazon Kinesis
Amazon SQS
Amazon IAM
How AWS meets Mobile & IoT challenges
• Shared data store

High throughput NoSQL store
• Push notification & synchronisation

Notifying users of change in the system

• Media & object store

Highly durable object storage
Amazon SNS
Mobile Push
Amazon S3
Amazon DynamoDB
AWS SDKs
AWS SDKs
Amazon Cognito

Identity management, secure access and shared state
Amazon Cognito – Authorisation
• Simplifies security – Integrated with IAM Roles

Fully integrated with IAM for secure & powerful 

fine-grained access control 

• Supports multiple Login Providers

Easily integrate with major login providers (FB, Google+, 

Login with Amazon) and supports OIDC for authentication

or create your own identity provider 

• Supports un-authenticated ‘guests’

Your users can be authorised anonymously if you choose

Amazon Cognito – data synchronisation
• Cross-device and Cross-platform Push Sync

Synchronize user’s data across devices and platforms – including
actively pushing changes to all devices when one updates the shared
data
• Cognito Streams feature

Automatically stream changes in user data to 

Amazon Kinesis for processing

• Sync Trigger - Cognito Event

Execute a Lambda function to intercept changes in Cognito dataset

• Programmatic access to sync store

Run back-end processes that modify in-app data

Just

released
DynamoDB
End Users
Developer
App w/SDK
Cognito Identity
Broker
S3
Amazon Lambda
Cognito Sync
Store
AWS
Management
Console
Amazon Cognito Security Architecture
DynamoDB
End Users
Developer
App w/SDK
Cognito Identity
Broker
Login OAUTH/OpenID
Access Token
S3
Amazon Lambda
Cognito Sync
Store
AWS
Management
Console
Amazon Cognito Security Architecture
DynamoDB
End Users
Developer
App w/SDK
Cognito Identity
Broker
Login OAUTH/OpenID
Access Token
S3
Amazon Lambda
Cognito Sync
Store
AWS
Management
Console
Access Token
Pool ID
Role ARNs
Amazon Cognito Security Architecture
DynamoDB
End Users
Developer
App w/SDK
Cognito Identity
Broker
Login OAUTH/OpenID
Access Token
Cognito ID,
Temp
Credentials
S3
Amazon Lambda
Cognito Sync
Store
AWS
Management
Console
Access Token
Pool ID
Role ARNs
Amazon Cognito Security Architecture
User ID
(Temp
Credentials)
DynamoDB
End Users
Developer
App w/SDK
Access
to AWS Services
Cognito Identity
Broker
Login OAUTH/OpenID
Access Token
Cognito ID,
Temp
Credentials
S3
Amazon Lambda
Cognito Sync
Store
AWS
Management
Console
Access Token
Pool ID
Role ARNs
Amazon Cognito Security Architecture
User ID
(Temp
Credentials)
DynamoDB
End Users
Developer
App w/SDK
Access
to AWS Services
Cognito Identity
Broker
Login OAUTH/OpenID
Access Token
Cognito ID,
Temp
Credentials
S3
Amazon Lambda
Cognito Sync
Store
AWS
Management
Console
Access Token
Pool ID
Role ARNs
Amazon Cognito Security Architecture
Amazon Cognito Push Synchronisation
Cognito
Identity

Broker
Amazon Cognito Push Synchronisation
Cognito
Identity

Broker
Amazon Cognito Push Synchronisation
Cognito Sync
Store
Dataset
Amazon Cognito Push Synchronisation
Cognito Sync
Store
Dataset
Amazon Cognito Push Synchronisation
Cognito Sync
Store
Dataset
Amazon Cognito Push Synchronisation
Mobile App

initiates change
Cognito Sync
Store
Dataset
Amazon Cognito Push Synchronisation
Mobile App

initiates change
Cognito Sync
Store
Dataset
Platform Application
(SNS)
Amazon Cognito Push Synchronisation
Mobile App

initiates change
Cognito Sync
Store
Mobile App

receives change
Dataset
Platform Application
(SNS)
Amazon Cognito Push Synchronisation
Mobile App

initiates change
Cognito Sync
Store
Mobile App

receives change
Dataset
Amazon Cognito Sync Demo
Using Cognito in your Mobile App
Using Cognito in your Mobile App
Just tell Cognito your
Identity Pool’s ARN
NEW!
Using Cognito in your Mobile App
Simply instantiate the AmazonDynamoDBClient
and specify your Cognito provider as the
credential provider in the constructor
Using Cognito in your Web page (Javascript)
Using Cognito in your Web page (Javascript)
Using Cognito in your IoT device (Python)
Using Cognito in your IoT device (Python)
Amazon Lambda

Zero-administration compute
Amazon Lambda

is connective tissue for AWS services
Amazon S3 Amazon DynamoDB Amazon SNS Amazon Kinesis Amazon Cognito
Amazon Lambda

is connective tissue for AWS services
Amazon Lambda
• Zero Administration

Focus on business logic, not infrastructure. 

Just upload your code & Lambda handles everything else
• Auto Scaling

Lambda scales the infrastructure as needed to 

match the event rate and pay as you go

• Bring your own Code

Node.JS available now with other languages to follow.

Create threads and processes, run batch scripts or other exe’s 

Amazon Lambda – Hot off the press!
• Synchronous events

Respond to application calls with low-latency real-time functions

• Trigger Lambda Functions Using Amazon SNS 

Respond dynamically and automatically to SNS notifications

• Multiple Lambda Functions for Kinesis & DynamoDB
Streams

Attach one or more Lambda functions to handle stream events 

Just

released
Demo: Setting up a Lambda function
Amazon Cognito & Amazon Lambda together

Cognito Events – “Sync Trigger”
Mobile App

initiates change
Cognito Sync
Store
Lambda
Function
Amazon Cognito & Amazon Lambda together

Cognito Events – “Sync Trigger”
Mobile App

initiates change
Cognito Sync
Store
Lambda
Function
Sync Trigger
Amazon Cognito & Amazon Lambda together

Cognito Events – “Sync Trigger”
Mobile App

initiates change
Cognito Sync
Store
Kinesis
Stream
Lambda
Function
Lambda
Function
Lambda
Function
Sync Trigger
Amazon Cognito & Amazon Lambda together

Cognito Events – “Sync Trigger”
Mobile App

initiates change
Cognito Sync
Store
Kinesis
Stream
Lambda
Function
Lambda
Function
Lambda
Function
Lambda
Function
Lambda
Function
Synchronous
call
Synchronous

call
Demo: Amazon Cognito

& Amazon Lambda
Greg Collins

CarSales.com.au (now with new and improved Pitchi.com)

Development Manager
What is Pitchi.com
• Entertainment Selling
• Hub for Entrepreneurs
– Craftsmen
– Artists
– Creators
Pitchi.com Web Site
EC2 Instance
Web
App
Server
Internet
EC2 Instance
Composition Layer
Amazon Relational
Database Service (RDS)
EC2 Instance
Resource Layer
EC2 Instance
Resource Layer
Amazon Relational
Database Service (RDS)
EC2 Instance
Publisher
EC2 Instance
Subscriber
SQS
SNS
Pitchi.com Web Site Post Lambda
EC2 Instance
Web
App
Server
Internet
EC2 Instance
Composition Layer
Amazon Relational
Database Service (RDS)
EC2 Instance
Resource Layer
EC2 Instance
Resource Layer
Amazon Relational
Database Service (RDS)
EC2 Instance
Publisher
SNS
Pitchi.com Video Creation
EC2 Instance
Web
App
Server
Internet EC2 Instance
Composition Layer
Amazon Relational
Database Service (RDS)
EC2 Instance
Resource Layer
EC2 Instance
Subscriber
SQS SNS
S3 Bucket
Elastic Transcoder
Pitchi.com Video Creation Post Lambda
Internet
Amazon Relational
Database Service (RDS)
EC2 Instance
Resource Layer
S3 Bucket
Elastic Transcoder
Greg Collins
CarSales.com.au (now with new and improved Pitchi.com)
Development Manager
Amazon Lambda
• Respond to events raised by AWS services

Eg: Face detection on images

• Implement stream processing

Attach compute to records in a Kinesis stream

• Synchronous function calls

Standard web request/response model
• Perfect for server-less Mobile/IoT apps (& more)

…as you’ve seen in today’s demonstrations!
Amazon Cognito
• Secure, Fine-grained access control

Fully integrated with IAM Roles

• Supports multiple Login Providers

FB, G+, AMZ, ‘Roll your own’ or any OIDC source

• Cross-device and Cross-platform

Users access shared data from any device

• Sync Sync Sync! 

Push Sync, manual Sync, programmatic Sync and Sync Triggers

Amazon Cognito

& Amazon Lambda

The perfect couple!
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Adam Larter

More Related Content

What's hot

What's hot (20)

Develping mobile services on aws - Pop-up Loft Tel Aviv
Develping mobile services on aws - Pop-up Loft Tel AvivDevelping mobile services on aws - Pop-up Loft Tel Aviv
Develping mobile services on aws - Pop-up Loft Tel Aviv
 
Amazon Cognito
Amazon CognitoAmazon Cognito
Amazon Cognito
 
Connecting to AWS IoT
Connecting to AWS IoTConnecting to AWS IoT
Connecting to AWS IoT
 
(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 Secure Mobile APIs
Building Secure Mobile APIsBuilding Secure Mobile APIs
Building Secure Mobile APIs
 
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
 
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
 
Intro to AWS Developer Tools feat. AWS Codestar, and AWS SDKs & Developer Res...
Intro to AWS Developer Tools feat. AWS Codestar, and AWS SDKs & Developer Res...Intro to AWS Developer Tools feat. AWS Codestar, and AWS SDKs & Developer Res...
Intro to AWS Developer Tools feat. AWS Codestar, and AWS SDKs & Developer Res...
 
Srv204 Getting Started with AWS IoT
Srv204 Getting Started with AWS IoTSrv204 Getting Started with AWS IoT
Srv204 Getting Started with AWS IoT
 
Developing Connected Applications with Amazon Web Services IoT
Developing Connected Applications with Amazon Web Services IoTDeveloping Connected Applications with Amazon Web Services IoT
Developing Connected Applications with Amazon Web Services IoT
 
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
 
Introduction to AWS IoT
Introduction to AWS IoTIntroduction to AWS IoT
Introduction to AWS IoT
 
Getting Started with AWS IoT - September 2016 Webinar Series
Getting Started with AWS IoT - September 2016 Webinar SeriesGetting Started with AWS IoT - September 2016 Webinar Series
Getting Started with AWS IoT - September 2016 Webinar Series
 
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)
 
Enterprise-Grade IoT Infrastructure and Connectivity on AWS
Enterprise-Grade IoT Infrastructure and Connectivity on AWSEnterprise-Grade IoT Infrastructure and Connectivity on AWS
Enterprise-Grade IoT Infrastructure and Connectivity on AWS
 
Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...
Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...
Build Your Mobile App Faster with AWS Mobile Services (Cognito, Lambda, SNS, ...
 
Business Track
Business Track Business Track
Business Track
 
Developing Mobile Services on AWS
Developing Mobile Services on AWSDeveloping Mobile Services on AWS
Developing Mobile Services on AWS
 
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
 
Getting Started with AWS IoT
Getting Started with AWS IoTGetting Started with AWS IoT
Getting Started with AWS IoT
 

Viewers also liked

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
 

Viewers also liked (20)

Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301
 
IoT Apps with AWS IoT and Websockets
IoT Apps with AWS IoT and Websockets IoT Apps with AWS IoT and Websockets
IoT Apps with AWS IoT and Websockets
 
Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...
Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...
Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...
 
Introduction to the AWS Cloud – Russell Hall
Introduction to the AWS Cloud – Russell HallIntroduction to the AWS Cloud – Russell Hall
Introduction to the AWS Cloud – Russell Hall
 
Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...
Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...
Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...
 
How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F...
 How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F... How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F...
How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F...
 
Moving Enterprise Windows Workloads to AWS – Peter Stanski
Moving Enterprise Windows Workloads to AWS – Peter StanskiMoving Enterprise Windows Workloads to AWS – Peter Stanski
Moving Enterprise Windows Workloads to AWS – Peter Stanski
 
AWS Blackbelt NINJA Dojo – Dean Samuels
AWS Blackbelt NINJA Dojo – Dean SamuelsAWS Blackbelt NINJA Dojo – Dean Samuels
AWS Blackbelt NINJA Dojo – Dean Samuels
 
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
 
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...
 
Cloud and Enterprise Tools – Rob Purdy, General Manager, Datacom
Cloud and Enterprise Tools – Rob Purdy, General Manager, DatacomCloud and Enterprise Tools – Rob Purdy, General Manager, Datacom
Cloud and Enterprise Tools – Rob Purdy, General Manager, Datacom
 
Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...
Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...
Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...
 
Big Data and Analytics – End to End on AWS – Russell Nash
Big Data and Analytics – End to End on AWS – Russell NashBig Data and Analytics – End to End on AWS – Russell Nash
Big Data and Analytics – End to End on AWS – Russell Nash
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
 
Getting Started with AWS IoT
Getting Started with AWS IoTGetting Started with AWS IoT
Getting Started with AWS IoT
 
Using Security To Build With Confidence in AWS – Justin Foster, Director of P...
Using Security To Build With Confidence in AWS – Justin Foster, Director of P...Using Security To Build With Confidence in AWS – Justin Foster, Director of P...
Using Security To Build With Confidence in AWS – Justin Foster, Director of P...
 
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
 Automating your Infrastructure Deployment with CloudFormation and OpsWorks –... Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
 
AWS Innovation at Scale – Rodney Haywood
AWS Innovation at Scale – Rodney HaywoodAWS Innovation at Scale – Rodney Haywood
AWS Innovation at Scale – Rodney Haywood
 
Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...
Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...
Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...
 
Common Application Architecture Patterns – Dan Zoltak
Common Application Architecture Patterns – Dan ZoltakCommon Application Architecture Patterns – Dan Zoltak
Common Application Architecture Patterns – Dan Zoltak
 

Similar to Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Adam Larter

AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법  (김무현 솔루션즈 아키텍트)AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법  (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
Amazon Web Services Korea
 
amazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutesamazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutes
Vladimir Budilov
 
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
 

Similar to Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Adam Larter (20)

Mobile apps and iot aws lambda
Mobile apps and iot aws lambdaMobile apps and iot aws lambda
Mobile apps and iot aws lambda
 
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법  (김무현 솔루션즈 아키텍트)AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법  (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
 
Serverless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWSServerless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWS
 
Alfresco Process Services (APS) and the Internet of Things
Alfresco Process Services (APS) and the Internet of ThingsAlfresco Process Services (APS) and the Internet of Things
Alfresco Process Services (APS) and the Internet of Things
 
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 Summit Auckland- Developing Applications for IoT
AWS Summit Auckland-  Developing Applications for IoTAWS Summit Auckland-  Developing Applications for IoT
AWS Summit Auckland- Developing Applications for IoT
 
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
 
amazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutesamazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutes
 
SRV408 Deep Dive on AWS IoT
SRV408 Deep Dive on AWS IoTSRV408 Deep Dive on AWS IoT
SRV408 Deep Dive on AWS IoT
 
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
 
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
 
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
 
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
 
Serverless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWSServerless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWS
 
Reply Netcamp PoliTo - AWS IoT - Grohe and Caleffi Case Studies
Reply Netcamp PoliTo - AWS IoT - Grohe and Caleffi Case StudiesReply Netcamp PoliTo - AWS IoT - Grohe and Caleffi Case Studies
Reply Netcamp PoliTo - AWS IoT - Grohe and Caleffi Case Studies
 
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...
 
An Overview of AWS IoT (November 2016)
An Overview of AWS IoT (November 2016)An Overview of AWS IoT (November 2016)
An Overview of AWS IoT (November 2016)
 
AWS Startup Insights Singapore
AWS Startup Insights SingaporeAWS Startup Insights Singapore
AWS Startup Insights Singapore
 
Getting started with aws io t.compressed.compressed
Getting started with aws io t.compressed.compressedGetting started with aws io t.compressed.compressed
Getting started with aws io t.compressed.compressed
 
(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT
 

More from 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
 

More from 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
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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)
 
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...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Adam Larter

  • 1. Mobile Applications and 
 the Internet of Things AWS Lambda & AWS Cognito Adam Larter, Solutions Architect Amazon Web Services
  • 2. Business 101 Technical 201 Technical 301 Technical 401 Technical Session Grading
  • 3. Agenda • Challenges when building Mobile/IoT applications • Discuss how AWS services help meet the challenges • Dive deep on AWS Cognito and AWS Lambda • IoT and Mobile demonstrations • Guest speaker from CarSales.com.au
  • 4. IoT & Mobile demo
 “Beaconisis”
  • 5. Beaconisis V1.0 • Uses Bluetooth LE (Low Energy) Beacons
 Received signal strength is converted to approx. distance in meters • Multiple Raspberry PIs create a ‘geo fence’
 Each RPI sends telemetry data to a Kinesis stream in real-time • Lambda function bound to Kinesis stream
 Processes records in real-time and makes data available to mobile app to trilaterate the position of the ‘target’ relative to the detectors

  • 6. Beaconisis V1.0 – Detetctor flow Kinesis stream Lambda Function DynamoDB
  • 7. Beaconisis V1.0 – Detetctor flow Detector 3 Detector 2Detector 1 Kinesis stream Lambda Function DynamoDB
  • 8. Beaconisis V1.0 – Detetctor flow Detector 3 Detector 2Detector 1 Kinesis stream Lambda Function DynamoDB
  • 9. Beaconisis V1.0 – Detetctor flow Detector 3 Detector 2Detector 1 Kinesis stream Lambda Function DynamoDB Lambda function filters the detection data, applies a Kalman filter to smooth the readings & updates DynamoDB
  • 10. Beaconisis V1.0 – Detetctor flow Detector 3 Detector 2Detector 1 Kinesis stream Lambda Function DynamoDB Lambda function filters the detection data, applies a Kalman filter to smooth the readings & updates DynamoDB
  • 11. Beaconisis V1.0 – ‘Tile’ beacon http://www.tomsguide.com/us/tile-android-app,news-20027.html
  • 12. Beaconisis V1.0 – Sample payload
  • 13. Beaconisis V1.0 – Sample payload Signal Strength measured at distance of 1 meter
  • 14. Beaconisis V1.0 – Sample payload Signal Strength measured at distance of 1 meter Received Signal Strength Indicator = current measurement
  • 16. Beaconisis V1.0 – Mobile App flow DynamoDB Cognito Identity
  • 17. Beaconisis V1.0 – Mobile App flow DynamoDB Cognito Identity
  • 18. Beaconisis V1.0 – Mobile App flow DynamoDB Using trilateration to determine the approximate location of the target within the boundary created by the detectors Cognito Identity
  • 19. IoT & Mobile demo
 “Beaconisis”
  • 20. IoT & Mobile demo
 “RFID Reader with Face Detection”
  • 21.
  • 22. Pawrus V1.0 – Hardware www.adafruit.com
  • 23. Pawrus V1.0 – Hardware www.adafruit.com
  • 24. RFID reader - Flow Initialise Cognito
  • 25. RFID reader - Flow Initialise Cognito Blink LED to indicate Ready
  • 26. RFID reader - Flow Initialise Cognito Blink LED to indicate Ready RFID detected Capture Image to local storage Steady LED to indicate image captured Ok
  • 27. RFID reader - Flow Initialise Cognito Blink LED to indicate Ready RFID detected Capture Image to local storage RFID goes out of range Steady LED to indicate image captured Ok
  • 28. RFID reader - Flow Initialise Cognito Blink LED to indicate Ready RFID detected Capture Image to local storage RFID goes out of range Steady LED to indicate image captured Ok Upload image to S3 with headers eg: RFID
  • 29. RFID reader - Flow Initialise Cognito Blink LED to indicate Ready RFID detected Capture Image to local storage RFID goes out of range Steady LED to indicate image captured Ok Upload image to S3 with headers eg: RFID Blink LED to indicate done
  • 30. RFID reader – Upload Response Architecture Mobile App S3 Upload Bucket Cognito Identity Lambda Function SNS Topic TOPIC SNS
  • 31. RFID reader – Upload Response Architecture Mobile App S3 Upload Bucket Cognito Identity Lambda Function Image uploaded to S3 SNS Topic TOPIC SNS
  • 32. RFID reader – Upload Response Architecture Mobile App S3 Upload Bucket Cognito Identity Lambda Function Image uploaded to S3 SNS Topic TOPIC SNS
  • 33. RFID reader – Upload Response Architecture Mobile App S3 Upload Bucket Cognito Identity Lambda Function Image uploaded to S3 Push notification from GCM SNS Topic TOPIC SNS Guest access
  • 34. Mobile App SQS Queue RFID reader – Command architecture S3 Upload Bucket SNS Topic TOPIC
  • 35. Mobile App SQS Queue RFID reader – Command architecture S3 Upload Bucket SNS Topic TOPIC
  • 36. Mobile App SQS Queue RFID reader – Command architecture S3 Upload Bucket SNS Topic TOPIC
  • 37. Mobile App SQS Queue RFID reader – Command architecture Capture Image to local filesystem S3 Upload Bucket SNS Topic TOPIC
  • 38. Mobile App SQS Queue RFID reader – Command architecture Capture Image to local filesystem S3 Upload Bucket SNS Topic TOPIC
  • 39. Mobile App SQS Queue RFID reader – Command architecture Capture Image to local filesystem S3 Upload Bucket SNS Topic TOPIC
  • 40. Mobile App SQS Queue RFID reader – Command architecture Capture Image to local filesystem S3 Upload Bucket SNS Topic TOPIC Push notification from GCM
  • 41. IoT & Mobile demo
 “RFID Reader with Face Detection”
  • 42. IoT & Mobile challenges • Devices constrained in at 
 least one computing dimension • Regularly deployed at counts 
 in the thousands, millions or more
 • May have minimal human interface or
 human operator interaction
 • Non-zero amount of compute – not just a sensor
  • 43. • Authorisation
 Determine if a device should be allowed to do something • Telemetry
 Remotely determining what a device senses
 • Commands
 Issuing commands to the remote device
 IoT & Mobile challenges
  • 44. Mobile &
 IoT IoT & Mobile challenges
  • 45. Mobile &
 IoT Gap IoT & Mobile challenges
  • 46. Mobile &
 IoT Global Ubiquity $0 Inbound Data Elasticity Purpose Built Services Global Object Store Audit 
 &
 Auth Amazon S3 Amazon Cognito Amazon DynamoDB Amazon Kinesis Amazon Lambda Amazon SNS How AWS meets Mobile & IoT challenges
  • 47. How AWS meets Mobile & IoT challenges • Identity & data synchronisation
 Determine if a device or user is allowed to do something
 Share state between multiple instances of the app • Event-driven architectures
 Running code in response to events in the system Amazon Cognito Amazon Lambda
  • 48. How AWS meets Mobile & IoT challenges • Identity & Access Management
 Secure, fine-grained control of cloud resources • Telemetry
 Remotely determining what a device senses
 High-velocity data streams
 • Commands
 Issuing commands to the remote device
 Amazon Kinesis Amazon SQS Amazon IAM
  • 49. How AWS meets Mobile & IoT challenges • Shared data store
 High throughput NoSQL store • Push notification & synchronisation
 Notifying users of change in the system
 • Media & object store
 Highly durable object storage Amazon SNS Mobile Push Amazon S3 Amazon DynamoDB
  • 52. Amazon Cognito
 Identity management, secure access and shared state
  • 53. Amazon Cognito – Authorisation • Simplifies security – Integrated with IAM Roles
 Fully integrated with IAM for secure & powerful 
 fine-grained access control 
 • Supports multiple Login Providers
 Easily integrate with major login providers (FB, Google+, 
 Login with Amazon) and supports OIDC for authentication
 or create your own identity provider 
 • Supports un-authenticated ‘guests’
 Your users can be authorised anonymously if you choose

  • 54. Amazon Cognito – data synchronisation • Cross-device and Cross-platform Push Sync
 Synchronize user’s data across devices and platforms – including actively pushing changes to all devices when one updates the shared data • Cognito Streams feature
 Automatically stream changes in user data to 
 Amazon Kinesis for processing
 • Sync Trigger - Cognito Event
 Execute a Lambda function to intercept changes in Cognito dataset
 • Programmatic access to sync store
 Run back-end processes that modify in-app data
 Just
 released
  • 55. DynamoDB End Users Developer App w/SDK Cognito Identity Broker S3 Amazon Lambda Cognito Sync Store AWS Management Console Amazon Cognito Security Architecture
  • 56. DynamoDB End Users Developer App w/SDK Cognito Identity Broker Login OAUTH/OpenID Access Token S3 Amazon Lambda Cognito Sync Store AWS Management Console Amazon Cognito Security Architecture
  • 57. DynamoDB End Users Developer App w/SDK Cognito Identity Broker Login OAUTH/OpenID Access Token S3 Amazon Lambda Cognito Sync Store AWS Management Console Access Token Pool ID Role ARNs Amazon Cognito Security Architecture
  • 58. DynamoDB End Users Developer App w/SDK Cognito Identity Broker Login OAUTH/OpenID Access Token Cognito ID, Temp Credentials S3 Amazon Lambda Cognito Sync Store AWS Management Console Access Token Pool ID Role ARNs Amazon Cognito Security Architecture
  • 59. User ID (Temp Credentials) DynamoDB End Users Developer App w/SDK Access to AWS Services Cognito Identity Broker Login OAUTH/OpenID Access Token Cognito ID, Temp Credentials S3 Amazon Lambda Cognito Sync Store AWS Management Console Access Token Pool ID Role ARNs Amazon Cognito Security Architecture
  • 60. User ID (Temp Credentials) DynamoDB End Users Developer App w/SDK Access to AWS Services Cognito Identity Broker Login OAUTH/OpenID Access Token Cognito ID, Temp Credentials S3 Amazon Lambda Cognito Sync Store AWS Management Console Access Token Pool ID Role ARNs Amazon Cognito Security Architecture
  • 61. Amazon Cognito Push Synchronisation Cognito Identity
 Broker
  • 62. Amazon Cognito Push Synchronisation Cognito Identity
 Broker
  • 63. Amazon Cognito Push Synchronisation Cognito Sync Store Dataset
  • 64. Amazon Cognito Push Synchronisation Cognito Sync Store Dataset
  • 65. Amazon Cognito Push Synchronisation Cognito Sync Store Dataset
  • 66. Amazon Cognito Push Synchronisation Mobile App
 initiates change Cognito Sync Store Dataset
  • 67. Amazon Cognito Push Synchronisation Mobile App
 initiates change Cognito Sync Store Dataset Platform Application (SNS)
  • 68. Amazon Cognito Push Synchronisation Mobile App
 initiates change Cognito Sync Store Mobile App
 receives change Dataset Platform Application (SNS)
  • 69. Amazon Cognito Push Synchronisation Mobile App
 initiates change Cognito Sync Store Mobile App
 receives change Dataset
  • 71. Using Cognito in your Mobile App
  • 72. Using Cognito in your Mobile App Just tell Cognito your Identity Pool’s ARN NEW!
  • 73. Using Cognito in your Mobile App Simply instantiate the AmazonDynamoDBClient and specify your Cognito provider as the credential provider in the constructor
  • 74. Using Cognito in your Web page (Javascript)
  • 75. Using Cognito in your Web page (Javascript)
  • 76. Using Cognito in your IoT device (Python)
  • 77. Using Cognito in your IoT device (Python)
  • 79. Amazon Lambda
 is connective tissue for AWS services
  • 80. Amazon S3 Amazon DynamoDB Amazon SNS Amazon Kinesis Amazon Cognito Amazon Lambda
 is connective tissue for AWS services
  • 81. Amazon Lambda • Zero Administration
 Focus on business logic, not infrastructure. 
 Just upload your code & Lambda handles everything else • Auto Scaling
 Lambda scales the infrastructure as needed to 
 match the event rate and pay as you go
 • Bring your own Code
 Node.JS available now with other languages to follow.
 Create threads and processes, run batch scripts or other exe’s 

  • 82. Amazon Lambda – Hot off the press! • Synchronous events
 Respond to application calls with low-latency real-time functions
 • Trigger Lambda Functions Using Amazon SNS 
 Respond dynamically and automatically to SNS notifications
 • Multiple Lambda Functions for Kinesis & DynamoDB Streams
 Attach one or more Lambda functions to handle stream events 
 Just
 released
  • 83. Demo: Setting up a Lambda function
  • 84. Amazon Cognito & Amazon Lambda together
 Cognito Events – “Sync Trigger” Mobile App
 initiates change Cognito Sync Store Lambda Function
  • 85. Amazon Cognito & Amazon Lambda together
 Cognito Events – “Sync Trigger” Mobile App
 initiates change Cognito Sync Store Lambda Function
  • 86. Sync Trigger Amazon Cognito & Amazon Lambda together
 Cognito Events – “Sync Trigger” Mobile App
 initiates change Cognito Sync Store Kinesis Stream Lambda Function Lambda Function Lambda Function
  • 87. Sync Trigger Amazon Cognito & Amazon Lambda together
 Cognito Events – “Sync Trigger” Mobile App
 initiates change Cognito Sync Store Kinesis Stream Lambda Function Lambda Function Lambda Function Lambda Function Lambda Function Synchronous
call Synchronous
 call
  • 88. Demo: Amazon Cognito
 & Amazon Lambda
  • 89. Greg Collins
 CarSales.com.au (now with new and improved Pitchi.com)
 Development Manager
  • 90. What is Pitchi.com • Entertainment Selling • Hub for Entrepreneurs – Craftsmen – Artists – Creators
  • 91. Pitchi.com Web Site EC2 Instance Web App Server Internet EC2 Instance Composition Layer Amazon Relational Database Service (RDS) EC2 Instance Resource Layer EC2 Instance Resource Layer Amazon Relational Database Service (RDS) EC2 Instance Publisher EC2 Instance Subscriber SQS SNS
  • 92. Pitchi.com Web Site Post Lambda EC2 Instance Web App Server Internet EC2 Instance Composition Layer Amazon Relational Database Service (RDS) EC2 Instance Resource Layer EC2 Instance Resource Layer Amazon Relational Database Service (RDS) EC2 Instance Publisher SNS
  • 93. Pitchi.com Video Creation EC2 Instance Web App Server Internet EC2 Instance Composition Layer Amazon Relational Database Service (RDS) EC2 Instance Resource Layer EC2 Instance Subscriber SQS SNS S3 Bucket Elastic Transcoder
  • 94. Pitchi.com Video Creation Post Lambda Internet Amazon Relational Database Service (RDS) EC2 Instance Resource Layer S3 Bucket Elastic Transcoder
  • 95. Greg Collins CarSales.com.au (now with new and improved Pitchi.com) Development Manager
  • 96. Amazon Lambda • Respond to events raised by AWS services
 Eg: Face detection on images
 • Implement stream processing
 Attach compute to records in a Kinesis stream
 • Synchronous function calls
 Standard web request/response model • Perfect for server-less Mobile/IoT apps (& more)
 …as you’ve seen in today’s demonstrations!
  • 97. Amazon Cognito • Secure, Fine-grained access control
 Fully integrated with IAM Roles
 • Supports multiple Login Providers
 FB, G+, AMZ, ‘Roll your own’ or any OIDC source
 • Cross-device and Cross-platform
 Users access shared data from any device
 • Sync Sync Sync! 
 Push Sync, manual Sync, programmatic Sync and Sync Triggers

  • 98. Amazon Cognito
 & Amazon Lambda
 The perfect couple!