SlideShare a Scribd company logo
1 of 52
Download to read offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Richard Threlkeld, AWS
12/1/2016
Real-World Deep Dive: Native,
Hybrid, and Web with Serverless
and AWS Mobile Services
MBL404
Agenda
• Common Concerns
• Overlapping Patterns
• Emerging Patterns
• Platforms
• Native Apps
• Hybrid Apps
• Mobile Web
Great Mobile Apps Run on AWS
Table Stakes
- AuthN/AuthZ
- Fine-grained access control
- Static asset download/refresh
- File uploads (images, video, etc.)
- User/system notifications
- API interaction (GET, POST, etc.)
- REST, GraphQL, JSON-API
- Async communications
- Optimistic updates
- State
- User preferences (cross-device)
- Systems of record/tables
- Mutability
- Analytics
- Session information
- Custom events
Architecture Concerns
1. System
1. Scale
2. Costs
3. Security
2. App
1. Performance
• Network latency
• UX
• CPU
• Battery
2. Usability
• Accessibility
3. Security
4. State
Related:
Development team speed
New-joiner contribution
Shared skills
Architecture: System
Token exchange
Session storage
Dataset sync
Amazon
CloudFront
Amazon
S3 Amazon
DynamoDB
Amazon
RDS
Amazon
MobileAnalytics
Amazon
SNS
Amazon
Cognito
Amazon API
Gateway
virtual private cloud
AWS
Lambda
Amazon
EC2/Amazon
ECS
Session data
Custom event attributes
Custom metrics
Routing
API Negotiation
Static content
Images
Video
Binary data
Uploads
Granular Auth Controls
IAM Roles
• Fine-grained API access
• Enterprise SAML Federation
User Pool Lambda Triggers
Cognito Policy Variables
API Gateway Authorizers
• User Pool Authorizer
• Custom Authorizer
Takeaway:
Sort out Identity and Auth;
everything else gets easier
Amazon Cognito Identity and AWS Identity and Access
Management Variables
Amazon Cognito Points to Remember
Unique Identity
- DDB indexes
Short-Term Credentials
• Credentials object triple
• Token, access key, secret key
• Pass to AWS SDKs
• Sigv4 auto-signing
Amazon Cognito User Pools
- SRP
- Passwords never travel over wire
- Verifier calculated and stored
http://srp.stanford.edu/ndss.html
- Developer-only attributes
- API Gateway back-end calls
- Don’t send outside infra
Native Apps
Background vs. Real-time
https://d0.awsstatic.com/whitepapers/lambda-architecure-on-for-batch-aws.pdf
Analytics Lifecycle
SDK/REST API
(Android, iOS, JavaScript, Unity, Xamarin)
Amazon
MobileAnalytics
Daily/Monthly Active Users
Sessions
Sticky Factor
In-app Revenue
Lifetime Value (LTV)
Retention
…. and more
(Pre-defined metrics with a few lines of code)
Amazon
S3
Amazon
Redshift
Amazon
DynamoDB
Amazon
EMR
Amazon Machine
Learning
Amazon
API
Gateway
Amazon
Elasticsearch
Service
Amazon
RDS
Submit
Query
Assume a Role with Cognito
Create an instance of your
Mobile Analytics Application
Create->Record->Submit Events
Submitting Events: Android
Mutations
API
Gateway
AWS
Lambda
API Gateway-Generated SDK
- Signed Requests
Amazon Cognito:
User Pools + Identity Amazon
Kinesis
Amazon
DynamoDB
POST
GET
Service
Proxy
arn:aws:iam::ACCOUNT:*:user/*
API Gateway-Generated SDK
Provider
(APNS, GCM, MPNS,…)
Token Request
Amazon
SNS
SNS Platform Application
“Token”
Platform Endpoint
- Upload Certificates, API Keys, etc.
Upload Token
- AKA “Create Platform Endpoint”
- Client code in App Delegate, etc.
Client Push Token Management
Fine-grained Control
Send to Mobile Analytics
Sync datasets across devices
Add token to SNS
Add email/phone to SNS
Provider
(APNS, GCM, MPNS,…)
Amazon
SNS
Platform Application
“Token”
Platform Endpoint
Upload Token
- AKA “Create Platform Endpoint”
Add Email to Topic
Add Phone to Topic
Alternative Options
Amazon API
Gateway
Amazon
Cognito
User Pool
AWS
Lambda
Topic
Workflow Triggers
/myapi/register
Custom Authorizers
State Management
Cognito Datasets
• onSuccess()
• onFailure()
• onConflict()
• onDatasetDeleted()
• onDatasetsMerged()
State and User Preferences – Amazon Cognito Option
Amazon
Cognito
<k1,v1>
…
<kn,vn>
Administrator
AWS
Lambda
Amazon
Kinesis
Cognito Events
Cognito Streams
Push
Synchronization
DynamoDB
Access via Cognito assigned Role
Databases
Relational
Create interfaces
- REST/GraphQL/JSON-API
- API Gateway, ELB/ALB
- Common: ASG behind ELB
using RDS Multi-AZ
- Platform HTTP calls
- iOS: NSURLConnection,
NSURLSession, etc.
- Android: HttpClient(), HttpGet(),etc.
State & User Preferences – DynamoDB Option
Administrator
Push Notification
AWS
Lambda
Amazon
Kinesis
Hash String Map
Hash String Map
Hash String Map
Amazon
DynamoDB
Amazon
SNS
Trigger
Amazon
Aurora
Network Management
Polling & connection setup are expensive
- Battery, CPU
- Wake devices via push then choose medium
- API Gateway GET/POST, Long Polling, Websocket, HTTP/2,
Amazon Cognito Sync, MQTT, etc.
Aggregate inbound/outbound messages
Re-use connections where possible
Xhr, Websocket,
etc.
Optional user
notification
Websockets
Application
Load Balancing
Amazon
ECS/EC2
AWS IoT
var connection = new WebSocket('ws://alb-XXXX.us-
east-1.elb.amazonaws.com:443/Livestream');
wss://<endpoint>.iot.<region>.amazonaws.com/mqtt
Websocket over MQTT
- Subscribe
- Publish
Hybrid Apps
Cordova
Formerly known as PhoneGap
Create mobile apps with HTML, CSS,
JavaScript
Extended via plugins
WebView intermediary for
rendering/communicating with platform
Ionic
• UI framework built on Cordova using
Angular
Using AWS Services from Cordova
1. Download and include aws-sdk.min.js.
2. Reference in Cordova’s index.html:
3. Grant AWS endpoints access:
4. Call AWS SDK functions from index.js:
• Start with Amazon Cognito in onDevice
Cognito and Cordova
Push Notifications and Cordova
Yes you can initiate SNS-based Push to Cordova!
ANDROID:
$cordova plugin add phonegap-plugin-push –variable SENDER_ID="YOURID"
iOS:
$cordova plugin add phonegap-plugin-push
React Native
AWS Published SDK available:
• AWSLABS https://github.com/awslabs/aws-sdk-react-
native
Can easily add in AWS Native SDKs
React Native with AWS SDKs
1. Import Native AWS SDK & Bridging Modules
2. Create Singleton
React Native with AWS SDKs
3. Initialize in JavaScript
3. Add/Invoke methods
Demo: React Native with
Websockets using AWS IoT
Mobile Web
SDK Generation
- Native/Hybrid have SDKs bundled
- JavaScript SDK
- Builder: https://sdk.amazonaws.com/builder/js/
- Can use for Cordova too
- Use w/ Frameworks & tooling
- Deferred/selective loading
Common Mobile Web Requirements
• Reactive design for different form factors
• Non-blocking HTTP actions
• Auto refreshing
• State management
• Routing
• List Restaurants, view Menu/Orders
• Actions
• Place/Delete Orders
• ES6 syntax
Mobile Web by Example
• React/Angular
• Component-based design, minimize round-trips
• State updates and dynamic page refresh
• React Router
• /restaurants, /menu:id, /order:id
• Babel
• ES6 compiler
• Axios
• Promise-based XHR abstraction
• Materialize
• Reactive UX
• Based on Material Design
• Session Storage
• Keep track of latest operations
Angular + API Gateway
Toolbox
Webpack
- Code split on API Gateway
resources
- deferred loading, bundling
React Router
• Match routes with Services
- /Login  Cognito
- Alternative: API Gateway
or ALB
- /*  API Gateway {proxy+}
Infrastructure matters too!
- Core rendering as needed
- Homepage code shouldn’t block
login page or crypto libs
- Async load state when necessary
- User interactions
- Pagination
- Lazy load extra branches
Web Server Configuration
• S3 bucket
• Enable “Static Website” on bucket properties
• Creates: BUCKETNAME.s3-website-us-east-1.amazonaws.com (regions vary)
• Add access policy to bucket
• Browser GET = s3:GetObject
• Ensure CORS is enabled for XHR calls to API Gateway
Serverless Mobile Web Zoom-In
Amazon
CloudFront
Amazon
S3
API
Gateway
Mobile apps
1. Optional
CDN hosting
of content
2. Webpage loaded with
Script references
3. Browser downloads
critical libs first, lazy
load others
5. Script libraries use XHR
browser requests to API
Gateway stage endpoints
4. Cognito AuthN/AuthZ:
User Pools + Identity
Serverless
Express
wrapper
Demo: Serverless Mobile Web
Mobile Web Analytics
Native
Interrogates app lifecycle
- Background queue filled with
session and custom events
- Session events batched & sent
Backgrounded time > AWSValueSessionResumeDelay
- Custom events sent anytime
- Best practice: use
onPause, onStop,
onResume
SDK Session Management
Web
Configure default session length
Force event submission anytime
Window.localStorage ensures
persistence through browser/tab
exiting
Enhancing JavaScript Sessions
Debate: Apples vs. oranges?
Modern browsers offer visibilitychange() event:
https://developer.mozilla.org/en-US/docs/Web/Events/visibilitychange
extendSession()
stopSession()
Mobile Engagement
Emerging consumer pattern:
1. Mobile users making requests
2. Mobile users fulfilling requests
Needs:
1. Order tracking
2. Notifications (two-way)
3. SLA management
Emerging Pattern: Request Tracking
Amazon API
Gateway
Amazon
SQS
Amazon
SNS
Amazon
DynamoDB
AWS
Lambda
Amazon
SQS
Lambda #1
TimeStamp CognitoID Acknowledged
DelaySeconds =
15 mins
Lambda #2
SLA:TimeStamp+30min
= expTimeStamp
remaining =
expTimeStamp – Time.Now()
IF remaining >0 {
//Resubmit to SQS w/
//visibility timeout remaining
}ELSE{
//Business escalation logic
}
Poll for new
messages
Amazon
MobileAnalytics
Final Thoughts
Think Big & apply known patterns to new industries
Tools designed for one domain can be used in others
You can optimize and enhance on all platforms
- Hire to build a good culture
Focus on client & infrastructure end-to-end interactions
Thank you!
Remember to complete
your evaluations!

More Related Content

What's hot

AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...Amazon Web Services
 
AWS re:Invent 2016: All Your Chats are Belong to Bots: Building a Serverless ...
AWS re:Invent 2016: All Your Chats are Belong to Bots: Building a Serverless ...AWS re:Invent 2016: All Your Chats are Belong to Bots: Building a Serverless ...
AWS re:Invent 2016: All Your Chats are Belong to Bots: Building a Serverless ...Amazon Web Services
 
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless CloudAWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
AWS re:Invent 2016: Securing Serverless Architectures, and API Filtering at L...
AWS re:Invent 2016: Securing Serverless Architectures, and API Filtering at L...AWS re:Invent 2016: Securing Serverless Architectures, and API Filtering at L...
AWS re:Invent 2016: Securing Serverless Architectures, and API Filtering at L...Amazon Web Services
 
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
AWS March 2016 Webinar Series   Getting Started with Serverless ArchitecturesAWS March 2016 Webinar Series   Getting Started with Serverless Architectures
AWS March 2016 Webinar Series Getting Started with Serverless ArchitecturesAmazon Web Services
 
Working with microservices and Amazon ECS at Airtime
Working with microservices and Amazon ECS at AirtimeWorking with microservices and Amazon ECS at Airtime
Working with microservices and Amazon ECS at AirtimeAmazon Web Services
 
The fundamentals of AWS Cloud Security 🛠⛅️🚀
The fundamentals of AWS Cloud Security 🛠⛅️🚀The fundamentals of AWS Cloud Security 🛠⛅️🚀
The fundamentals of AWS Cloud Security 🛠⛅️🚀Thanh Nguyen
 
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)Amazon Web Services
 
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity
Creating Your Virtual Data Center: VPC Fundamentals and ConnectivityCreating Your Virtual Data Center: VPC Fundamentals and Connectivity
Creating Your Virtual Data Center: VPC Fundamentals and ConnectivityAmazon Web Services
 
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAmazon Web Services
 
Getting Started with Windows Workloads on Amazon EC2
Getting Started with Windows Workloads on Amazon EC2Getting Started with Windows Workloads on Amazon EC2
Getting Started with Windows Workloads on Amazon EC2Amazon Web Services
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
ARC201 Microservices Architecture @ AWS re:Invent 2015
ARC201 Microservices Architecture @ AWS re:Invent 2015ARC201 Microservices Architecture @ AWS re:Invent 2015
ARC201 Microservices Architecture @ AWS re:Invent 2015Mitoc Group
 
AWS Security in Plain English – AWS Security Day
AWS Security in Plain English – AWS Security Day AWS Security in Plain English – AWS Security Day
AWS Security in Plain English – AWS Security Day Amazon Web Services
 
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 KleinAmazon Web Services Korea
 
Hack-Proof Your Cloud: Responding to 2016 Threats
Hack-Proof Your Cloud: Responding to 2016 ThreatsHack-Proof Your Cloud: Responding to 2016 Threats
Hack-Proof Your Cloud: Responding to 2016 ThreatsAmazon Web Services
 
AWS Innovate 2016 : Opening Keynote - Glenn Gore
AWS Innovate 2016 :  Opening Keynote - Glenn GoreAWS Innovate 2016 :  Opening Keynote - Glenn Gore
AWS Innovate 2016 : Opening Keynote - Glenn GoreAmazon Web Services Korea
 
Get Started and Migrate Your Data to AWS
Get Started and Migrate Your Data to AWSGet Started and Migrate Your Data to AWS
Get Started and Migrate Your Data to AWSAmazon Web Services
 

What's hot (20)

AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
 
AWS re:Invent 2016: All Your Chats are Belong to Bots: Building a Serverless ...
AWS re:Invent 2016: All Your Chats are Belong to Bots: Building a Serverless ...AWS re:Invent 2016: All Your Chats are Belong to Bots: Building a Serverless ...
AWS re:Invent 2016: All Your Chats are Belong to Bots: Building a Serverless ...
 
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless CloudAWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
 
AWS re:Invent 2016: Securing Serverless Architectures, and API Filtering at L...
AWS re:Invent 2016: Securing Serverless Architectures, and API Filtering at L...AWS re:Invent 2016: Securing Serverless Architectures, and API Filtering at L...
AWS re:Invent 2016: Securing Serverless Architectures, and API Filtering at L...
 
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
AWS March 2016 Webinar Series   Getting Started with Serverless ArchitecturesAWS March 2016 Webinar Series   Getting Started with Serverless Architectures
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
 
Building Secure Mobile APIs
Building Secure Mobile APIsBuilding Secure Mobile APIs
Building Secure Mobile APIs
 
Working with microservices and Amazon ECS at Airtime
Working with microservices and Amazon ECS at AirtimeWorking with microservices and Amazon ECS at Airtime
Working with microservices and Amazon ECS at Airtime
 
The fundamentals of AWS Cloud Security 🛠⛅️🚀
The fundamentals of AWS Cloud Security 🛠⛅️🚀The fundamentals of AWS Cloud Security 🛠⛅️🚀
The fundamentals of AWS Cloud Security 🛠⛅️🚀
 
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
 
Workshop: We love APIs
Workshop: We love APIsWorkshop: We love APIs
Workshop: We love APIs
 
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity
Creating Your Virtual Data Center: VPC Fundamentals and ConnectivityCreating Your Virtual Data Center: VPC Fundamentals and Connectivity
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity
 
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless Cloud
 
Getting Started with Windows Workloads on Amazon EC2
Getting Started with Windows Workloads on Amazon EC2Getting Started with Windows Workloads on Amazon EC2
Getting Started with Windows Workloads on Amazon EC2
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
ARC201 Microservices Architecture @ AWS re:Invent 2015
ARC201 Microservices Architecture @ AWS re:Invent 2015ARC201 Microservices Architecture @ AWS re:Invent 2015
ARC201 Microservices Architecture @ AWS re:Invent 2015
 
AWS Security in Plain English – AWS Security Day
AWS Security in Plain English – AWS Security Day AWS Security in Plain English – AWS Security Day
AWS Security in Plain English – AWS Security Day
 
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
 
Hack-Proof Your Cloud: Responding to 2016 Threats
Hack-Proof Your Cloud: Responding to 2016 ThreatsHack-Proof Your Cloud: Responding to 2016 Threats
Hack-Proof Your Cloud: Responding to 2016 Threats
 
AWS Innovate 2016 : Opening Keynote - Glenn Gore
AWS Innovate 2016 :  Opening Keynote - Glenn GoreAWS Innovate 2016 :  Opening Keynote - Glenn Gore
AWS Innovate 2016 : Opening Keynote - Glenn Gore
 
Get Started and Migrate Your Data to AWS
Get Started and Migrate Your Data to AWSGet Started and Migrate Your Data to AWS
Get Started and Migrate Your Data to AWS
 

Similar to AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverless and AWS Mobile Services (MBL404)

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 SDKAmazon Web Services
 
Build a mobile app serverless with AWS Lambda
Build a mobile app serverless with AWS LambdaBuild a mobile app serverless with AWS Lambda
Build a mobile app serverless with AWS LambdaTheFamily
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersAmazon Web Services
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersAmazon Web Services
 
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션Amazon Web Services Korea
 
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDK
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDKDeep-Dive: Building Mobile Web Applications with AWS Mobile SDK
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDKAmazon Web Services
 
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 UsersAmazon Web Services
 
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 UsersAmazon Web Services
 
在雲端開發架構支援大規模流量的行動/網頁應用程式
在雲端開發架構支援大規模流量的行動/網頁應用程式在雲端開發架構支援大規模流量的行動/網頁應用程式
在雲端開發架構支援大規模流量的行動/網頁應用程式Amazon Web Services
 
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 UsersAmazon Web Services
 
Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)AWS Vietnam Community
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsAmazon Web Services
 
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Amazon Web Services
 
Serverless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWSServerless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWSAmazon Web Services
 
Serverless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWSServerless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWSAmazon Web Services
 
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017Amazon Web Services
 
AWS as platform for scalable applications
AWS as platform for scalable applicationsAWS as platform for scalable applications
AWS as platform for scalable applicationsRoman Gomolko
 
AWS September Webinar Series - Infrastructure Deployment and Monitoring with ...
AWS September Webinar Series - Infrastructure Deployment and Monitoring with ...AWS September Webinar Series - Infrastructure Deployment and Monitoring with ...
AWS September Webinar Series - Infrastructure Deployment and Monitoring with ...Amazon Web Services
 
Containerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaContainerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaRyan Cuprak
 

Similar to AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverless and AWS Mobile Services (MBL404) (20)

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
 
Build a mobile app serverless with AWS Lambda
Build a mobile app serverless with AWS LambdaBuild a mobile app serverless with AWS Lambda
Build a mobile app serverless with AWS Lambda
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
 
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
 
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDK
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDKDeep-Dive: Building Mobile Web Applications with AWS Mobile SDK
Deep-Dive: Building Mobile Web Applications with AWS Mobile SDK
 
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 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 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 an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless Applications
 
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
 
Serverless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWSServerless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWS
 
Serverless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWSServerless Geospatial Mobile Apps with AWS
Serverless Geospatial Mobile Apps with AWS
 
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
 
AWS as platform for scalable applications
AWS as platform for scalable applicationsAWS as platform for scalable applications
AWS as platform for scalable applications
 
AWS September Webinar Series - Infrastructure Deployment and Monitoring with ...
AWS September Webinar Series - Infrastructure Deployment and Monitoring with ...AWS September Webinar Series - Infrastructure Deployment and Monitoring with ...
AWS September Webinar Series - Infrastructure Deployment and Monitoring with ...
 
Containerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaContainerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS Lambda
 
AWS Mobile with Lambda and SNS
AWS Mobile with Lambda and SNSAWS Mobile with Lambda and SNS
AWS Mobile with Lambda and SNS
 

More from Amazon Web Services

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...Amazon Web Services
 
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...Amazon Web Services
 
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 FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
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 Amazon Web Services
 
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...Amazon Web Services
 
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...Amazon Web Services
 
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 WorkloadsAmazon Web Services
 
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 sfatareAmazon Web Services
 
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 NodeJSAmazon Web Services
 
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 webAmazon Web Services
 
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 sfatareAmazon 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 AWSAmazon 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 DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon 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
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon 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

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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 WorkerThousandEyes
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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...apidays
 
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 Scriptwesley chun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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 WorkerThousandEyes
 
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)wesley chun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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 DevelopmentsTrustArc
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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...
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
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)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 

AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverless and AWS Mobile Services (MBL404)

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Richard Threlkeld, AWS 12/1/2016 Real-World Deep Dive: Native, Hybrid, and Web with Serverless and AWS Mobile Services MBL404
  • 2. Agenda • Common Concerns • Overlapping Patterns • Emerging Patterns • Platforms • Native Apps • Hybrid Apps • Mobile Web
  • 3. Great Mobile Apps Run on AWS
  • 4. Table Stakes - AuthN/AuthZ - Fine-grained access control - Static asset download/refresh - File uploads (images, video, etc.) - User/system notifications - API interaction (GET, POST, etc.) - REST, GraphQL, JSON-API - Async communications - Optimistic updates - State - User preferences (cross-device) - Systems of record/tables - Mutability - Analytics - Session information - Custom events
  • 5. Architecture Concerns 1. System 1. Scale 2. Costs 3. Security 2. App 1. Performance • Network latency • UX • CPU • Battery 2. Usability • Accessibility 3. Security 4. State Related: Development team speed New-joiner contribution Shared skills
  • 6. Architecture: System Token exchange Session storage Dataset sync Amazon CloudFront Amazon S3 Amazon DynamoDB Amazon RDS Amazon MobileAnalytics Amazon SNS Amazon Cognito Amazon API Gateway virtual private cloud AWS Lambda Amazon EC2/Amazon ECS Session data Custom event attributes Custom metrics Routing API Negotiation Static content Images Video Binary data Uploads
  • 7. Granular Auth Controls IAM Roles • Fine-grained API access • Enterprise SAML Federation User Pool Lambda Triggers Cognito Policy Variables API Gateway Authorizers • User Pool Authorizer • Custom Authorizer Takeaway: Sort out Identity and Auth; everything else gets easier
  • 8. Amazon Cognito Identity and AWS Identity and Access Management Variables
  • 9. Amazon Cognito Points to Remember Unique Identity - DDB indexes Short-Term Credentials • Credentials object triple • Token, access key, secret key • Pass to AWS SDKs • Sigv4 auto-signing Amazon Cognito User Pools - SRP - Passwords never travel over wire - Verifier calculated and stored http://srp.stanford.edu/ndss.html - Developer-only attributes - API Gateway back-end calls - Don’t send outside infra
  • 12. Analytics Lifecycle SDK/REST API (Android, iOS, JavaScript, Unity, Xamarin) Amazon MobileAnalytics Daily/Monthly Active Users Sessions Sticky Factor In-app Revenue Lifetime Value (LTV) Retention …. and more (Pre-defined metrics with a few lines of code) Amazon S3 Amazon Redshift Amazon DynamoDB Amazon EMR Amazon Machine Learning Amazon API Gateway Amazon Elasticsearch Service Amazon RDS Submit Query
  • 13. Assume a Role with Cognito Create an instance of your Mobile Analytics Application Create->Record->Submit Events Submitting Events: Android
  • 14. Mutations API Gateway AWS Lambda API Gateway-Generated SDK - Signed Requests Amazon Cognito: User Pools + Identity Amazon Kinesis Amazon DynamoDB POST GET Service Proxy arn:aws:iam::ACCOUNT:*:user/*
  • 16. Provider (APNS, GCM, MPNS,…) Token Request Amazon SNS SNS Platform Application “Token” Platform Endpoint - Upload Certificates, API Keys, etc. Upload Token - AKA “Create Platform Endpoint” - Client code in App Delegate, etc. Client Push Token Management
  • 17. Fine-grained Control Send to Mobile Analytics Sync datasets across devices Add token to SNS Add email/phone to SNS
  • 18. Provider (APNS, GCM, MPNS,…) Amazon SNS Platform Application “Token” Platform Endpoint Upload Token - AKA “Create Platform Endpoint” Add Email to Topic Add Phone to Topic Alternative Options Amazon API Gateway Amazon Cognito User Pool AWS Lambda Topic Workflow Triggers /myapi/register Custom Authorizers
  • 20. Cognito Datasets • onSuccess() • onFailure() • onConflict() • onDatasetDeleted() • onDatasetsMerged()
  • 21. State and User Preferences – Amazon Cognito Option Amazon Cognito <k1,v1> … <kn,vn> Administrator AWS Lambda Amazon Kinesis Cognito Events Cognito Streams Push Synchronization
  • 22. DynamoDB Access via Cognito assigned Role Databases Relational Create interfaces - REST/GraphQL/JSON-API - API Gateway, ELB/ALB - Common: ASG behind ELB using RDS Multi-AZ - Platform HTTP calls - iOS: NSURLConnection, NSURLSession, etc. - Android: HttpClient(), HttpGet(),etc.
  • 23. State & User Preferences – DynamoDB Option Administrator Push Notification AWS Lambda Amazon Kinesis Hash String Map Hash String Map Hash String Map Amazon DynamoDB Amazon SNS Trigger Amazon Aurora
  • 24. Network Management Polling & connection setup are expensive - Battery, CPU - Wake devices via push then choose medium - API Gateway GET/POST, Long Polling, Websocket, HTTP/2, Amazon Cognito Sync, MQTT, etc. Aggregate inbound/outbound messages Re-use connections where possible
  • 26. Websockets Application Load Balancing Amazon ECS/EC2 AWS IoT var connection = new WebSocket('ws://alb-XXXX.us- east-1.elb.amazonaws.com:443/Livestream'); wss://<endpoint>.iot.<region>.amazonaws.com/mqtt Websocket over MQTT - Subscribe - Publish
  • 28. Cordova Formerly known as PhoneGap Create mobile apps with HTML, CSS, JavaScript Extended via plugins WebView intermediary for rendering/communicating with platform Ionic • UI framework built on Cordova using Angular
  • 29. Using AWS Services from Cordova 1. Download and include aws-sdk.min.js. 2. Reference in Cordova’s index.html: 3. Grant AWS endpoints access: 4. Call AWS SDK functions from index.js: • Start with Amazon Cognito in onDevice
  • 31. Push Notifications and Cordova Yes you can initiate SNS-based Push to Cordova! ANDROID: $cordova plugin add phonegap-plugin-push –variable SENDER_ID="YOURID" iOS: $cordova plugin add phonegap-plugin-push
  • 32. React Native AWS Published SDK available: • AWSLABS https://github.com/awslabs/aws-sdk-react- native Can easily add in AWS Native SDKs
  • 33. React Native with AWS SDKs 1. Import Native AWS SDK & Bridging Modules 2. Create Singleton
  • 34. React Native with AWS SDKs 3. Initialize in JavaScript 3. Add/Invoke methods
  • 35. Demo: React Native with Websockets using AWS IoT
  • 37. SDK Generation - Native/Hybrid have SDKs bundled - JavaScript SDK - Builder: https://sdk.amazonaws.com/builder/js/ - Can use for Cordova too - Use w/ Frameworks & tooling - Deferred/selective loading
  • 38. Common Mobile Web Requirements • Reactive design for different form factors • Non-blocking HTTP actions • Auto refreshing • State management • Routing • List Restaurants, view Menu/Orders • Actions • Place/Delete Orders • ES6 syntax
  • 39. Mobile Web by Example • React/Angular • Component-based design, minimize round-trips • State updates and dynamic page refresh • React Router • /restaurants, /menu:id, /order:id • Babel • ES6 compiler • Axios • Promise-based XHR abstraction • Materialize • Reactive UX • Based on Material Design • Session Storage • Keep track of latest operations
  • 40. Angular + API Gateway
  • 41. Toolbox Webpack - Code split on API Gateway resources - deferred loading, bundling React Router • Match routes with Services - /Login  Cognito - Alternative: API Gateway or ALB - /*  API Gateway {proxy+} Infrastructure matters too! - Core rendering as needed - Homepage code shouldn’t block login page or crypto libs - Async load state when necessary - User interactions - Pagination - Lazy load extra branches
  • 42. Web Server Configuration • S3 bucket • Enable “Static Website” on bucket properties • Creates: BUCKETNAME.s3-website-us-east-1.amazonaws.com (regions vary) • Add access policy to bucket • Browser GET = s3:GetObject • Ensure CORS is enabled for XHR calls to API Gateway
  • 43. Serverless Mobile Web Zoom-In Amazon CloudFront Amazon S3 API Gateway Mobile apps 1. Optional CDN hosting of content 2. Webpage loaded with Script references 3. Browser downloads critical libs first, lazy load others 5. Script libraries use XHR browser requests to API Gateway stage endpoints 4. Cognito AuthN/AuthZ: User Pools + Identity Serverless Express wrapper
  • 46. Native Interrogates app lifecycle - Background queue filled with session and custom events - Session events batched & sent Backgrounded time > AWSValueSessionResumeDelay - Custom events sent anytime - Best practice: use onPause, onStop, onResume SDK Session Management Web Configure default session length Force event submission anytime Window.localStorage ensures persistence through browser/tab exiting
  • 47. Enhancing JavaScript Sessions Debate: Apples vs. oranges? Modern browsers offer visibilitychange() event: https://developer.mozilla.org/en-US/docs/Web/Events/visibilitychange extendSession() stopSession()
  • 48. Mobile Engagement Emerging consumer pattern: 1. Mobile users making requests 2. Mobile users fulfilling requests Needs: 1. Order tracking 2. Notifications (two-way) 3. SLA management
  • 49. Emerging Pattern: Request Tracking Amazon API Gateway Amazon SQS Amazon SNS Amazon DynamoDB AWS Lambda Amazon SQS Lambda #1 TimeStamp CognitoID Acknowledged DelaySeconds = 15 mins Lambda #2 SLA:TimeStamp+30min = expTimeStamp remaining = expTimeStamp – Time.Now() IF remaining >0 { //Resubmit to SQS w/ //visibility timeout remaining }ELSE{ //Business escalation logic } Poll for new messages Amazon MobileAnalytics
  • 50. Final Thoughts Think Big & apply known patterns to new industries Tools designed for one domain can be used in others You can optimize and enhance on all platforms - Hire to build a good culture Focus on client & infrastructure end-to-end interactions