50
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deep Dive: Developing, Deploying & Operating Mobile Apps With AWS Danilo Poccia, Technical Evengelist @danilop danilop

Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Embed Size (px)

Citation preview

Page 1: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Deep Dive: Developing, Deploying& Operating Mobile Apps With AWS

Danilo Poccia, Technical Evengelist@danilop danilop

Page 2: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

DEVELOP TEST ENGAGE

Building quality mobile apps

Page 3: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

DEVELOPTEST

ENGAGE

Page 4: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

InstrumentationUI AutomationUI Automator

Your app

Improve the quality of your apps by testing against real devices in the AWS cloud

Automated testing on AWS Device Farm

(native, hybrid, web)XCTest

XCTest UI

Page 5: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Select a device View historical sessionsInteract with the device

Introducing Device Farm:Remote access (beta)

Page 6: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

<demo>...

</demo>

Page 7: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

DEVELOP TESTENGAGE

Page 8: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

“If you can’t measure it, you can’t improve it”-Lord Kelvin

Page 9: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Scalable and generous free tier

Focus on metrics that matter. Usage reports

available within 60 minutes of receiving data from an app.

Fast

Scale to billions of events per day from

millions of users.

Own your data

Simply and cost-effectively collect and analyze your application usage data

Data collected are not shared, aggregated,

or reused.

Amazon Mobile Analytics

Page 10: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Daily/monthly active users

Sessions

Sticky factor

In-app revenue

Lifetime value (LTV)

Retention

…. and more

(9 predefined metrics with one line of code)

Page 11: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Fast, flexible, global messaging to any device or endpoint

Global and fast at high scale

Send messages to any device or endpoint

Support for multiple platforms or frameworks

Amazon Simple Notification Service

Page 12: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Worldwide Delivery ofAmazon SNS Messages via SMS

Page 13: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

RetrospectiveAnalyze historical

trends to know what's happening in

the app

Predictive Anticipate user

behavior to enhance experience

InquisitiveDiscover latent user behavior to shape

product or marketing decisions

Three Types of Data-Driven Decision Making

Page 14: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

How many users use the app and how often?

What are key user behaviors in the app?

Your Mobile

App

How to predict user behavior and use those predictions to enhance their experience ?

In the Context of a Mobile App

Page 15: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Three Types of Data Driven Decision Making

RetrospectiveAnalyze historical

trends to know what's happening in

the app

Predictive Anticipate user

behavior to enhance experience

InquisitiveDiscover latent user behavior to shape

product or marketing decisions

Page 16: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Amazon Mobile Analytics

Collect, visualize, and export app usage data

Page 17: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Amazon Mobile Analytics

Collect, visualize, and export app usage data

Page 18: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

<demo>...

</demo>

Page 19: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

RetrospectiveAnalyze historical

trends to know what's happening in

the app

Predictive Anticipate user

behavior to enhance experience

InquisitiveDiscover latent user behavior to shape

product or marketing decisions

Three Types of Data Driven Decision Making

Page 20: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Going beyond standard metrics will give you more insight in to user behavior

Page 21: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

How does usage pattern vary for users with different demographic profiles ?

Who are the most engaged users and what are their usage patterns ?

How does user population distribute across countries and platform ?

How much time does it takes for a user to convert to a paying user ?

Music App

Few Questions That Will Help You Understand Your Users Better

Page 22: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Auto Export to Amazon Redshift

Page 23: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Simple & intuitive

Integrate with existing data models

Automatically collect common attributes

Schema for Your App’s Event Data

Page 24: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Now Easy to Query and Visualize

Your Mobile

App

Page 25: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Now Easy to Query and Visualize

Your Mobile

App

QuickSight

New

Page 26: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Integration with BI Tools is Very Easy

Page 27: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

<demo>...

</demo>

Page 28: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

RetrospectiveAnalyze historical

trends to know what's happening in

the app

Predictive Anticipate user

behavior to enhance experience

InquisitiveDiscover latent user behavior to shape

product or marketing decisions

Three Types of Data Driven Decision Making

Page 29: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Predicting user behavior helps in delivering personalized experiences for users

Page 30: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Let’s say we have been observing high user churn in the music app. Now, we want to identify these users in advance so that we could reach out to users before they leave the app

Predictive Application by Example

Music App

Page 31: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Let’s say we have been observing high user churn in the music app. Now, we want to identify these users in advance so that we could reach out to users before they leave the app

How could you identify users who have high probability to churn away from the app?

Music App

Predictive Application by Example

Page 32: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

SELECT e.unique_id, Count(distinct session_id)

FROM events e

WHERE event_type = ‘_session.start’

HAVING e.date> GETDATE() - 30

You can start by looking atusage patterns of all users in thelast 30 days

One Way To Do is…

Page 33: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

SELECT e.unique_id, Count(distinct session_id)

FROM events e

WHERE event_type = ‘_session.start’

AND date_part (dow,e.date ) in (6,7)

HAVING e.date> GETDATE() - 30

But usage pattern changes on weekends.

You can edit the query to filter for weekends only

One Way To Do is…

Page 34: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

SELECT e.unique_id, Count(distinct session_id)

FROM events e

WHERE event_type = ‘_session.start’

AND date_part (dow,e.date ) in (6,7)

HAVING e.date> GETDATE() - 60

Pattern is not clear. You can go back in time to get a more clear pattern

One Way To Do is…

Page 35: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

SELECT e.unique_id, Count(distinct session_id),

e.music_genre , e.subscription_type , e.locale

FROM events e

WHERE event_type = ‘_session.start’

AND date_part (dow,e.date ) in (6,7)

HAVING e.date> GETDATE() - 60

You want to learn not only from usage data but from custom behavior in the app

One Way To Do is…

Page 36: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

SELECT e.unique_id, Count(distinct session_id),

e.music_genre , e.subscription_type , e.locale

FROM events e

WHERE event_type = ‘_session.start’

AND date_part (dow,e.date ) in (6,7)

HAVING e.date> GETDATE() - 120

….and again

One Way To Do is…

Page 37: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

SELECT e.unique_id, Count(distinct session_id)

, e.music_genre , e.subscription_type , e.locale

FROM events e

WHERE event_type = ‘_session.start’

AND date_part (dow,e.date ) in (6,7)

HAVING e.date> GETDATE() - 120

Use machine learning technology to learn business rules from your data

Page 38: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Machine learning automatically finds patterns in your data and uses them to make predictions

Better Way To Do it is…

Users with High probability to churn

Users with Low probability to churn

Page 39: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Machine learning automatically finds patterns in your data and uses them to make predictions

Your data + Machine Learning

Predictive applications in the app

Better Way To Do it is…

Users with High probability to churn

Users with Low probability to churn

Page 40: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Amazon Mobile Analytics Amazon Machine Learning

Leverage Mobile App Data to Build Predictive Applications Using Amazon ML

Page 41: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Predict users with low probability to purchase in the app and send discount coupon via in-app notification

Predict users with high probability to churn from the app and send push them notification to re-engage

Identify users with high probability to share the app and reach out to them to do the same Recommend relevant content to users based on similar user’s behavioral patterns

A Few Examples of Leveraging Mobile App Data with Machine Learning

Page 42: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Amazon Mobile Analytics

Amazon Redshift

App events

InsightsStrategies

Predictions

Mobile app developer Amazon Machine

Learning

+

Now Build Predictive Applications Using Your Mobile App Data Easily

Your Mobile

App

QuickSight

+

Page 43: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Deep Scalable SparseTensor Network Engine

(DSSTNE)

Pronounced “Destiny”

An Amazon developed library for buildingDeep Learning (DL) Machine Learning (ML) models

https://github.com/amznlabs/amazon-dsstne

Page 44: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Multi-GPUScale

Training and prediction both scale out to use multiple GPUs, spreading out computation and storage in a model-parallel fashion for

each layer

LargeLayers

Model-parallel scaling enables larger networks than are possible with a single GPU

SparseData

DSSTNE is optimized for fast performance on sparse datasets. Custom GPU kernels

perform sparse computation on the GPU, without filling in lots of zeroes

DSSTNE features for production workloads

Page 45: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

First DSSTNE Benchmarks

https://medium.com/@scottlegrand/first-dsstne-benchmarks-tldr-almost-15x-faster-than-tensorflow-393dbeb80c0f

Page 46: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Without worrying about infrastructure

On real devices in the cloud

Track and improve usage and monetization

DEVELOP TEST ENGAGE

AWS Mobile Services

Page 47: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Without worrying about infrastructure

On real devices in the cloud

Track and improve usage and monetization

DEVELOP TEST ENGAGE

AWS Mobile Services

ITERATE

Page 48: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

“There are two possible outcomes:

if the result confirms the hypothesis,then you’ve made a measurement.

If the result is contrary to the hypothesis,then you’ve made a discovery.”

-Enrico Fermi

Page 49: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Please remember to rate this session under My Agenda on

awssummit.london

Page 50: Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS

Thank you!@danilop danilop