SlideShare a Scribd company logo
1 of 56
Download to read offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Game On! Building Hulu’s Real-Time
Notification Platform for Live TV
with Amazon Pinpoint
M O B 3 0 4
Ilan Sehayek
Principal Product
Manager
Amazon
Yingan Wang
Principal Engineering
Manager
Hulu
Mingkui Liu
Principal Software
Engineer
Hulu
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
About Hulu
Our goals
Our solution with Amazon Pinpoint
Key learnings
Future plans
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
About Hulu
• Premium streaming service for VOD and live TV
• Hulu originals including “The Handmaid’s Tale,” the Emmy Award-
winning drama
• > 20M subscribers
• > 1M live TV subscribers
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Our goals
• For mobile clients
• Send the push notification to Hulu users
when game starts on live channels
• Tap into the playback of the live game
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Right audience
• User has opted in push
notifications
• User has shown interest in
specific content
• User is able to watch the specific
content
• Local live TV channels make it more
challenging
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deduplication
• Only one notification when it’s
airing on multiple channels
• Notification shouldn’t be sent
again for re-run
• Notification shouldn’t be sent if
the user has watched
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Handling schedule updates
• Notification should be sent at
the right time, even when
program schedule changes
• Program can start earlier/later, or can be
canceled
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Handling schedule updates
• Notification should be sent at
the right time, even when
program schedule changes
• Program can start earlier/later, or can be
canceled
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Handling schedule updates
• Notification should be sent at
the right time, even when
program schedule changes
• Program can start earlier/later, or can be
cancelled
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SLA
• Scalability
• Audience size can be as large as > 10MM
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SLA
• Scalability
• Audience size can be as large as > 10MM
• Multiple large campaigns can be scheduled at the
same time
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SLA
• Scalability
• Audience size can be as large as > 10MM
• Multiple large campaigns can be scheduled at the
same time
• Latency
• We aim to deliver the live game notifications to
end users within 1 min
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
High-level architecture
Mobile client
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
High-level architecture
Mobile client
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why Amazon Pinpoint?
• Amazon Pinpoint can provide the expected SLA
• Especially for the dynamic content campaigns
• Importing segments
• Delivery latency
• Amazon Pinpoint has a lot of flexibility to integrate with backends and
clients to support our unique use cases
• We can use their API/SDK to register users dynamically from backend
• We can use their API/SDK to create campaigns/segments dynamically and in real time
• We are not required to use Amazon Pinpoint client SDK, which is what Hulu client teams
want to avoid (they already have too many third-party SDKs integrated)
• With these, Hulu has full control of implementing Hulu notification scenarios
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Messaging pipeline
Mobile client
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Content data model
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Program schedule
• Those channels may have different schedules for the same live game
• Pre-game
• Commercials
• A lot of games could get extended at the last minute
• Schedule data
• Out of band
• In band
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Schedule ingestion
• Hulu gets content schedule
info from our content
partners
• Hulu also buys some third-
party content metadata, such
as Gracenote
• Our metadata team unifies
all signals and publishes real-
time change events
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Event trigger
• We listen to the changes and store schedule info in a
Redis-sorted set
• 30 minutes before the game starts, we build the
Amazon Pinpoint segments
• When the game really starts, it triggers the campaign
delivery
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Audience building
Mobile client
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Right audience
• User has opted in push
notifications
• User has shown interest in
specific content
• User is able to watch the specific
content
• Local live TV channels make it more
challenging
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Audience indexing platform
• Functionality
• Given specific content, find all users who have interest in the content and have the rights to
watch the content
• SLA
• We want the targeting results to be accurate
• We want low latency time
• We want high throughput
• We want high uptime
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Challenges—Request pattern
• Huge spike in request pattern
• Most live channels would change/start content at the same time, either every hour or every
half hour
• Some games may trigger millions of notifications, such as the Super Bowl
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Challenges—Updates
• The user’s attributes are always changing
• User could make changes to their interests
• User could change the entitlements
• User could change the location
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—Audience building solutions
• Apache Lucene
• A high-performance, full-featured text search engine
library
• Treat each user as a document and build inverted index
• Search the target users from the inverted index
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—How to build inverted index
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—How to build inverted index
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—How to search on the index
• Example
• The game episode X belongs to team_b
• The episode X can only be watched by live subscriber (entitlement=e2), and within the Las
Vegas area (distribution area= da2)
• Request: Find all users who have an interest in team_b AND who can watch episode X
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—How to search on the index
• Example
• The game episode X belongs to team_b
• The episode X can only be watched by live subscriber (entitlement=e2), and within the Las
Vegas area (distribution area= da2)
• Request: Find all users who have an interest in team_b AND who can watch episode X
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—How to search on the index
• Example
• The game episode X belongs to team_b
• The episode X can only be watched by live subscriber (entitlement=e2), and within the Las
Vegas area (distribution area= da2)
• Request: Find all users who have an interest in team_b AND who can watch episode X
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—How to search on the index
Parse params to get
entities, entitlement, and
location
Find user lists from index
for each index type
Join the user lists
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—Why is our solution efficient?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—Why is our solution efficient?
- Indexing is an
offline module—
build once and
copy-paste to
engine
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—Why is our solution efficient?
User list is ordered and stored by
skip-list
- Indexing is an
offline module—
build once and
copy-paste to
engine
- Terms are
ordered
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—Why is our solution efficient?
Interest matching & availability
checking are both handled in engine
User list is ordered and stored by
skip-list
- Indexing is an
offline module—
build once and
copy-paste to
engine
- Terms are
ordered
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—Real-time updates
Interests change
Location changes
Entitlement changes
Index changes
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep dive—Scalability
• For 20M users
• Search engine
• Index file size: 1 GB
• Heap memory: 4 GB
• Scalability
• Big room for memory scalability
• Easy to scale to multi-processors for high throughput
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Messaging platform
Mobile client
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Real-time delivery pipeline
• We define a list of processing components
• Deduplication
• Across different categories
• Kids
• Watch history
• Quota control
• Rolling windows
• By category
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Messaging address
• We keep track of all devices
that enabled notifications
• With the context of the
devices
• Time zone
• Device platform
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Messaging delivery
Mobile client
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Pinpoint integration
• Amazon Pinpoint & Amazon
Simple Storage Service (Amazon
S3) APIs
• Import segment: createImportJob
• Keep pulling: getImportJob
• Create campaign: createCampaign
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Pinpoint integration advice
• Load testing via silent
notification
• Large segment handling
• Error handling
• Idempotence
• Token registration
• Daily CAP limitation
• Race condition
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monitoring with AWS
• Quick setup on Lambda function
• Elasticsearch (with Kibana)
provides:
• Delivery size
• Device distribution
• Delivery latency
• Delivery status
• Integration with Hulu metrics
platform
• Advice
• Scale Amazon Kinesis to avoid data loss
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep link resolution
• Ideally, deep link to playback
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep link resolution
• Ideally, deep link to playback
• In reality, deep link destination varies
to achieve best user experience
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deep link resolution
• Ideally, deep link to playback
• In reality, deep link destination varies
to achieve best user experience
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key learnings
• Program schedule accuracy
• Audience building efficiency
• Build vs. buy
• System limitation
• Non-silent vs. silent notification
• Delivery ratio
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Future plans
• In-game excitement notification
• Notification center
• In-app notification
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Yingan Wang
yingan.wang@hulu.com
Mingkui Liu
mingkui.liu@hulu.com
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAmazon Web Services Japan
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAmazon Web Services Japan
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway Amazon Web Services Japan
 
浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターンAmazon Web Services Japan
 
20200812 AWS Black Belt Online Seminar Amazon Macie
20200812 AWS Black Belt Online Seminar Amazon Macie20200812 AWS Black Belt Online Seminar Amazon Macie
20200812 AWS Black Belt Online Seminar Amazon MacieAmazon Web Services Japan
 
【AWS初心者向けWebinar】AWSから始める動画配信
【AWS初心者向けWebinar】AWSから始める動画配信【AWS初心者向けWebinar】AWSから始める動画配信
【AWS初心者向けWebinar】AWSから始める動画配信Amazon Web Services Japan
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems ManagerAmazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介Amazon Web Services Japan
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介Amazon Web Services Japan
 
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用Amazon Web Services Japan
 
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)Amazon Web Services Japan
 
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続Amazon Web Services Japan
 
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...Amazon Web Services Japan
 
AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail Amazon Web Services Japan
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...Amazon Web Services Japan
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSyncAmazon Web Services Japan
 
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMRAmazon Web Services Japan
 

What's hot (20)

AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
 
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン
 
Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3
 
20200812 AWS Black Belt Online Seminar Amazon Macie
20200812 AWS Black Belt Online Seminar Amazon Macie20200812 AWS Black Belt Online Seminar Amazon Macie
20200812 AWS Black Belt Online Seminar Amazon Macie
 
【AWS初心者向けWebinar】AWSから始める動画配信
【AWS初心者向けWebinar】AWSから始める動画配信【AWS初心者向けWebinar】AWSから始める動画配信
【AWS初心者向けWebinar】AWSから始める動画配信
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
 
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
 
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
 
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
 
AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync
 
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR
 

Similar to Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Amazon Pinpoint (MOB304) - AWS re:Invent 2018

From Idea to Customers: Developing Modern Cloud-Enabled Apps with AWS (MOB201...
From Idea to Customers: Developing Modern Cloud-Enabled Apps with AWS (MOB201...From Idea to Customers: Developing Modern Cloud-Enabled Apps with AWS (MOB201...
From Idea to Customers: Developing Modern Cloud-Enabled Apps with AWS (MOB201...Amazon Web Services
 
Success Story of migrating entire infrastructure from AWS Singapore to AWS Mu...
Success Story of migrating entire infrastructure from AWS Singapore to AWS Mu...Success Story of migrating entire infrastructure from AWS Singapore to AWS Mu...
Success Story of migrating entire infrastructure from AWS Singapore to AWS Mu...Pranesh Vittal
 
Success story of migrating entire infrastructure from AWS Singapore to AWS Mu...
Success story of migrating entire infrastructure from AWS Singapore to AWS Mu...Success story of migrating entire infrastructure from AWS Singapore to AWS Mu...
Success story of migrating entire infrastructure from AWS Singapore to AWS Mu...AWS User Group Bengaluru
 
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...Amazon Web Services
 
Continuously Delivering Your Software on AWS - Adrian White - AWS TechShift A...
Continuously Delivering Your Software on AWS - Adrian White - AWS TechShift A...Continuously Delivering Your Software on AWS - Adrian White - AWS TechShift A...
Continuously Delivering Your Software on AWS - Adrian White - AWS TechShift A...Amazon Web Services
 
An Agile Approach to Cloud Adoption
An Agile Approach to Cloud AdoptionAn Agile Approach to Cloud Adoption
An Agile Approach to Cloud AdoptionAmazon Web Services
 
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...Amazon Web Services
 
Dev348 ReInvent Corteva Agriscience
Dev348   ReInvent Corteva AgriscienceDev348   ReInvent Corteva Agriscience
Dev348 ReInvent Corteva AgriscienceRandy Black
 
IVS CTO Night And Day 2018 Winter - AWSで実現する動画配信とリアルタイムチャットのアーキテクチャパターン
IVS CTO Night And Day 2018 Winter - AWSで実現する動画配信とリアルタイムチャットのアーキテクチャパターンIVS CTO Night And Day 2018 Winter - AWSで実現する動画配信とリアルタイムチャットのアーキテクチャパターン
IVS CTO Night And Day 2018 Winter - AWSで実現する動画配信とリアルタイムチャットのアーキテクチャパターンAmazon Web Services Japan
 
국내 미디어 고객사의 AWS 활용 사례 - POOQ 서비스, 콘텐츠연합플랫폼::조휘열::AWS Summit Seoul 2018
국내 미디어 고객사의 AWS 활용 사례 - POOQ 서비스, 콘텐츠연합플랫폼::조휘열::AWS Summit Seoul 2018국내 미디어 고객사의 AWS 활용 사례 - POOQ 서비스, 콘텐츠연합플랫폼::조휘열::AWS Summit Seoul 2018
국내 미디어 고객사의 AWS 활용 사례 - POOQ 서비스, 콘텐츠연합플랫폼::조휘열::AWS Summit Seoul 2018Amazon Web Services Korea
 
From Startup to Recognized IoT Leader
From Startup to Recognized IoT Leader From Startup to Recognized IoT Leader
From Startup to Recognized IoT Leader Amazon Web Services
 
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...Amazon Web Services
 
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...Amazon Web Services
 
Deep Dive on AWS PrivateLink - AWS Online Tech Talks
Deep Dive on AWS PrivateLink - AWS Online Tech TalksDeep Dive on AWS PrivateLink - AWS Online Tech Talks
Deep Dive on AWS PrivateLink - AWS Online Tech TalksAmazon Web Services
 
Life of a Code Change to a Tier 1 Service - AWS Online Tech Talks
Life of a Code Change to a Tier 1 Service - AWS Online Tech TalksLife of a Code Change to a Tier 1 Service - AWS Online Tech Talks
Life of a Code Change to a Tier 1 Service - AWS Online Tech TalksAmazon Web Services
 
Aws cost optimized logging using api gateway, sqs and elastic search
Aws  cost optimized logging using api gateway, sqs and elastic searchAws  cost optimized logging using api gateway, sqs and elastic search
Aws cost optimized logging using api gateway, sqs and elastic searchmitesh_sharma
 
Cost optimized logging using API Gateway, SQS and Elastic Search
Cost optimized logging using API Gateway, SQS and Elastic SearchCost optimized logging using API Gateway, SQS and Elastic Search
Cost optimized logging using API Gateway, SQS and Elastic SearchAWS User Group Bengaluru
 
Well-Architected: Cost Optimization Instructor Led Lab.pdf
Well-Architected: Cost Optimization Instructor Led Lab.pdfWell-Architected: Cost Optimization Instructor Led Lab.pdf
Well-Architected: Cost Optimization Instructor Led Lab.pdfAmazon Web Services
 
Build a Cloud-Connected iOS Game with AWS (MOB308) - AWS re:Invent 2018
Build a Cloud-Connected iOS Game with AWS (MOB308) - AWS re:Invent 2018Build a Cloud-Connected iOS Game with AWS (MOB308) - AWS re:Invent 2018
Build a Cloud-Connected iOS Game with AWS (MOB308) - AWS re:Invent 2018Amazon Web Services
 

Similar to Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Amazon Pinpoint (MOB304) - AWS re:Invent 2018 (20)

From Idea to Customers: Developing Modern Cloud-Enabled Apps with AWS (MOB201...
From Idea to Customers: Developing Modern Cloud-Enabled Apps with AWS (MOB201...From Idea to Customers: Developing Modern Cloud-Enabled Apps with AWS (MOB201...
From Idea to Customers: Developing Modern Cloud-Enabled Apps with AWS (MOB201...
 
Success Story of migrating entire infrastructure from AWS Singapore to AWS Mu...
Success Story of migrating entire infrastructure from AWS Singapore to AWS Mu...Success Story of migrating entire infrastructure from AWS Singapore to AWS Mu...
Success Story of migrating entire infrastructure from AWS Singapore to AWS Mu...
 
Success story of migrating entire infrastructure from AWS Singapore to AWS Mu...
Success story of migrating entire infrastructure from AWS Singapore to AWS Mu...Success story of migrating entire infrastructure from AWS Singapore to AWS Mu...
Success story of migrating entire infrastructure from AWS Singapore to AWS Mu...
 
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...
 
Continuously Delivering Your Software on AWS - Adrian White - AWS TechShift A...
Continuously Delivering Your Software on AWS - Adrian White - AWS TechShift A...Continuously Delivering Your Software on AWS - Adrian White - AWS TechShift A...
Continuously Delivering Your Software on AWS - Adrian White - AWS TechShift A...
 
An Agile Approach to Cloud Adoption
An Agile Approach to Cloud AdoptionAn Agile Approach to Cloud Adoption
An Agile Approach to Cloud Adoption
 
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...
Remove Undifferentiated Heavy Lifting from CI/CD Toolsets with Corteva Agrisc...
 
Dev348 ReInvent Corteva Agriscience
Dev348   ReInvent Corteva AgriscienceDev348   ReInvent Corteva Agriscience
Dev348 ReInvent Corteva Agriscience
 
IVS CTO Night And Day 2018 Winter - AWSで実現する動画配信とリアルタイムチャットのアーキテクチャパターン
IVS CTO Night And Day 2018 Winter - AWSで実現する動画配信とリアルタイムチャットのアーキテクチャパターンIVS CTO Night And Day 2018 Winter - AWSで実現する動画配信とリアルタイムチャットのアーキテクチャパターン
IVS CTO Night And Day 2018 Winter - AWSで実現する動画配信とリアルタイムチャットのアーキテクチャパターン
 
국내 미디어 고객사의 AWS 활용 사례 - POOQ 서비스, 콘텐츠연합플랫폼::조휘열::AWS Summit Seoul 2018
국내 미디어 고객사의 AWS 활용 사례 - POOQ 서비스, 콘텐츠연합플랫폼::조휘열::AWS Summit Seoul 2018국내 미디어 고객사의 AWS 활용 사례 - POOQ 서비스, 콘텐츠연합플랫폼::조휘열::AWS Summit Seoul 2018
국내 미디어 고객사의 AWS 활용 사례 - POOQ 서비스, 콘텐츠연합플랫폼::조휘열::AWS Summit Seoul 2018
 
From Startup to Recognized IoT Leader
From Startup to Recognized IoT Leader From Startup to Recognized IoT Leader
From Startup to Recognized IoT Leader
 
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
 
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...
 
Deep Dive on AWS PrivateLink - AWS Online Tech Talks
Deep Dive on AWS PrivateLink - AWS Online Tech TalksDeep Dive on AWS PrivateLink - AWS Online Tech Talks
Deep Dive on AWS PrivateLink - AWS Online Tech Talks
 
Breaking Down the 'Monowhat'
Breaking Down the 'Monowhat'Breaking Down the 'Monowhat'
Breaking Down the 'Monowhat'
 
Life of a Code Change to a Tier 1 Service - AWS Online Tech Talks
Life of a Code Change to a Tier 1 Service - AWS Online Tech TalksLife of a Code Change to a Tier 1 Service - AWS Online Tech Talks
Life of a Code Change to a Tier 1 Service - AWS Online Tech Talks
 
Aws cost optimized logging using api gateway, sqs and elastic search
Aws  cost optimized logging using api gateway, sqs and elastic searchAws  cost optimized logging using api gateway, sqs and elastic search
Aws cost optimized logging using api gateway, sqs and elastic search
 
Cost optimized logging using API Gateway, SQS and Elastic Search
Cost optimized logging using API Gateway, SQS and Elastic SearchCost optimized logging using API Gateway, SQS and Elastic Search
Cost optimized logging using API Gateway, SQS and Elastic Search
 
Well-Architected: Cost Optimization Instructor Led Lab.pdf
Well-Architected: Cost Optimization Instructor Led Lab.pdfWell-Architected: Cost Optimization Instructor Led Lab.pdf
Well-Architected: Cost Optimization Instructor Led Lab.pdf
 
Build a Cloud-Connected iOS Game with AWS (MOB308) - AWS re:Invent 2018
Build a Cloud-Connected iOS Game with AWS (MOB308) - AWS re:Invent 2018Build a Cloud-Connected iOS Game with AWS (MOB308) - AWS re:Invent 2018
Build a Cloud-Connected iOS Game with AWS (MOB308) - AWS re:Invent 2018
 

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
 

Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Amazon Pinpoint (MOB304) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Amazon Pinpoint M O B 3 0 4 Ilan Sehayek Principal Product Manager Amazon Yingan Wang Principal Engineering Manager Hulu Mingkui Liu Principal Software Engineer Hulu
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda About Hulu Our goals Our solution with Amazon Pinpoint Key learnings Future plans
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. About Hulu • Premium streaming service for VOD and live TV • Hulu originals including “The Handmaid’s Tale,” the Emmy Award- winning drama • > 20M subscribers • > 1M live TV subscribers
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Our goals • For mobile clients • Send the push notification to Hulu users when game starts on live channels • Tap into the playback of the live game
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Right audience • User has opted in push notifications • User has shown interest in specific content • User is able to watch the specific content • Local live TV channels make it more challenging
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deduplication • Only one notification when it’s airing on multiple channels • Notification shouldn’t be sent again for re-run • Notification shouldn’t be sent if the user has watched
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Handling schedule updates • Notification should be sent at the right time, even when program schedule changes • Program can start earlier/later, or can be canceled
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Handling schedule updates • Notification should be sent at the right time, even when program schedule changes • Program can start earlier/later, or can be canceled
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Handling schedule updates • Notification should be sent at the right time, even when program schedule changes • Program can start earlier/later, or can be cancelled
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. SLA • Scalability • Audience size can be as large as > 10MM
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. SLA • Scalability • Audience size can be as large as > 10MM • Multiple large campaigns can be scheduled at the same time
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. SLA • Scalability • Audience size can be as large as > 10MM • Multiple large campaigns can be scheduled at the same time • Latency • We aim to deliver the live game notifications to end users within 1 min
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. High-level architecture Mobile client
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. High-level architecture Mobile client
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why Amazon Pinpoint? • Amazon Pinpoint can provide the expected SLA • Especially for the dynamic content campaigns • Importing segments • Delivery latency • Amazon Pinpoint has a lot of flexibility to integrate with backends and clients to support our unique use cases • We can use their API/SDK to register users dynamically from backend • We can use their API/SDK to create campaigns/segments dynamically and in real time • We are not required to use Amazon Pinpoint client SDK, which is what Hulu client teams want to avoid (they already have too many third-party SDKs integrated) • With these, Hulu has full control of implementing Hulu notification scenarios
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Messaging pipeline Mobile client
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Content data model
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Program schedule • Those channels may have different schedules for the same live game • Pre-game • Commercials • A lot of games could get extended at the last minute • Schedule data • Out of band • In band
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Schedule ingestion • Hulu gets content schedule info from our content partners • Hulu also buys some third- party content metadata, such as Gracenote • Our metadata team unifies all signals and publishes real- time change events
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Event trigger • We listen to the changes and store schedule info in a Redis-sorted set • 30 minutes before the game starts, we build the Amazon Pinpoint segments • When the game really starts, it triggers the campaign delivery
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Audience building Mobile client
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Right audience • User has opted in push notifications • User has shown interest in specific content • User is able to watch the specific content • Local live TV channels make it more challenging
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Audience indexing platform • Functionality • Given specific content, find all users who have interest in the content and have the rights to watch the content • SLA • We want the targeting results to be accurate • We want low latency time • We want high throughput • We want high uptime
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Challenges—Request pattern • Huge spike in request pattern • Most live channels would change/start content at the same time, either every hour or every half hour • Some games may trigger millions of notifications, such as the Super Bowl
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Challenges—Updates • The user’s attributes are always changing • User could make changes to their interests • User could change the entitlements • User could change the location
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—Audience building solutions • Apache Lucene • A high-performance, full-featured text search engine library • Treat each user as a document and build inverted index • Search the target users from the inverted index
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—How to build inverted index
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—How to build inverted index
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—How to search on the index • Example • The game episode X belongs to team_b • The episode X can only be watched by live subscriber (entitlement=e2), and within the Las Vegas area (distribution area= da2) • Request: Find all users who have an interest in team_b AND who can watch episode X
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—How to search on the index • Example • The game episode X belongs to team_b • The episode X can only be watched by live subscriber (entitlement=e2), and within the Las Vegas area (distribution area= da2) • Request: Find all users who have an interest in team_b AND who can watch episode X
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—How to search on the index • Example • The game episode X belongs to team_b • The episode X can only be watched by live subscriber (entitlement=e2), and within the Las Vegas area (distribution area= da2) • Request: Find all users who have an interest in team_b AND who can watch episode X
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—How to search on the index Parse params to get entities, entitlement, and location Find user lists from index for each index type Join the user lists
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—Why is our solution efficient?
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—Why is our solution efficient? - Indexing is an offline module— build once and copy-paste to engine
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—Why is our solution efficient? User list is ordered and stored by skip-list - Indexing is an offline module— build once and copy-paste to engine - Terms are ordered
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—Why is our solution efficient? Interest matching & availability checking are both handled in engine User list is ordered and stored by skip-list - Indexing is an offline module— build once and copy-paste to engine - Terms are ordered
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—Real-time updates Interests change Location changes Entitlement changes Index changes
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep dive—Scalability • For 20M users • Search engine • Index file size: 1 GB • Heap memory: 4 GB • Scalability • Big room for memory scalability • Easy to scale to multi-processors for high throughput
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Messaging platform Mobile client
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Real-time delivery pipeline • We define a list of processing components • Deduplication • Across different categories • Kids • Watch history • Quota control • Rolling windows • By category
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Messaging address • We keep track of all devices that enabled notifications • With the context of the devices • Time zone • Device platform
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Messaging delivery Mobile client
  • 46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Pinpoint integration • Amazon Pinpoint & Amazon Simple Storage Service (Amazon S3) APIs • Import segment: createImportJob • Keep pulling: getImportJob • Create campaign: createCampaign
  • 47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Pinpoint integration advice • Load testing via silent notification • Large segment handling • Error handling • Idempotence • Token registration • Daily CAP limitation • Race condition
  • 48. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Monitoring with AWS • Quick setup on Lambda function • Elasticsearch (with Kibana) provides: • Delivery size • Device distribution • Delivery latency • Delivery status • Integration with Hulu metrics platform • Advice • Scale Amazon Kinesis to avoid data loss
  • 49. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep link resolution • Ideally, deep link to playback
  • 50. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep link resolution • Ideally, deep link to playback • In reality, deep link destination varies to achieve best user experience
  • 51. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deep link resolution • Ideally, deep link to playback • In reality, deep link destination varies to achieve best user experience
  • 52. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 53. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Key learnings • Program schedule accuracy • Audience building efficiency • Build vs. buy • System limitation • Non-silent vs. silent notification • Delivery ratio
  • 54. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Future plans • In-game excitement notification • Notification center • In-app notification
  • 55. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Yingan Wang yingan.wang@hulu.com Mingkui Liu mingkui.liu@hulu.com
  • 56. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.