SlideShare une entreprise Scribd logo
1  sur  67
Télécharger pour lire hors ligne
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Case Study: POOQ
Korea’s Largest OTT provider
B r o a d c a s t s m o r e t h a n s i x t y f i v e , 2 4 / 7 L I V E c h a n n e l s ,
A l l u s i n g A W S S e r v i c e s
F e l i x C h o – C T O , C o n t e n t A l l i a n c e P l a t f o r m
K i W a o n K i m – S o l u t i o n s A r c h i t e c t , A m a z o n W e b S e r v i c e s
C T D 3 0 3
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Agenda
Building OTT services on AWS
Brief introduction of “POOQ”
Platform evolution history
Head End platform on AWS
Pooq 3.0, UHD & Beyond
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
MEDIA workloads on AWS……
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Okay, Benefits for OTT on AWS?
• Move faster, allow AWS to invest on storage, compute
• Try every idea, reduce time-to-market, drive up quickly
• Scale and don’t build for the weekly 2 hour peak
• Invest in Content
• Ingest near content owner, serve close to consumer
• Use resources for customer impacting features
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS has full set of features for OTT
• File Transcoding (Elastic Transcoder, Elemental Server)
• Live Transcoding (Elemental Live)
• DNS (Route 53)
• Content Caching close to the consumers (CDN; CloudFront)
• Security Services (AWS Shield, WAF, …)
• Computing Resources (EC2, Lambda, ECS, Lambda@Edge,…)
• Storage Options (S3, EFS, EBS, …)
• And… Serverless components (Step Functions, DynamoDB, SQS, …)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Well architected live streaming on AWS
https://aws.amazon.com/answers/media-entertainment/live-streaming/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Video on Demand on AWS - Serverless
https://aws.amazon.com/answers/media-entertainment/video-on-demand-on-aws/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Building OTT service on AWS
• Quickly Start from AWS CloudFormation templates
• Innovation through AI services (Amazon Rekognition, Amazon Polly, etc.)
• Fast improvement via CI/CD, using AWS code series services & 3rd party tools
• Easily build global services using AWS Edge Services (CloudFront, Route 53, …)
• Build Content/Data Lake on S3 for personalized content recommendation
• Adopt new media technologies quickly by your own hands
• Learn from real cases.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Introducing Korea’s #1 OTT Player – POOQ
Felix Cho, CTO of Content Alliance Platform
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ is OTT provider
Joint venture between all 3 terrestrial broadcasting company
KBS, MBC, SBS
Founded at May 2012
Serving (As of Oct. 2017)
64 Live Broadcasting stream
Over 160,000 VOD streaming
About 6,000 Movie streaming
About 620,000 Paid subscriber
(Average price is USD $9 per customer)
About 3,000,000 Registered users
(We have ad-based streaming options)
#1 Player on Korean OTT market
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ: Home Screen
Full List:
Dynamic contents curation via ‘multi-band’ API call
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ
VOD: my watch list
Live: my channel list
VOD: Popular list
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ
Curated list
Live: Popular channel list
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ
Curated Special Topic section
VOD: Latest list
Home Shopping Live
list
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ
VOD: Popular Drama list
VOD: Popular Entertainment
list
VOD: Popular Talk Show
& Documentary list
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ
Radio: Popular Radio Channel list
VOD: Popular International
Drama list
VOD: Popular International
Documentary list
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ
Movie: Curated list
VOD: Curated animation list
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ
VOD: Kids recommendation list
Movie: All you can watch list
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ
Movie: Machine learning based
recommendation list
Movie: Curated list
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ
Movie: Curated list
Cross device resume streaming
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ on multiple devices
PC Web
Mobile Web
Android App
Android OTT App (Google TV Platform)
iOS App
Samsung Smart TV App
LG Smart TV App
With supporting Chromecast
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Platform Evolution History
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 1.0: May 2012
Typical 3-tier Web service platform on IDC
CDN & media handling was fully outsourced
Note : Initial JV start with 2 different language base (from 2 different broadcasting company)
PC Browser
(Server
Rendering)
ASP.Net
Web Server
MS-SQL
Database
Meta
Ingestion
Mobile Client
Mobile API
Server (Java)
Streaming
H/E
CDN
Media
Ingestion
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 1.0
Serve initial purpose
Start exposing problems
by subscriber growth and functional addition
Database resource got saturated,
local cache had it’s limitation
No staging environment
everything was real
ASP.Net Web Server & Java API Server makes
own implementation for same business logic
Not easy make it consistent
PC Browser
(Server
Rendering)
ASP.Net
Web Server
MS-SQL
Database
Meta
Ingestion
Mobile
Client
Mobile API
Server
(Java)
Streaming
H/E
CDN
Media
Ingestion
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 1.0
Scaling problem
IDC & RDBMS makes it pretty difficult
Limited functionality
No personalization
No user behavior data analysis
No recommendation, …etc.
PC Browser
(Server
Rendering)
ASP.Net
Web Server
MS-SQL
Database
Meta
Ingestion
Mobile
Client
Mobile API
Server
(Java)
Streaming
H/E
CDN
Media
Ingestion
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 2.0: June 2015
Project started at Nov. 2014
Goal: Cloud, Die hard platform, Personalization, API unification
PC Browser
(Client
Rendering)
ASP.Net
API Server
MS-SQL
Database
Meta Ingestion
Mobile Client
Streaming
H/E
CDN
Media
Ingestion
Member
Mongo DB
Cluster
Meta
Mongo DB
Cluster
User
Behavior
Data
Collector
Kettle
ETL
Batch
Cassandra
DB
Data Sync
Spark
Analysis
Smart TV
Client
Datamart
Mongo DB
Cluster
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 2.0
Swagger based API (https://api20-docs.pooq.co.kr/)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 2.0
From IDC to cloud
Not AWS, no AWS Korea at the time
Korean Privacy Law prohibit transfer personal
information to other country (No cross border)
Scale well
Highest score was 280,000 users
Personalization
User Analysis (Based on user viewing information collection for every 10 sec.)
Recommendation
Cross device streaming resume
API Unification
Single implementation for single business logic
PC Browser
(Client
Rendering) ASP.N
et
API
Server
MS-SQL
Database
Meta
Ingestion
Mobile Client
Streaming
H/ECDN
Media
Ingestion
Member
Mongo DB
Cluster
Meta
Mongo DB
Cluster
User
Behavior
Data
Collector
Kettle
ETL
Batch
Cassandra
DB
Data Sync
Spark
Analysi
s
Smart TV
Client
Datamart
Mongo DB
Cluster
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 2.0 – Under the hood
API Unification
Swagger based API design & documentation
Swagger -> Github -> Jenkins CI workflow
Mock data vs. Real data
PC Browser
(Client
Rendering) ASP.N
et
API
Server
MS-SQL
Database
Meta
Ingestion
Mobile Client
Streaming
H/ECDN
Media
Ingestion
Member
Mongo DB
Cluster
Meta
Mongo DB
Cluster
User
Behavior
Data
Collector
Kettle
ETL
Batch
Cassandra
DB
Data Sync
Spark
Analysi
s
Smart TV
Client
Datamart
Mongo DB
Cluster
ASP.Net
API Server
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 2.0 – Under the hood
Migration from RDBMS to NoSQL
Multiple node mongo DB clusters
Much better data resource bandwidth
ETL tooling
Rapid & reliable implementation of data transfer
PC Browser
(Client
Rendering) ASP.N
et
API
Server
MS-SQL
Database
Meta
Ingestion
Mobile Client
Streaming
H/ECDN
Media
Ingestion
Member
Mongo DB
Cluster
Meta
Mongo DB
Cluster
User
Behavior
Data
Collector
Kettle
ETL
Batch
Cassandra
DB
Data Sync
Spark
Analysi
s
Smart TV
Client
Datamart
Mongo DB
Cluster
MS-SQL
Database
Member
Mongo DB
Cluster
Meta Mongo
DB
Cluster
Kettle ETL
Batch
Data Sync
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 2.0 – Under the hood
User Behavior Data Collector
Proprietary implementation
Collects user’s streaming status information for
every 10 sec.
Stored on Apache Cassandra DB
About 7TByte/Day
User Analysis
Cross device streaming resume
Recommendations (Using Apache Spark Mllib)
My View list management
Service Analysis
About 50 types of business supporting
data matrix report generation
PC Browser
(Client
Rendering) ASP.N
et
API
Server
MS-SQL
Database
Meta
Ingestion
Mobile Client
Streaming
H/ECDN
Media
Ingestion
Member
Mongo DB
Cluster
Meta
Mongo DB
Cluster
User
Behavior
Data
Collector
Kettle
ETL
Batch
Cassandra
DB
Data Sync
Spark
Analysi
s
Smart TV
Client
Datamart
Mongo DB
Cluster
User
Behavior
Data
Collector
Cassandra DB Spark
Analysis
Datamart
Mongo DB
Cluster
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 2.0 – The Result
WBSC Premier 12 Semifinal
Korea vs. Japan
551G CDN
280K Users
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 2.0 –Move to AWS, February, 2017
Reason: Better platform feature, Better management tools
Took a month for migration
Most time consuming task was data migration, server migration was smooth
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Head End Platform on AWS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Head End Platform: November 2016
Project started 3Q, 2016
First platform hosted on AWS
Business and functional requirement to have own head end rises
Desire for better service quality and diversification
UHD/4K readiness
Supported protocol: HLS, MPEG-DASH
Supported codec: AVC(H.264), HEVC(H.265)
Supported DRM: Widevine Classic, Widevine Module, Play Ready, Fair Play
Support VBR streaming
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Head End Platform: Transcoding Setup
Type Resolution Codec Bitrate Profile Frame Rate Note
Mobile
360p
480x270 H.264 250Kbps
Main 29.97fps
Chunk: 2 second
GOP: 60 Frame,
Closed
640x360
H.264 500Kbps
HEVC 300Kbps
General
480p
854x480
H.264 1Mbps
HEVC 600Kbps
High
720p
1280x720
H.264 2Mbps
HEVC 1.2Mbps
Super
1080p
1920x1080
H.264 5Mbps
HEVC 3Mbps
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Head End Platform: Live Streaming
With AWS Elemental Live encoder
Handles 64 Live streaming including audio-only channels
Supporting: Live HLS, MPEG-DASH
Client
AWS
Elemental
Live
External
Live Feed
(RTMP)
AWS Live
S3 bucket
Protocol
Muxer
Live Proxy,
Manifest
Generator
AWS Live
Streaming
CF
Live
Thumbnai
l
Generator
AWS Live
Thumbnai
l CF
External
Radio Feed
(RTMP)
Wowza
Radio
DVR
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Live Streaming – Under the hood
Live Feed & Elemental Live Encoder
Receive feed from CP, as RTMP single stream
Elemental Live Encoder transcode into
multiple bit rate x screen resolution
With master/backup transcoding
Store on S3 – master & backup copy
Client
AWS
Elemental
Live
External Live
Feed
(RTMP)
AWS Live
S3 bucket
Protocol
Muxer
Live Proxy,
Manifest
Generator
AWS Live
Streaming
CF
Live
Thumbnail
Generator
AWS Live
Thumbnail
CF
External
Radio Feed
(RTMP)
WowzaRadio DVR
AWS
Elemental
Live
External Live
Feed
(RTMP)
AWS Live S3
bucket
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Live Streaming – Under the hood
Protocol Muxer
For HLS, timestamp adjustment
For MPEG-DASH, convert TS into Fragmented MP4
Switch between master & backup for uninterrupted
Service
Live contents blocking for streaming rights control
Uninterrupted streaming with master & backup source switching.
Client
AWS
Elemental
Live
External Live
Feed
(RTMP)
AWS Live
S3 bucket
Protocol
Muxer
Live Proxy,
Manifest
Generator
AWS Live
Streaming
CF
Live
Thumbnail
Generator
AWS Live
Thumbnail
CF
External
Radio Feed
(RTMP)
WowzaRadio DVR
Protocol Muxer
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Live Streaming – Under the hood
Live Proxy & Manifest Generator
Act as CloudFront’s end point
Also generate live m3u8 manifest file on the fly
Client
AWS
Elemental
Live
External Live
Feed
(RTMP)
AWS Live
S3 bucket
Protocol
Muxer
Live Proxy,
Manifest
Generator
AWS Live
Streaming
CF
Live
Thumbnail
Generator
AWS Live
Thumbnail
CF
External
Radio Feed
(RTMP)
WowzaRadio DVR
Live Proxy,
Manifest
Generator
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Live Streaming – Under the hood
Radio channels
Elemental Live Encoder does not support
audio only
(As of implementation time)
Dedicated wowza server & DVR to generate TS files
Client
AWS
Elemental
Live
External Live
Feed
(RTMP)
AWS Live
S3 bucket
Protocol
Muxer
Live Proxy,
Manifest
Generator
AWS Live
Streaming
CF
Live
Thumbnail
Generator
AWS Live
Thumbnail
CF
External
Radio Feed
(RTMP)
WowzaRadio DVR
External Radio
Feed
(RTMP)
WowzaRadio DVR
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Live Streaming – Under the hood
Live Thumbnails
Generate Screen snapshot image for client display Client
AWS
Elemental
Live
External Live
Feed
(RTMP)
AWS Live
S3 bucket
Protocol
Muxer
Live Proxy,
Manifest
Generator
AWS Live
Streaming
CF
Live
Thumbnail
Generator
AWS Live
Thumbnail
CF
External
Radio Feed
(RTMP)
WowzaRadio DVR
Live Thumbnail
Generator
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Live: OnAir VOD
VOD service while broadcasting online
Using stored TS chunk & end time update API
Keep live TS for up to 1 month, control per channel
Client
Player
AWS
CF
OnAir
API
Live TS on S3
(real-time adding)
Long m3u8
(2hr for drama)
1) Start as normal HLS
streaming
2) Ask for how far it can
stream
3) Response: stream for
specific end time
Contains pre-defined TS
name list
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Head End Platform: VOD
With proprietary VOD Ingest Worker (Based on FFMPEG)
Session-based watermarking technology
Client
VOD
Ingest
Worker
TV VOD
(HTTP Pull)
AWS Vod
S3
bucket
AWS VOD
Streaming CF
Movie
Watermarkin
g Embedder
Movie
VOD
(FTP Push)
Movie
Ingest
G/W
Signed URL
Generator
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
VOD – Under the hood
VOD Ingest
HTTP Pull for TV VOD
FTP Push for Movie
Based on different business requirement
Clien
t
VOD
Ingest
Worker
TV VOD
(HTTP Pull)
AWS
Vod S3
bucket
AWS VOD
Streaming CF
Movie
Watermarkin
g Embedder
Movie
VOD
(FTP Push)
Movie
Ingest
G/W
Signed URL
Generator
TV VOD
(HTTP Pull)
Movie VOD
(FTP Push)
Movie
Ingest G/W
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
VOD – Under the hood
VOD Ingest Worker
Proprietary transcoder based on FFMPEG
Transcode single source into multiple
bit rate X resolution with VBR support
Utilize AWS Spot instance for cost-effectiveness
Try with 2 C4 & 2 M4 instance, whichever
cheaper
Clien
t
VOD
Ingest
Worker
TV VOD
(HTTP Pull)
AWS
Vod S3
bucket
AWS VOD
Streaming CF
Movie
Watermarkin
g Embedder
Movie
VOD
(FTP Push)
Movie
Ingest
G/W
Signed URL
Generator
VOD Ingest
Worker
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
VOD – Under the hood
VOD S3 Bucket
Store Segmented files
Per bitrate, resolution
This makes streaming quite easy
– everything is ready
Clien
t
VOD
Ingest
Worker
TV VOD
(HTTP Pull)
AWS
Vod S3
bucket
AWS VOD
Streaming CF
Movie
Watermarkin
g Embedder
Movie
VOD
(FTP Push)
Movie
Ingest
G/W
Signed URL
Generator
AWS Vod S3
bucket
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
VOD – Under the hood
VOD Watermarking Embedder
Session based watermarking
Can identify which user captured at post mortem
Clien
t
VOD
Ingest
Worker
TV VOD
(HTTP Pull)
AWS
Vod S3
bucket
AWS VOD
Streaming CF
Movie
Watermarkin
g Embedder
Movie
VOD
(FTP Push)
Movie
Ingest
G/W
Signed URL
Generator
TS with bit ‘1’ Embedded
AWS
CF
Client
Movie
Watermarkin
gEmbedder
TS with bit ‘0’ Embedded
User Information
embedded streaming
Movie
Watermarking
Embedder
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
VOD – Under the hood
Signed URL Generator
Some client device cannot use Signed Cookie
Clien
t
VOD
Ingest
Worker
TV VOD
(HTTP Pull)
AWS
Vod S3
bucket
AWS VOD
Streaming CF
Movie
Watermarkin
g Embedder
Movie
VOD
(FTP Push)
Movie
Ingest
G/W
Signed URL
Generator
Signed URL Generator
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Head End Platform – Behind Story
First Korean customer case for Elemental Cloud Live
Also, this was first time using CloudFront for us
Lots of hiccups during implementation
So let’s talk about it
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Behind Story: Mobile Network Throttling
All Korean mobile operators implement network bandwidth throttling to limit customer’s daily/monthly
usage
One company implemented in strange way
Customer on that mobile network could not stream, lots of buffering
Looks like they are using transparent proxy
Time
Bandwidth
Limit
Time
Bandwidth
Limit
Normal way Funny way
This was not happening when we were using that company’s CDN
Solution: Make all streaming as HTTPS & VBR
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Behind Story: Securing streaming
Initially, client IP address was part of authentication with CloudFront’s signed cookie and signed URL
Got complaint from certain customers who works for government: Unable to stream
Investigation reveal interesting fact: Government office has interesting proxy/firewall scheme
AWS
CF
Government
Office
Security
Module
Customer at
government
officeBrowsing &
Streaming
Request using
multiple
Public IP
randomly
Solution: Solved. Restriction apply with C class IP block.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Behind Story: Streaming Incompatible
Several incoming RTMP streaming cause trouble with Elemental Live Encoder
Further investigation reveals that quite many encoder/transcoder installed by CPs are transmitting non -
standard data inside streaming.
Elemental
Live Encoder
CP’s Encoder
RTMP Streaming
With faulty data
Solution: With dedicated support from Elemental’s support, situation had solved with software patch
(On Elemental Cloud Encoder)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Behind Story: Cross border streaming
Some Internet provider/mobile provider’s network was not working with CloudFront.
LAX, NRT, HKG CloudFront Edges are getting hit. Lots of buffered streaming.
Client
ICN
Suspected some DNS server’s configuration was not correct.
However neither Contents Alliance Planform nor AWS has power to change it.
Solution: Not 100% solved. Gets better with AWS’s CloudFront tweaking.
With ABR streaming, now customer almost not able to notice if it happens.
Inside Korea
HKG
NRT
LAX
Abnormal
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Well documented
Decent engineering support in general
Stable and mature
If something is not working,
probably we did it wrong
Absent of local support engineer
Problem solving tend to be slow
Lack of notice/announcement about system upgrade
Caused streaming breakdown
Could not prepare/monitor beforehand
C o n sP r o s
CloudFront: Pros & Cons
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 3.0, UHD & Beyond
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 3.0: ETA March 2018
Project started at September 2017
Goal: Docker, Microservice, Message Event Based Architecture, Flexible Marketing, Machine Learning
PC Browser
(Client
Rendering)
Meta
Ingestion
Mobile
Client
POOQ Streaming H/E
Media
Ingestion
Data Sync
Smart TV
Client
AWSCF
Kubernetes
Kong
API
API
…
Member
MongoDB
Contents
MongoDB
User Behavior
Data Collector
ApacheKafka
MessageBroker
Member
MSSQL
Machine
Learning
Contents
MariaDB
Marketing
MongoDB
Cassandra
DB
DataLake
S3
Kettle
ETL
Marketing
Engine
AWS EMR
Data
Analysis
Marketing
Planner
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 3.0 – Under the hood
Docker based Microservice
Increase development & deploy efficiency
Auto scale on different level
Polyglot development environment
Circuit Breaker, Local Cache in framework
Select 5 languages: Java, C#, Javascript, Python, Golang
Kubernetes
Open Source
Operation Team’s favorite
Kong API Gateway
Initially AWS API Gateway was selected
Hit maximum of 50 LBs per VPC (Kubernetes with AWS API Gateway case)
Had to look for other way and select Kong
PC Browser
(Client
Rendering)
Meta
Ingestion
Mobile
Client
POOQ Streaming H/E
Media
Ingestion
Data Sync
Smart TV
Client
AWSCF
Kubernetes
Kon
g
API
API
…
Member
MongoD
B
Contents
MongoD
B
User Behavior
Data Collector
ApacheKafka
MessageBroker
Member
MSSQL
Machine
Learning
Contents
MariaDB
Marketin
g
MongoD
B
Cassandr
aDB
DataLake
S3
Kettle
ETL
Marketin
g
Engine
AWS
EMR
Data
Analysis
Marketing
Planner
Kubernetes
Kong
API
API
…
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 3.0 – Under the hood
Apache Kafka Message Broker
Centralized, Standardized Messaging Mechanism
Can store messages for long time (Default is 7 days)
All user activity will store via Kafka (API log, Click log)
PC Browser
(Client
Rendering)
Meta
Ingestion
Mobile
Client
POOQ Streaming H/E
Media
Ingestion
Data Sync
Smart TV
Client
AWSCF
Kubernetes
Kon
g
API
API
…
Member
MongoD
B
Contents
MongoD
B
User Behavior
Data Collector
ApacheKafka
MessageBroker
Member
MSSQL
Machine
Learning
Contents
MariaDB
Marketin
g
MongoD
B
Cassandr
aDB
DataLake
S3
Kettle
ETL
Marketin
g
Engine
AWS
EMR
Data
Analysis
Marketing
Planner
ApacheKafka
MessageBroker
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 3.0 – Under the hood
Marketing campaign engine
Monitor full user activity via Kafka for
specific threshold
Activate pre-designed campaign
(Like discounted subscription offer)
From code based to rule based
PC Browser
(Client
Rendering)
Meta
Ingestion
Mobile
Client
POOQ Streaming H/E
Media
Ingestion
Data Sync
Smart TV
Client
AWSCF
Kubernetes
Kon
g
API
API
…
Member
MongoD
B
Contents
MongoD
B
User Behavior
Data Collector
ApacheKafka
MessageBroker
Member
MSSQL
Machine
Learning
Contents
MariaDB
Marketin
g
MongoD
B
Cassandr
aDB
DataLake
S3
Kettle
ETL
Marketin
g
Engine
AWS
EMR
Data
Analysis
Marketing
Planner
Marketing
MongoDB
Marketing
Engine
Marketing Planner
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 3.0 – Under the hood
Revamped data analysis engine
‘Data Lake’ concept
Longer data storage with S3
PC Browser
(Client
Rendering)
Meta
Ingestion
Mobile
Client
POOQ Streaming H/E
Media
Ingestion
Data Sync
Smart TV
Client
AWSCF
Kubernetes
Kon
g
API
API
…
Member
MongoD
B
Contents
MongoD
B
User Behavior
Data Collector
ApacheKafka
MessageBroker
Member
MSSQL
Machine
Learning
Contents
MariaDB
Marketin
g
MongoD
B
Cassandr
aDB
DataLake
S3
Kettle
ETL
Marketin
g
Engine
AWS
EMR
Data
Analysis
Marketing
Planner
DataLake
S3
AWS EMR
Data Analysis
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
POOQ 3.0 – Under the hood
Integrating machine learning
Still early stage, long way to go
Initial goals are;
Scene keyword detection
Celebrity face identification
Contents related article analysis
Outsourcing online API service provider for initial service
Evaluating between: AWS Rekognition and Clarifai
Utilizing Google Tensorflow as in-house tool
PC Browser
(Client
Rendering)
Meta
Ingestion
Mobile
Client
POOQ Streaming H/E
Media
Ingestion
Data Sync
Smart TV
Client
AWSCF
Kubernetes
Kon
g
API
API
…
Member
MongoD
B
Contents
MongoD
B
User Behavior
Data Collector
ApacheKafka
MessageBroker
Member
MSSQL
Machine
Learning
Contents
MariaDB
Marketin
g
MongoD
B
Cassandr
aDB
DataLake
S3
Kettle
ETL
Marketin
g
Engine
AWS
EMR
Data
Analysis
Marketing
Planner
Machine Learning
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
UHD: ETA February, 2018
Korea start UHD terrestrial broadcasting at 31th May, 2017
Select ATSC-3.0 as standard
POOQ is testing & building UHD streaming service
Initial target is Pyungchang Olympic
Type Resolution Codec Bitrate Profile Frame Rate Note
Super
1080p
1920x108
0
HEVC 4Mbps
Main10 59.94fps
Chunk: 2
second
GOP: 120
Frame, Closed
UHD
2160p
3840x216
0
HEVC 8Mbps
HEVC 15Mbps
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
UHD: Live
On Site Live Encoder
CP generate full range of bitrate & resolution on-site
Elemental Cloud Live Encoder does not have powerful enough machine yet
(Using 128 V-Core machine can do single channel but that’s way too expensive)
POOQ Head
End
S3 Transit
On Site Live
Encoder
(Elemental Box)
2 Second TS
File Push
Generate full
range of
bitrate
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Beyond: What’s next?
HDR support
Alliance for Open Media AV1 Codec support
POOQ 3.0 Enhancement
Bring machine learning in-house
Request for AWS: Need faster CloudFront for higher bit rate UHD streaming
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
THANK YOU!
C a s t S t u d y : P O O Q , K o r e a ’ s L a r g e s t O T T p r o v i d e r
C T D 3 0 3

Contenu connexe

Tendances

Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...
Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...
Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...Amazon Web Services
 
ARC330_How the BBC Built a Massive Media Pipeline Using Microservices
ARC330_How the BBC Built a Massive Media Pipeline Using MicroservicesARC330_How the BBC Built a Massive Media Pipeline Using Microservices
ARC330_How the BBC Built a Massive Media Pipeline Using MicroservicesAmazon Web Services
 
What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...
What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...
What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...Amazon Web Services
 
CTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real TimeCTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real TimeAmazon Web Services
 
CMP217_Scale In-Memory Workloads on Amazon EC2 X1 and X1e Instances with up t...
CMP217_Scale In-Memory Workloads on Amazon EC2 X1 and X1e Instances with up t...CMP217_Scale In-Memory Workloads on Amazon EC2 X1 and X1e Instances with up t...
CMP217_Scale In-Memory Workloads on Amazon EC2 X1 and X1e Instances with up t...Amazon Web Services
 
ARC331_How I Made My Motorbike Talk
ARC331_How I Made My Motorbike TalkARC331_How I Made My Motorbike Talk
ARC331_How I Made My Motorbike TalkAmazon Web Services
 
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017Amazon Web Services
 
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...Amazon Web Services
 
Deep Dive on Amazon Glacier - STG303 - re:Invent 2017
Deep Dive on Amazon Glacier - STG303 - re:Invent 2017Deep Dive on Amazon Glacier - STG303 - re:Invent 2017
Deep Dive on Amazon Glacier - STG303 - re:Invent 2017Amazon Web Services
 
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...Amazon Web Services
 
STG203_Get Rid of Tape and Modernize Backup with AWS
STG203_Get Rid of Tape and Modernize Backup with AWSSTG203_Get Rid of Tape and Modernize Backup with AWS
STG203_Get Rid of Tape and Modernize Backup with AWSAmazon Web Services
 
NET309_Best Practices for Securing an Amazon Virtual Private Cloud
NET309_Best Practices for Securing an Amazon Virtual Private CloudNET309_Best Practices for Securing an Amazon Virtual Private Cloud
NET309_Best Practices for Securing an Amazon Virtual Private CloudAmazon Web Services
 
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...Amazon Web Services
 
DAT310_Which Database to Use When
DAT310_Which Database to Use WhenDAT310_Which Database to Use When
DAT310_Which Database to Use WhenAmazon Web Services
 
Amazon EC2 Foundations - CMP203 - re:Invent 2017
Amazon EC2 Foundations - CMP203 - re:Invent 2017Amazon EC2 Foundations - CMP203 - re:Invent 2017
Amazon EC2 Foundations - CMP203 - re:Invent 2017Amazon Web Services
 
CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...
CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...
CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...Amazon Web Services
 
ARC319_Multi-Region Active-Active Architecture
ARC319_Multi-Region Active-Active ArchitectureARC319_Multi-Region Active-Active Architecture
ARC319_Multi-Region Active-Active ArchitectureAmazon Web Services
 

Tendances (20)

Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...
Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...
Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...
 
ARC330_How the BBC Built a Massive Media Pipeline Using Microservices
ARC330_How the BBC Built a Massive Media Pipeline Using MicroservicesARC330_How the BBC Built a Massive Media Pipeline Using Microservices
ARC330_How the BBC Built a Massive Media Pipeline Using Microservices
 
What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...
What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...
What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...
 
CTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real TimeCTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real Time
 
DAT325_Snapchat Stories
DAT325_Snapchat StoriesDAT325_Snapchat Stories
DAT325_Snapchat Stories
 
CMP217_Scale In-Memory Workloads on Amazon EC2 X1 and X1e Instances with up t...
CMP217_Scale In-Memory Workloads on Amazon EC2 X1 and X1e Instances with up t...CMP217_Scale In-Memory Workloads on Amazon EC2 X1 and X1e Instances with up t...
CMP217_Scale In-Memory Workloads on Amazon EC2 X1 and X1e Instances with up t...
 
STG306_Deep Dive on Amazon EBS
STG306_Deep Dive on Amazon EBSSTG306_Deep Dive on Amazon EBS
STG306_Deep Dive on Amazon EBS
 
ARC331_How I Made My Motorbike Talk
ARC331_How I Made My Motorbike TalkARC331_How I Made My Motorbike Talk
ARC331_How I Made My Motorbike Talk
 
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
 
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
 
Deep Dive on Amazon Glacier - STG303 - re:Invent 2017
Deep Dive on Amazon Glacier - STG303 - re:Invent 2017Deep Dive on Amazon Glacier - STG303 - re:Invent 2017
Deep Dive on Amazon Glacier - STG303 - re:Invent 2017
 
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...
WIN301-Migrating Microsoft SQL Server Databases to AWS-Best Practices and Pat...
 
STG203_Get Rid of Tape and Modernize Backup with AWS
STG203_Get Rid of Tape and Modernize Backup with AWSSTG203_Get Rid of Tape and Modernize Backup with AWS
STG203_Get Rid of Tape and Modernize Backup with AWS
 
STG401_This Is My Architecture
STG401_This Is My ArchitectureSTG401_This Is My Architecture
STG401_This Is My Architecture
 
NET309_Best Practices for Securing an Amazon Virtual Private Cloud
NET309_Best Practices for Securing an Amazon Virtual Private CloudNET309_Best Practices for Securing an Amazon Virtual Private Cloud
NET309_Best Practices for Securing an Amazon Virtual Private Cloud
 
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...
 
DAT310_Which Database to Use When
DAT310_Which Database to Use WhenDAT310_Which Database to Use When
DAT310_Which Database to Use When
 
Amazon EC2 Foundations - CMP203 - re:Invent 2017
Amazon EC2 Foundations - CMP203 - re:Invent 2017Amazon EC2 Foundations - CMP203 - re:Invent 2017
Amazon EC2 Foundations - CMP203 - re:Invent 2017
 
CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...
CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...
CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...
 
ARC319_Multi-Region Active-Active Architecture
ARC319_Multi-Region Active-Active ArchitectureARC319_Multi-Region Active-Active Architecture
ARC319_Multi-Region Active-Active Architecture
 

Similaire à CTD303_Korea’s Largest OTT provider

Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech TalksDeep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech TalksAmazon Web Services
 
IOT311_Customer Stories of Things, Cloud, and Analytics on AWS
IOT311_Customer Stories of Things, Cloud, and Analytics on AWSIOT311_Customer Stories of Things, Cloud, and Analytics on AWS
IOT311_Customer Stories of Things, Cloud, and Analytics on AWSAmazon Web Services
 
Podcasting on AWS – A Discussion on Everything from Production to Distributio...
Podcasting on AWS – A Discussion on Everything from Production to Distributio...Podcasting on AWS – A Discussion on Everything from Production to Distributio...
Podcasting on AWS – A Discussion on Everything from Production to Distributio...Amazon Web Services
 
NEW LAUNCH! Introducing Amazon Kinesis Video Streams - ABD216 - re:Invent 2017
NEW LAUNCH! Introducing Amazon Kinesis Video Streams - ABD216 - re:Invent 2017NEW LAUNCH! Introducing Amazon Kinesis Video Streams - ABD216 - re:Invent 2017
NEW LAUNCH! Introducing Amazon Kinesis Video Streams - ABD216 - re:Invent 2017Amazon Web Services
 
LA M and E Symposium Nov 2017 All decks.pdf
LA M and E Symposium Nov 2017 All decks.pdfLA M and E Symposium Nov 2017 All decks.pdf
LA M and E Symposium Nov 2017 All decks.pdfAmazon Web Services
 
Integrating Video in Mobile Apps and Websites - MBL308 - re:Invent 2017
Integrating Video in Mobile Apps and Websites - MBL308 - re:Invent 2017Integrating Video in Mobile Apps and Websites - MBL308 - re:Invent 2017
Integrating Video in Mobile Apps and Websites - MBL308 - re:Invent 2017Amazon Web Services
 
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...Amazon Web Services
 
CTD405_Building Serverless Video Workflows
CTD405_Building Serverless Video WorkflowsCTD405_Building Serverless Video Workflows
CTD405_Building Serverless Video WorkflowsAmazon Web Services
 
Innovations fueled by IoT and the Cloud
Innovations fueled by IoT and the CloudInnovations fueled by IoT and the Cloud
Innovations fueled by IoT and the CloudAdrian Hornsby
 
NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...
NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...
NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...Amazon Web Services
 
NEW LAUNCH! AWS IoT Analytics from Consumer IoT to Industrial IoT - IOT211 - ...
NEW LAUNCH! AWS IoT Analytics from Consumer IoT to Industrial IoT - IOT211 - ...NEW LAUNCH! AWS IoT Analytics from Consumer IoT to Industrial IoT - IOT211 - ...
NEW LAUNCH! AWS IoT Analytics from Consumer IoT to Industrial IoT - IOT211 - ...Amazon Web Services
 
An Introduction to AWS IoT - Web Summit Lisbon
An Introduction to AWS IoT - Web Summit LisbonAn Introduction to AWS IoT - Web Summit Lisbon
An Introduction to AWS IoT - Web Summit LisbonBoaz Ziniman
 
MBL306_Mobile State of the Union
MBL306_Mobile State of the UnionMBL306_Mobile State of the Union
MBL306_Mobile State of the UnionAmazon Web Services
 
State of Media and Whats New from AWS: LA Symposium 2018
State of Media and Whats New from AWS: LA Symposium 2018State of Media and Whats New from AWS: LA Symposium 2018
State of Media and Whats New from AWS: LA Symposium 2018Amazon Web Services
 
Building .NET-based Serverless Architectures and Running .NET Core Microservi...
Building .NET-based Serverless Architectures and Running .NET Core Microservi...Building .NET-based Serverless Architectures and Running .NET Core Microservi...
Building .NET-based Serverless Architectures and Running .NET Core Microservi...Amazon Web Services
 
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfDEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfAmazon Web Services
 
SRV336_Build a Serverless, Face-Recognizing IoT Security System with Amazon R...
SRV336_Build a Serverless, Face-Recognizing IoT Security System with Amazon R...SRV336_Build a Serverless, Face-Recognizing IoT Security System with Amazon R...
SRV336_Build a Serverless, Face-Recognizing IoT Security System with Amazon R...Amazon Web Services
 
Building secure and scalable mobile applications on AWS - AWS Summit Cape Tow...
Building secure and scalable mobile applications on AWS - AWS Summit Cape Tow...Building secure and scalable mobile applications on AWS - AWS Summit Cape Tow...
Building secure and scalable mobile applications on AWS - AWS Summit Cape Tow...Amazon Web Services
 
CON203_Driving Innovation with Containers
CON203_Driving Innovation with ContainersCON203_Driving Innovation with Containers
CON203_Driving Innovation with ContainersAmazon Web Services
 

Similaire à CTD303_Korea’s Largest OTT provider (20)

Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech TalksDeep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
 
IOT311_Customer Stories of Things, Cloud, and Analytics on AWS
IOT311_Customer Stories of Things, Cloud, and Analytics on AWSIOT311_Customer Stories of Things, Cloud, and Analytics on AWS
IOT311_Customer Stories of Things, Cloud, and Analytics on AWS
 
Podcasting on AWS – A Discussion on Everything from Production to Distributio...
Podcasting on AWS – A Discussion on Everything from Production to Distributio...Podcasting on AWS – A Discussion on Everything from Production to Distributio...
Podcasting on AWS – A Discussion on Everything from Production to Distributio...
 
NEW LAUNCH! Introducing Amazon Kinesis Video Streams - ABD216 - re:Invent 2017
NEW LAUNCH! Introducing Amazon Kinesis Video Streams - ABD216 - re:Invent 2017NEW LAUNCH! Introducing Amazon Kinesis Video Streams - ABD216 - re:Invent 2017
NEW LAUNCH! Introducing Amazon Kinesis Video Streams - ABD216 - re:Invent 2017
 
LA M and E Symposium Nov 2017 All decks.pdf
LA M and E Symposium Nov 2017 All decks.pdfLA M and E Symposium Nov 2017 All decks.pdf
LA M and E Symposium Nov 2017 All decks.pdf
 
Integrating Video in Mobile Apps and Websites - MBL308 - re:Invent 2017
Integrating Video in Mobile Apps and Websites - MBL308 - re:Invent 2017Integrating Video in Mobile Apps and Websites - MBL308 - re:Invent 2017
Integrating Video in Mobile Apps and Websites - MBL308 - re:Invent 2017
 
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...
 
CTD405_Building Serverless Video Workflows
CTD405_Building Serverless Video WorkflowsCTD405_Building Serverless Video Workflows
CTD405_Building Serverless Video Workflows
 
Innovations fueled by IoT and the Cloud
Innovations fueled by IoT and the CloudInnovations fueled by IoT and the Cloud
Innovations fueled by IoT and the Cloud
 
NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...
NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...
NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...
 
NEW LAUNCH! AWS IoT Analytics from Consumer IoT to Industrial IoT - IOT211 - ...
NEW LAUNCH! AWS IoT Analytics from Consumer IoT to Industrial IoT - IOT211 - ...NEW LAUNCH! AWS IoT Analytics from Consumer IoT to Industrial IoT - IOT211 - ...
NEW LAUNCH! AWS IoT Analytics from Consumer IoT to Industrial IoT - IOT211 - ...
 
Getting Started with AWS IoT
Getting Started with AWS IoTGetting Started with AWS IoT
Getting Started with AWS IoT
 
An Introduction to AWS IoT - Web Summit Lisbon
An Introduction to AWS IoT - Web Summit LisbonAn Introduction to AWS IoT - Web Summit Lisbon
An Introduction to AWS IoT - Web Summit Lisbon
 
MBL306_Mobile State of the Union
MBL306_Mobile State of the UnionMBL306_Mobile State of the Union
MBL306_Mobile State of the Union
 
State of Media and Whats New from AWS: LA Symposium 2018
State of Media and Whats New from AWS: LA Symposium 2018State of Media and Whats New from AWS: LA Symposium 2018
State of Media and Whats New from AWS: LA Symposium 2018
 
Building .NET-based Serverless Architectures and Running .NET Core Microservi...
Building .NET-based Serverless Architectures and Running .NET Core Microservi...Building .NET-based Serverless Architectures and Running .NET Core Microservi...
Building .NET-based Serverless Architectures and Running .NET Core Microservi...
 
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfDEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
 
SRV336_Build a Serverless, Face-Recognizing IoT Security System with Amazon R...
SRV336_Build a Serverless, Face-Recognizing IoT Security System with Amazon R...SRV336_Build a Serverless, Face-Recognizing IoT Security System with Amazon R...
SRV336_Build a Serverless, Face-Recognizing IoT Security System with Amazon R...
 
Building secure and scalable mobile applications on AWS - AWS Summit Cape Tow...
Building secure and scalable mobile applications on AWS - AWS Summit Cape Tow...Building secure and scalable mobile applications on AWS - AWS Summit Cape Tow...
Building secure and scalable mobile applications on AWS - AWS Summit Cape Tow...
 
CON203_Driving Innovation with Containers
CON203_Driving Innovation with ContainersCON203_Driving Innovation with Containers
CON203_Driving Innovation with Containers
 

Plus de 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
 

Plus de Amazon Web Services (20)

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

CTD303_Korea’s Largest OTT provider

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Case Study: POOQ Korea’s Largest OTT provider B r o a d c a s t s m o r e t h a n s i x t y f i v e , 2 4 / 7 L I V E c h a n n e l s , A l l u s i n g A W S S e r v i c e s F e l i x C h o – C T O , C o n t e n t A l l i a n c e P l a t f o r m K i W a o n K i m – S o l u t i o n s A r c h i t e c t , A m a z o n W e b S e r v i c e s C T D 3 0 3
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Agenda Building OTT services on AWS Brief introduction of “POOQ” Platform evolution history Head End platform on AWS Pooq 3.0, UHD & Beyond
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. MEDIA workloads on AWS……
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Okay, Benefits for OTT on AWS? • Move faster, allow AWS to invest on storage, compute • Try every idea, reduce time-to-market, drive up quickly • Scale and don’t build for the weekly 2 hour peak • Invest in Content • Ingest near content owner, serve close to consumer • Use resources for customer impacting features
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS has full set of features for OTT • File Transcoding (Elastic Transcoder, Elemental Server) • Live Transcoding (Elemental Live) • DNS (Route 53) • Content Caching close to the consumers (CDN; CloudFront) • Security Services (AWS Shield, WAF, …) • Computing Resources (EC2, Lambda, ECS, Lambda@Edge,…) • Storage Options (S3, EFS, EBS, …) • And… Serverless components (Step Functions, DynamoDB, SQS, …)
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Well architected live streaming on AWS https://aws.amazon.com/answers/media-entertainment/live-streaming/
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Video on Demand on AWS - Serverless https://aws.amazon.com/answers/media-entertainment/video-on-demand-on-aws/
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Building OTT service on AWS • Quickly Start from AWS CloudFormation templates • Innovation through AI services (Amazon Rekognition, Amazon Polly, etc.) • Fast improvement via CI/CD, using AWS code series services & 3rd party tools • Easily build global services using AWS Edge Services (CloudFront, Route 53, …) • Build Content/Data Lake on S3 for personalized content recommendation • Adopt new media technologies quickly by your own hands • Learn from real cases.
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Introducing Korea’s #1 OTT Player – POOQ Felix Cho, CTO of Content Alliance Platform
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ is OTT provider Joint venture between all 3 terrestrial broadcasting company KBS, MBC, SBS Founded at May 2012 Serving (As of Oct. 2017) 64 Live Broadcasting stream Over 160,000 VOD streaming About 6,000 Movie streaming About 620,000 Paid subscriber (Average price is USD $9 per customer) About 3,000,000 Registered users (We have ad-based streaming options) #1 Player on Korean OTT market
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ: Home Screen Full List: Dynamic contents curation via ‘multi-band’ API call
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ VOD: my watch list Live: my channel list VOD: Popular list
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ Curated list Live: Popular channel list
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ Curated Special Topic section VOD: Latest list Home Shopping Live list
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ VOD: Popular Drama list VOD: Popular Entertainment list VOD: Popular Talk Show & Documentary list
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ Radio: Popular Radio Channel list VOD: Popular International Drama list VOD: Popular International Documentary list
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ Movie: Curated list VOD: Curated animation list
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ VOD: Kids recommendation list Movie: All you can watch list
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ Movie: Machine learning based recommendation list Movie: Curated list
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ Movie: Curated list Cross device resume streaming
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ on multiple devices PC Web Mobile Web Android App Android OTT App (Google TV Platform) iOS App Samsung Smart TV App LG Smart TV App With supporting Chromecast
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Platform Evolution History
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 1.0: May 2012 Typical 3-tier Web service platform on IDC CDN & media handling was fully outsourced Note : Initial JV start with 2 different language base (from 2 different broadcasting company) PC Browser (Server Rendering) ASP.Net Web Server MS-SQL Database Meta Ingestion Mobile Client Mobile API Server (Java) Streaming H/E CDN Media Ingestion
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 1.0 Serve initial purpose Start exposing problems by subscriber growth and functional addition Database resource got saturated, local cache had it’s limitation No staging environment everything was real ASP.Net Web Server & Java API Server makes own implementation for same business logic Not easy make it consistent PC Browser (Server Rendering) ASP.Net Web Server MS-SQL Database Meta Ingestion Mobile Client Mobile API Server (Java) Streaming H/E CDN Media Ingestion
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 1.0 Scaling problem IDC & RDBMS makes it pretty difficult Limited functionality No personalization No user behavior data analysis No recommendation, …etc. PC Browser (Server Rendering) ASP.Net Web Server MS-SQL Database Meta Ingestion Mobile Client Mobile API Server (Java) Streaming H/E CDN Media Ingestion
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 2.0: June 2015 Project started at Nov. 2014 Goal: Cloud, Die hard platform, Personalization, API unification PC Browser (Client Rendering) ASP.Net API Server MS-SQL Database Meta Ingestion Mobile Client Streaming H/E CDN Media Ingestion Member Mongo DB Cluster Meta Mongo DB Cluster User Behavior Data Collector Kettle ETL Batch Cassandra DB Data Sync Spark Analysis Smart TV Client Datamart Mongo DB Cluster
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 2.0 Swagger based API (https://api20-docs.pooq.co.kr/)
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 2.0 From IDC to cloud Not AWS, no AWS Korea at the time Korean Privacy Law prohibit transfer personal information to other country (No cross border) Scale well Highest score was 280,000 users Personalization User Analysis (Based on user viewing information collection for every 10 sec.) Recommendation Cross device streaming resume API Unification Single implementation for single business logic PC Browser (Client Rendering) ASP.N et API Server MS-SQL Database Meta Ingestion Mobile Client Streaming H/ECDN Media Ingestion Member Mongo DB Cluster Meta Mongo DB Cluster User Behavior Data Collector Kettle ETL Batch Cassandra DB Data Sync Spark Analysi s Smart TV Client Datamart Mongo DB Cluster
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 2.0 – Under the hood API Unification Swagger based API design & documentation Swagger -> Github -> Jenkins CI workflow Mock data vs. Real data PC Browser (Client Rendering) ASP.N et API Server MS-SQL Database Meta Ingestion Mobile Client Streaming H/ECDN Media Ingestion Member Mongo DB Cluster Meta Mongo DB Cluster User Behavior Data Collector Kettle ETL Batch Cassandra DB Data Sync Spark Analysi s Smart TV Client Datamart Mongo DB Cluster ASP.Net API Server
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 2.0 – Under the hood Migration from RDBMS to NoSQL Multiple node mongo DB clusters Much better data resource bandwidth ETL tooling Rapid & reliable implementation of data transfer PC Browser (Client Rendering) ASP.N et API Server MS-SQL Database Meta Ingestion Mobile Client Streaming H/ECDN Media Ingestion Member Mongo DB Cluster Meta Mongo DB Cluster User Behavior Data Collector Kettle ETL Batch Cassandra DB Data Sync Spark Analysi s Smart TV Client Datamart Mongo DB Cluster MS-SQL Database Member Mongo DB Cluster Meta Mongo DB Cluster Kettle ETL Batch Data Sync
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 2.0 – Under the hood User Behavior Data Collector Proprietary implementation Collects user’s streaming status information for every 10 sec. Stored on Apache Cassandra DB About 7TByte/Day User Analysis Cross device streaming resume Recommendations (Using Apache Spark Mllib) My View list management Service Analysis About 50 types of business supporting data matrix report generation PC Browser (Client Rendering) ASP.N et API Server MS-SQL Database Meta Ingestion Mobile Client Streaming H/ECDN Media Ingestion Member Mongo DB Cluster Meta Mongo DB Cluster User Behavior Data Collector Kettle ETL Batch Cassandra DB Data Sync Spark Analysi s Smart TV Client Datamart Mongo DB Cluster User Behavior Data Collector Cassandra DB Spark Analysis Datamart Mongo DB Cluster
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 2.0 – The Result WBSC Premier 12 Semifinal Korea vs. Japan 551G CDN 280K Users
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 2.0 –Move to AWS, February, 2017 Reason: Better platform feature, Better management tools Took a month for migration Most time consuming task was data migration, server migration was smooth
  • 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Head End Platform on AWS
  • 36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Head End Platform: November 2016 Project started 3Q, 2016 First platform hosted on AWS Business and functional requirement to have own head end rises Desire for better service quality and diversification UHD/4K readiness Supported protocol: HLS, MPEG-DASH Supported codec: AVC(H.264), HEVC(H.265) Supported DRM: Widevine Classic, Widevine Module, Play Ready, Fair Play Support VBR streaming
  • 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Head End Platform: Transcoding Setup Type Resolution Codec Bitrate Profile Frame Rate Note Mobile 360p 480x270 H.264 250Kbps Main 29.97fps Chunk: 2 second GOP: 60 Frame, Closed 640x360 H.264 500Kbps HEVC 300Kbps General 480p 854x480 H.264 1Mbps HEVC 600Kbps High 720p 1280x720 H.264 2Mbps HEVC 1.2Mbps Super 1080p 1920x1080 H.264 5Mbps HEVC 3Mbps
  • 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Head End Platform: Live Streaming With AWS Elemental Live encoder Handles 64 Live streaming including audio-only channels Supporting: Live HLS, MPEG-DASH Client AWS Elemental Live External Live Feed (RTMP) AWS Live S3 bucket Protocol Muxer Live Proxy, Manifest Generator AWS Live Streaming CF Live Thumbnai l Generator AWS Live Thumbnai l CF External Radio Feed (RTMP) Wowza Radio DVR
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Live Streaming – Under the hood Live Feed & Elemental Live Encoder Receive feed from CP, as RTMP single stream Elemental Live Encoder transcode into multiple bit rate x screen resolution With master/backup transcoding Store on S3 – master & backup copy Client AWS Elemental Live External Live Feed (RTMP) AWS Live S3 bucket Protocol Muxer Live Proxy, Manifest Generator AWS Live Streaming CF Live Thumbnail Generator AWS Live Thumbnail CF External Radio Feed (RTMP) WowzaRadio DVR AWS Elemental Live External Live Feed (RTMP) AWS Live S3 bucket
  • 40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Live Streaming – Under the hood Protocol Muxer For HLS, timestamp adjustment For MPEG-DASH, convert TS into Fragmented MP4 Switch between master & backup for uninterrupted Service Live contents blocking for streaming rights control Uninterrupted streaming with master & backup source switching. Client AWS Elemental Live External Live Feed (RTMP) AWS Live S3 bucket Protocol Muxer Live Proxy, Manifest Generator AWS Live Streaming CF Live Thumbnail Generator AWS Live Thumbnail CF External Radio Feed (RTMP) WowzaRadio DVR Protocol Muxer
  • 41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Live Streaming – Under the hood Live Proxy & Manifest Generator Act as CloudFront’s end point Also generate live m3u8 manifest file on the fly Client AWS Elemental Live External Live Feed (RTMP) AWS Live S3 bucket Protocol Muxer Live Proxy, Manifest Generator AWS Live Streaming CF Live Thumbnail Generator AWS Live Thumbnail CF External Radio Feed (RTMP) WowzaRadio DVR Live Proxy, Manifest Generator
  • 42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Live Streaming – Under the hood Radio channels Elemental Live Encoder does not support audio only (As of implementation time) Dedicated wowza server & DVR to generate TS files Client AWS Elemental Live External Live Feed (RTMP) AWS Live S3 bucket Protocol Muxer Live Proxy, Manifest Generator AWS Live Streaming CF Live Thumbnail Generator AWS Live Thumbnail CF External Radio Feed (RTMP) WowzaRadio DVR External Radio Feed (RTMP) WowzaRadio DVR
  • 43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Live Streaming – Under the hood Live Thumbnails Generate Screen snapshot image for client display Client AWS Elemental Live External Live Feed (RTMP) AWS Live S3 bucket Protocol Muxer Live Proxy, Manifest Generator AWS Live Streaming CF Live Thumbnail Generator AWS Live Thumbnail CF External Radio Feed (RTMP) WowzaRadio DVR Live Thumbnail Generator
  • 44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Live: OnAir VOD VOD service while broadcasting online Using stored TS chunk & end time update API Keep live TS for up to 1 month, control per channel Client Player AWS CF OnAir API Live TS on S3 (real-time adding) Long m3u8 (2hr for drama) 1) Start as normal HLS streaming 2) Ask for how far it can stream 3) Response: stream for specific end time Contains pre-defined TS name list
  • 45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Head End Platform: VOD With proprietary VOD Ingest Worker (Based on FFMPEG) Session-based watermarking technology Client VOD Ingest Worker TV VOD (HTTP Pull) AWS Vod S3 bucket AWS VOD Streaming CF Movie Watermarkin g Embedder Movie VOD (FTP Push) Movie Ingest G/W Signed URL Generator
  • 46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. VOD – Under the hood VOD Ingest HTTP Pull for TV VOD FTP Push for Movie Based on different business requirement Clien t VOD Ingest Worker TV VOD (HTTP Pull) AWS Vod S3 bucket AWS VOD Streaming CF Movie Watermarkin g Embedder Movie VOD (FTP Push) Movie Ingest G/W Signed URL Generator TV VOD (HTTP Pull) Movie VOD (FTP Push) Movie Ingest G/W
  • 47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. VOD – Under the hood VOD Ingest Worker Proprietary transcoder based on FFMPEG Transcode single source into multiple bit rate X resolution with VBR support Utilize AWS Spot instance for cost-effectiveness Try with 2 C4 & 2 M4 instance, whichever cheaper Clien t VOD Ingest Worker TV VOD (HTTP Pull) AWS Vod S3 bucket AWS VOD Streaming CF Movie Watermarkin g Embedder Movie VOD (FTP Push) Movie Ingest G/W Signed URL Generator VOD Ingest Worker
  • 48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. VOD – Under the hood VOD S3 Bucket Store Segmented files Per bitrate, resolution This makes streaming quite easy – everything is ready Clien t VOD Ingest Worker TV VOD (HTTP Pull) AWS Vod S3 bucket AWS VOD Streaming CF Movie Watermarkin g Embedder Movie VOD (FTP Push) Movie Ingest G/W Signed URL Generator AWS Vod S3 bucket
  • 49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. VOD – Under the hood VOD Watermarking Embedder Session based watermarking Can identify which user captured at post mortem Clien t VOD Ingest Worker TV VOD (HTTP Pull) AWS Vod S3 bucket AWS VOD Streaming CF Movie Watermarkin g Embedder Movie VOD (FTP Push) Movie Ingest G/W Signed URL Generator TS with bit ‘1’ Embedded AWS CF Client Movie Watermarkin gEmbedder TS with bit ‘0’ Embedded User Information embedded streaming Movie Watermarking Embedder
  • 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. VOD – Under the hood Signed URL Generator Some client device cannot use Signed Cookie Clien t VOD Ingest Worker TV VOD (HTTP Pull) AWS Vod S3 bucket AWS VOD Streaming CF Movie Watermarkin g Embedder Movie VOD (FTP Push) Movie Ingest G/W Signed URL Generator Signed URL Generator
  • 51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Head End Platform – Behind Story First Korean customer case for Elemental Cloud Live Also, this was first time using CloudFront for us Lots of hiccups during implementation So let’s talk about it
  • 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Behind Story: Mobile Network Throttling All Korean mobile operators implement network bandwidth throttling to limit customer’s daily/monthly usage One company implemented in strange way Customer on that mobile network could not stream, lots of buffering Looks like they are using transparent proxy Time Bandwidth Limit Time Bandwidth Limit Normal way Funny way This was not happening when we were using that company’s CDN Solution: Make all streaming as HTTPS & VBR
  • 53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Behind Story: Securing streaming Initially, client IP address was part of authentication with CloudFront’s signed cookie and signed URL Got complaint from certain customers who works for government: Unable to stream Investigation reveal interesting fact: Government office has interesting proxy/firewall scheme AWS CF Government Office Security Module Customer at government officeBrowsing & Streaming Request using multiple Public IP randomly Solution: Solved. Restriction apply with C class IP block.
  • 54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Behind Story: Streaming Incompatible Several incoming RTMP streaming cause trouble with Elemental Live Encoder Further investigation reveals that quite many encoder/transcoder installed by CPs are transmitting non - standard data inside streaming. Elemental Live Encoder CP’s Encoder RTMP Streaming With faulty data Solution: With dedicated support from Elemental’s support, situation had solved with software patch (On Elemental Cloud Encoder)
  • 55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Behind Story: Cross border streaming Some Internet provider/mobile provider’s network was not working with CloudFront. LAX, NRT, HKG CloudFront Edges are getting hit. Lots of buffered streaming. Client ICN Suspected some DNS server’s configuration was not correct. However neither Contents Alliance Planform nor AWS has power to change it. Solution: Not 100% solved. Gets better with AWS’s CloudFront tweaking. With ABR streaming, now customer almost not able to notice if it happens. Inside Korea HKG NRT LAX Abnormal
  • 56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Well documented Decent engineering support in general Stable and mature If something is not working, probably we did it wrong Absent of local support engineer Problem solving tend to be slow Lack of notice/announcement about system upgrade Caused streaming breakdown Could not prepare/monitor beforehand C o n sP r o s CloudFront: Pros & Cons
  • 57. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 3.0, UHD & Beyond
  • 58. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 3.0: ETA March 2018 Project started at September 2017 Goal: Docker, Microservice, Message Event Based Architecture, Flexible Marketing, Machine Learning PC Browser (Client Rendering) Meta Ingestion Mobile Client POOQ Streaming H/E Media Ingestion Data Sync Smart TV Client AWSCF Kubernetes Kong API API … Member MongoDB Contents MongoDB User Behavior Data Collector ApacheKafka MessageBroker Member MSSQL Machine Learning Contents MariaDB Marketing MongoDB Cassandra DB DataLake S3 Kettle ETL Marketing Engine AWS EMR Data Analysis Marketing Planner
  • 59. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 3.0 – Under the hood Docker based Microservice Increase development & deploy efficiency Auto scale on different level Polyglot development environment Circuit Breaker, Local Cache in framework Select 5 languages: Java, C#, Javascript, Python, Golang Kubernetes Open Source Operation Team’s favorite Kong API Gateway Initially AWS API Gateway was selected Hit maximum of 50 LBs per VPC (Kubernetes with AWS API Gateway case) Had to look for other way and select Kong PC Browser (Client Rendering) Meta Ingestion Mobile Client POOQ Streaming H/E Media Ingestion Data Sync Smart TV Client AWSCF Kubernetes Kon g API API … Member MongoD B Contents MongoD B User Behavior Data Collector ApacheKafka MessageBroker Member MSSQL Machine Learning Contents MariaDB Marketin g MongoD B Cassandr aDB DataLake S3 Kettle ETL Marketin g Engine AWS EMR Data Analysis Marketing Planner Kubernetes Kong API API …
  • 60. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 3.0 – Under the hood Apache Kafka Message Broker Centralized, Standardized Messaging Mechanism Can store messages for long time (Default is 7 days) All user activity will store via Kafka (API log, Click log) PC Browser (Client Rendering) Meta Ingestion Mobile Client POOQ Streaming H/E Media Ingestion Data Sync Smart TV Client AWSCF Kubernetes Kon g API API … Member MongoD B Contents MongoD B User Behavior Data Collector ApacheKafka MessageBroker Member MSSQL Machine Learning Contents MariaDB Marketin g MongoD B Cassandr aDB DataLake S3 Kettle ETL Marketin g Engine AWS EMR Data Analysis Marketing Planner ApacheKafka MessageBroker
  • 61. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 3.0 – Under the hood Marketing campaign engine Monitor full user activity via Kafka for specific threshold Activate pre-designed campaign (Like discounted subscription offer) From code based to rule based PC Browser (Client Rendering) Meta Ingestion Mobile Client POOQ Streaming H/E Media Ingestion Data Sync Smart TV Client AWSCF Kubernetes Kon g API API … Member MongoD B Contents MongoD B User Behavior Data Collector ApacheKafka MessageBroker Member MSSQL Machine Learning Contents MariaDB Marketin g MongoD B Cassandr aDB DataLake S3 Kettle ETL Marketin g Engine AWS EMR Data Analysis Marketing Planner Marketing MongoDB Marketing Engine Marketing Planner
  • 62. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 3.0 – Under the hood Revamped data analysis engine ‘Data Lake’ concept Longer data storage with S3 PC Browser (Client Rendering) Meta Ingestion Mobile Client POOQ Streaming H/E Media Ingestion Data Sync Smart TV Client AWSCF Kubernetes Kon g API API … Member MongoD B Contents MongoD B User Behavior Data Collector ApacheKafka MessageBroker Member MSSQL Machine Learning Contents MariaDB Marketin g MongoD B Cassandr aDB DataLake S3 Kettle ETL Marketin g Engine AWS EMR Data Analysis Marketing Planner DataLake S3 AWS EMR Data Analysis
  • 63. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. POOQ 3.0 – Under the hood Integrating machine learning Still early stage, long way to go Initial goals are; Scene keyword detection Celebrity face identification Contents related article analysis Outsourcing online API service provider for initial service Evaluating between: AWS Rekognition and Clarifai Utilizing Google Tensorflow as in-house tool PC Browser (Client Rendering) Meta Ingestion Mobile Client POOQ Streaming H/E Media Ingestion Data Sync Smart TV Client AWSCF Kubernetes Kon g API API … Member MongoD B Contents MongoD B User Behavior Data Collector ApacheKafka MessageBroker Member MSSQL Machine Learning Contents MariaDB Marketin g MongoD B Cassandr aDB DataLake S3 Kettle ETL Marketin g Engine AWS EMR Data Analysis Marketing Planner Machine Learning
  • 64. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. UHD: ETA February, 2018 Korea start UHD terrestrial broadcasting at 31th May, 2017 Select ATSC-3.0 as standard POOQ is testing & building UHD streaming service Initial target is Pyungchang Olympic Type Resolution Codec Bitrate Profile Frame Rate Note Super 1080p 1920x108 0 HEVC 4Mbps Main10 59.94fps Chunk: 2 second GOP: 120 Frame, Closed UHD 2160p 3840x216 0 HEVC 8Mbps HEVC 15Mbps
  • 65. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. UHD: Live On Site Live Encoder CP generate full range of bitrate & resolution on-site Elemental Cloud Live Encoder does not have powerful enough machine yet (Using 128 V-Core machine can do single channel but that’s way too expensive) POOQ Head End S3 Transit On Site Live Encoder (Elemental Box) 2 Second TS File Push Generate full range of bitrate
  • 66. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Beyond: What’s next? HDR support Alliance for Open Media AV1 Codec support POOQ 3.0 Enhancement Bring machine learning in-house Request for AWS: Need faster CloudFront for higher bit rate UHD streaming
  • 67. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. THANK YOU! C a s t S t u d y : P O O Q , K o r e a ’ s L a r g e s t O T T p r o v i d e r C T D 3 0 3