SlideShare a Scribd company logo
1 of 81
Download to read offline
101
Streaming Reliability Engineering
Yusuke Goto @ AbemaTV, Inc.   
Yusuke Goto
五藤 佑典
https://ygoto3.com/
@ygoto3_
● Majored in Graphic Design at California State University, San Bernardino
● Software engineer @ CyberAgent, Inc. and AbemaTV, Inc.
● CyberAgent, Inc.
○ A Developer Expert in video technology and product design
● AbemaTV, Inc.
○ Lead Video Streaming Client Engineering team
○ Lead Cross Device Engineering team
in Video Technology and Product Design
Internet media
● Blogging platform
● Music streaming
● Game
● Curation
● Ad product
Development
● Ad agency
Broadcasting
● News
● Documentary
● Drama
● Anime
● Sports
● Music
● Movies
- Internet TV station -
20+ channels * 24/7 + 30,000 Episodes Always Available
20+ Channels 24/7 EPG
* Japan’s biggest content library
2.3 Tbps (via Akamai’s Adaptive Media Delivery)
updated Japan’s highest traffic on July 9th, 2019.
We’re Reinventing the TV, Making it Extremely Convenient
Professional news
Live streaming
Simultaneity
Anywhere
● Phones
● TVs
● Desktops
● Tablets
● Smart Speakers
● Smart Displays
Anytime
● Timeshift playback
● Catchup playback
● Double-speed
playback
https://abema.tv/
Why Reliability Engineering is Important
● Keep creating new service values by challenging technical edges
● Keep our service reliable all the time
Our limited resource
Development
? %
Operation
? %
Why Reliability Engineering is Important
● Keep creating new values by challenging technical edges
● Keep our system available all the time
Our limited resource
Development
? %
Operation
? %
Reliability engineering gives us a way to decide
the balance between development and operation
W/o Reliability Engineering
● Quality improvement depends on an individual’s ownership
● Confusion by subjective reviews from app stores and SNS
● Gradually degraded service quality can be ignored
W/o Reliability Engineering
● Quality improvement depends on an individual’s ownership
● Confusion by subjective reviews from app stores and SNS
● Gradually degraded service quality can be ignored
As a result,
reliability will be lost
Google’s SRE Practice
The ideas of Google’s SRE practice can be applied to video streaming
https://sre.google/books/
Streaming Reliability Engineering
Not Site Reliability Engineering
● We consider it to be a part of Site Reliability Engineering
● A reliability engineering part which requires domain knowledge in video
streaming
Defining the Video Streaming Level
When can you say your video streaming service is reliable enough?
Service Level Terminologies
● Service Level Indicators a.k.a. SLI
○ a carefully defined quantitative measure of some aspect of the level of service that is provided
● Service Level Objectives a.k.a. SLO
○ a target value or range of values for a service level that is measured by an SLI
● Service Level Agreements a.k.a. SLA
○ an explicit or implicit contract with your users that includes consequences of meeting (or
missing) the SLOs they contain
This is an example of how
a video streaming service tries
Reliability Engineering
Defining Video Streaming SLOs
Based on which playback behaviors really matter to a user
Key questions: Does a viewer
● Succeed to start watching the content?
● Smoothly watch the whole content with no interruption?
● Watch the content in a good video quality?
● Not wait long for the content to start playing?
Defining Video Streaming SLOs
Does a viewer succeed to start watching the content?
● The most critical question
● It matters regardless of usecase type
● If a viewer fails, it means we fail to provide no value as a video streaming
service
Defining Video Streaming SLOs
Does a viewer smoothly watch the whole content with no interruption?
● The second most critical question
● It matters regardless of usecase type
● If a viewer doesn’t, it means we give him or her a stressful experience
Defining Video Streaming SLOs
Does a viewer watch the content in a good video quality?
● The question differentiates ABEMA from others
● 2 types of video quality
○ Resolution
■ Matters most when watching it on a big screen
○ Encoding
■ Matters regardless of usecase type
● If its quality is not satisfactory, it means we possibly get him or her away from
our service
We’re Reinventing the TV, but Extremely Convenient
Professional news
Live streaming
Simultaneity
Anywhere
● Phones
● TVs
● Desktops
● Tablets
● Smart Speakers
● Smart Displays
Anytime
● Timeshift playback
● Chasing playback
● Double-speed
playback
Various Types of Usecases
● Phones
● Tablets
● TVs
● Web on Desktops
● Web on Phones
● Smart Speakers
● Smart Displays
Defining Video Streaming SLOs
Does a viewer not wait long for the content to start playing?
● It matters most when a viewer zaps channels
○ Essential experience of TV
● If a viewer waits long, it means we fail to provide value equivalent to the TV
broadcasting
Converting Key Questions into Indicators
Does a viewer succeed to start watching the content?
Startup Success Rate
Converting Key Questions into Indicators
Does a viewer succeed to start watching the content?
Startup Success Rate
Converting Key Questions into Indicators
Does a viewer smoothly watch the whole content with no interruption?
Successful Playback Rate
Converting Key Questions into Indicators
Does a viewer smoothly watch the whole content with no interruption?
Successful Playback Rate
Converting Key Questions into Indicators
Does a viewer watch the content in a good video quality?
Rendition Distribution Success Rate
Video Quality MOS Success Rate
Converting Key Questions into Indicators
Does a viewer watch the content in a good video quality?
Rendition Distribution Success Rate
Video Quality MOS Success Rate
The indicator is about the
video resolution
Converting Key Questions into Indicators
We used to value other indicators :
● Round-Trip Time
● Bandwidth
● Bitrate
● Throughput
Converting Key Questions into Indicators
We used to value other indicators :
● Round-Trip Time
● Bandwidth
● Bitrate
● Throughput
A user doesn’t care even if these are bad
Converting Key Questions into Indicators
We used to value other indicators :
● Round-Trip Time
● Bandwidth
● Bitrate
● Throughput
A user doesn’t care even if these are bad
A user cares the video’s resolution !
Converting Key Questions into Indicators
Rendition Distribution Success Rate A more user-centric indicator
Converting Key Questions into Indicators
Rendition Distribution Success Rate A more user-centric indicator
How often we provide the preferable rendition matters
regarding the video quality
Converting Key Questions into Indicators
Rendition Distribution Success Rate A more user-centric indicator
Converting Key Questions into Indicators
Does a viewer not wait long for the content to start playing?
Join Time Success Rate
Categorizing the SLIs
Indicators for QoS
(Quality of Service)
● Startup Success Rate
● Successful Playback Rate
Indicators for QoE
(Quality of Experience)
● Rendition Distribution
Success Rate
● Video Quality MOS
Success Rate
● Join Time Success Rate
Video Streaming SLIs Video Streaming SLOs
What do SLOs mean?
When an SLO is not met:
● Our service loses users’ trust
● An SLO should trigger an action to reachieve it
● The priority of taking back reliability should be higher than that of developing
a new feature
Defining Video Streaming SLOs
1. Collect the current facts
2. Decide a threshold for each SLI in order to keep the current service level
3. Decide your ideal objectives which we should aim in a longer period
Creating SLO Document
Category SLI SLO
QoS Startup Success Rate 99%
QoS Smooth Playback Success Rate 99%
QoE Rendition Distribution Success (>= 1080p 60%) Rate
for TV
90%
QoE Video Quality MOS Success (>= 3.0) Rate 90%
QoE Join Time Success (<= 3 secs) Rate
for Linear
75%
Updating SLO Document towards Your Ideal Objectives
Category SLI SLO
QoS Startup Success Rate 99.99%
QoS Smooth Playback Success Rate 99%
QoE Rendition Distribution Success (>= 1080p 80%) Rate
for TV / Desktop
90%
QoE Video Quality MOS Success (>= 4.0) Rate 90%
QoE Join Time Success (<= 2 secs) Rate
for Linear
90%
Deciding an Internal SLAs
More like agreements between developers and business owners
Collecting Indicators from Monitoring Metrics
● # of Startup Errors
● # of In-Stream Errors
● Rendition Distribution
● Join Time
● Video Quality MOS
It’s time to challenge the new technical experiments
while your SLOs are met ...
Now we need to prevent SLIs from being degraded
as time passes
Practices to Keep Achieving SLOs
● Alerting on SLOs
○ Respond to problems before you consume too much of your error budget
● Change Management
○ Take a good care of uncontrollable changes on your users’ environments
● Fallback Strategies
○ Make an aggressive stream less risky
Alerting on SLOs
The simplest way to set an alert is simply too fragile.
Target Error Rate ≥ SLO Threshold
Target Error Rate ≥ SLO Threshold
has too many false positive alerts
https://sre.google/workbook/alerting-on-slos/
We better focus only on significant alerts,
We better focus only on significant alerts,
or we will be exhausted very soon..
A Significant Event
An event that consumes a large fraction of the error budge
Not this Not this
A Significant Event
An unsiginificant event could blind
responders with visibly loud noise
A Significant Event
Of course paging is worse
under such situation...
Introducing Burn Rate Strategy
It alerts only when a error budget spend is significant enough
https://sre.google/workbook/alerting-on-slos/
Change Management
Staged Rollout + Experimentation
Alpha / Beta
(internal developers
/ opt-in users)
Staged rollout
Production
(100% of users)
1% 50%
10%
50%
A/B Testing
Ephemeral Change Management
Take a good care of uncontrollable changes on your users’ environments
● App version updates
● OS version updates
● Firmware updates
● Brand-new hardware releases
● Automatic SDK updates
● Combinations of updates
App version updates
Product Engineering Team Video Engineering Team
App version updates
Product Engineering Team Video Engineering Team
Releases a new version
App version updates
Product Engineering Team Video Engineering Team
Releases a new version Could affect video playback
App version updates
Product Engineering Team Video Engineering Team
Releases a new version
App version updates
Product Engineering Team Video Engineering Team
Releases a new version Sets alerts on the latest version
App version updates
Product Engineering Team Video Engineering Team
Releases a new version Sets alerts on the latest version
Segmented alert
Automatic SDK updates
IMA SDK
Uses
Native Bridge
JavaScript
Refers
Automatic SDK updates
IMA SDK
Uses
Native Bridge
JavaScript
Native Bridge
JavaScript
New !
Refers
Automatic SDK updates
IMA SDK
Uses
Native Bridge
JavaScript
Native Bridge
JavaScript
Native Bridge
JavaScript
New !
Refers
Automatic SDK updates
Once it happens, patch the uncovered pitfall
to make sure at least the same problem won’t
happen again.
Combinations of updates
Uses
Latest
Firmware
Old
Firmware
CAF
Receiver SDK
CAF
Receiver SDK
Automatic update Automatic update
Combinations of updates
Uses
Old
Firmware
Latest
Firmware
Old
Firmware
CAF
Receiver SDK
CAF
Receiver SDK
Automatic update Automatic update
Stop
Updating
Combinations of updates
CAF
Receiver SDK
CAF
Receiver SDK
CAF
Receiver SDK
Automatic update
Old
Firmware
Latest
Firmware
Old
Firmware
Automatic update
Stop
Updating
Fallback Strategy: Aggressive stream to Safe Stream
Modifying clients so that aggressive failures are less likely to cause user harm
Aggressive video stream - Low-latency news
Pros:
● A viewer watches news contents close to the real time
● Knowing what happens right now can save people’s lives during a disaster
Cons:
● Shorter segment length => Less buffering length => More rebuffering events
Aggressive video stream - Ad-personalized linear
Pros:
● A viewer watches potentially more interesting ads
○ Viewers and advertisers are both happy
Cons:
● High load on deciding personalized ads => Streams could be unstable
Fallback Strategy: Aggressive stream to Safe Stream
Modifying clients so that aggressive failures are less likely to cause user harm
Fallback Strategy: Aggressive stream to Safe Stream
Modifying clients so that aggressive failures are less likely to cause user harm
If a viewer watching an aggressive stream experiences
● Rebuffer Events
● Startup Errors
● In-Stream Errors
x times in y seconds,
then the player automatically switches to a safe stream
Fallback Strategy: Aggressive stream to Safe Stream
Modifying clients so that aggressive failures are less likely to cause user harm
If a viewer watching an aggressive stream experiences
● Rebuffer Events
● Startup Errors
● In-Stream Errors
x times in y seconds,
then the player automatically switches to a safe stream
A fallback strategy makes
aggressive video streams safer
in a user’s environment
Conclusion
● Reliability engineering is an essential strategy for service innovation
● Applying reliability engineering to a video streaming service is hard
● Some practices work fine and others don’t for your service
○ Find your own practice
○ The example here is far from perfect - we keep exploring further
● No option but more practices
Yusuke Goto
五藤 佑典
https://ygoto3.com/
@ygoto3_
Thank you !

More Related Content

What's hot

Fargateを使いこなす!creatiaのインフラを支える技術について
Fargateを使いこなす!creatiaのインフラを支える技術についてFargateを使いこなす!creatiaのインフラを支える技術について
Fargateを使いこなす!creatiaのインフラを支える技術について虎の穴 開発室
 
Tokyo Video Tech #2 動画配信の課題とCMAF活用のメリットデメリット
Tokyo Video Tech #2 動画配信の課題とCMAF活用のメリットデメリットTokyo Video Tech #2 動画配信の課題とCMAF活用のメリットデメリット
Tokyo Video Tech #2 動画配信の課題とCMAF活用のメリットデメリットMasashi Ito
 
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるHTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるGaprot
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解するIIJ
 
WebRTCがよく分からないから調べて試してみた
WebRTCがよく分からないから調べて試してみたWebRTCがよく分からないから調べて試してみた
WebRTCがよく分からないから調べて試してみたtoru tom
 
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Shinya Mori (@mosuke5)
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】DeNA
 
AbemaTVのアーキテクチャの変遷 / AbemaTV DevCon 2018 TrackA Session A2
AbemaTVのアーキテクチャの変遷 / AbemaTV DevCon 2018 TrackA Session A2AbemaTVのアーキテクチャの変遷 / AbemaTV DevCon 2018 TrackA Session A2
AbemaTVのアーキテクチャの変遷 / AbemaTV DevCon 2018 TrackA Session A2AbemaTV, Inc.
 
2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向Yusuke Goto
 
Inside WebM
Inside WebMInside WebM
Inside WebMmganeko
 
放送を取り巻く最新動画配信技術
放送を取り巻く最新動画配信技術放送を取り巻く最新動画配信技術
放送を取り巻く最新動画配信技術Masashi Ito
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験樽八 仲川
 
DeNAの大規模ライブ配信基盤を支える技術
DeNAの大規模ライブ配信基盤を支える技術DeNAの大規模ライブ配信基盤を支える技術
DeNAの大規模ライブ配信基盤を支える技術DeNA
 
HTML5時代のネット動画技術〜良い子悪い子普通の子(増補改訂版)
HTML5時代のネット動画技術〜良い子悪い子普通の子(増補改訂版)HTML5時代のネット動画技術〜良い子悪い子普通の子(増補改訂版)
HTML5時代のネット動画技術〜良い子悪い子普通の子(増補改訂版)Teiichi Ota
 
ウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_wsウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_wsYusuke Suzuki
 
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:capAmazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:capAmazon Web Services Japan
 
20180612 AWS Black Belt Online Seminar AWS で実現するライブ動画配信とリアルタイムチャットのアーキテクチャパターン
20180612 AWS Black Belt Online Seminar AWS で実現するライブ動画配信とリアルタイムチャットのアーキテクチャパターン20180612 AWS Black Belt Online Seminar AWS で実現するライブ動画配信とリアルタイムチャットのアーキテクチャパターン
20180612 AWS Black Belt Online Seminar AWS で実現するライブ動画配信とリアルタイムチャットのアーキテクチャパターンAmazon Web Services Japan
 
監視 Overview
監視 Overview監視 Overview
監視 OverviewIIJ
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 

What's hot (20)

Fargateを使いこなす!creatiaのインフラを支える技術について
Fargateを使いこなす!creatiaのインフラを支える技術についてFargateを使いこなす!creatiaのインフラを支える技術について
Fargateを使いこなす!creatiaのインフラを支える技術について
 
Tokyo Video Tech #2 動画配信の課題とCMAF活用のメリットデメリット
Tokyo Video Tech #2 動画配信の課題とCMAF活用のメリットデメリットTokyo Video Tech #2 動画配信の課題とCMAF活用のメリットデメリット
Tokyo Video Tech #2 動画配信の課題とCMAF活用のメリットデメリット
 
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるHTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解する
 
WebRTCがよく分からないから調べて試してみた
WebRTCがよく分からないから調べて試してみたWebRTCがよく分からないから調べて試してみた
WebRTCがよく分からないから調べて試してみた
 
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
 
AbemaTVのアーキテクチャの変遷 / AbemaTV DevCon 2018 TrackA Session A2
AbemaTVのアーキテクチャの変遷 / AbemaTV DevCon 2018 TrackA Session A2AbemaTVのアーキテクチャの変遷 / AbemaTV DevCon 2018 TrackA Session A2
AbemaTVのアーキテクチャの変遷 / AbemaTV DevCon 2018 TrackA Session A2
 
2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向
 
Inside WebM
Inside WebMInside WebM
Inside WebM
 
放送を取り巻く最新動画配信技術
放送を取り巻く最新動画配信技術放送を取り巻く最新動画配信技術
放送を取り巻く最新動画配信技術
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験
 
DeNAの大規模ライブ配信基盤を支える技術
DeNAの大規模ライブ配信基盤を支える技術DeNAの大規模ライブ配信基盤を支える技術
DeNAの大規模ライブ配信基盤を支える技術
 
HTML5時代のネット動画技術〜良い子悪い子普通の子(増補改訂版)
HTML5時代のネット動画技術〜良い子悪い子普通の子(増補改訂版)HTML5時代のネット動画技術〜良い子悪い子普通の子(増補改訂版)
HTML5時代のネット動画技術〜良い子悪い子普通の子(増補改訂版)
 
ウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_wsウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_ws
 
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:capAmazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
 
20180612 AWS Black Belt Online Seminar AWS で実現するライブ動画配信とリアルタイムチャットのアーキテクチャパターン
20180612 AWS Black Belt Online Seminar AWS で実現するライブ動画配信とリアルタイムチャットのアーキテクチャパターン20180612 AWS Black Belt Online Seminar AWS で実現するライブ動画配信とリアルタイムチャットのアーキテクチャパターン
20180612 AWS Black Belt Online Seminar AWS で実現するライブ動画配信とリアルタイムチャットのアーキテクチャパターン
 
監視 Overview
監視 Overview監視 Overview
監視 Overview
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 

Similar to Streaming Reliability Engineering

Building turn-key recommendations for 5% of internet video
Building turn-key recommendations for 5% of internet videoBuilding turn-key recommendations for 5% of internet video
Building turn-key recommendations for 5% of internet videoNir Yungster
 
DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"
DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"
DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"Dakiry
 
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...Perfecto by Perforce
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseXebiaLabs
 
Metrics & Challenges for Testing Streaming Applications in 2019
Metrics & Challenges for Testing Streaming Applications in 2019Metrics & Challenges for Testing Streaming Applications in 2019
Metrics & Challenges for Testing Streaming Applications in 2019Sarah Elson
 
Video Recommendation Engines as a Service
Video Recommendation Engines as a ServiceVideo Recommendation Engines as a Service
Video Recommendation Engines as a ServiceKamil Sindi
 
There's a fix for that: Top 5 OTT challenges & how to resolve them
There's a fix for that: Top 5 OTT challenges & how to resolve themThere's a fix for that: Top 5 OTT challenges & how to resolve them
There's a fix for that: Top 5 OTT challenges & how to resolve themBitmovin Inc
 
Voice Dubbing Automation
Voice Dubbing AutomationVoice Dubbing Automation
Voice Dubbing AutomationUtkarsh Agrawal
 
Google Analytics Video Event Tracking
Google Analytics Video Event TrackingGoogle Analytics Video Event Tracking
Google Analytics Video Event TrackingViddler Inc.
 
How to succeed with video on WordPress
How to succeed with video on WordPressHow to succeed with video on WordPress
How to succeed with video on WordPressWP Engine
 
Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)Paul Boocock
 
Remote Video Production as a Service?
Remote Video Production as a Service?Remote Video Production as a Service?
Remote Video Production as a Service?Paul Richards
 
Interactive video dg adexcite
Interactive video dg adexciteInteractive video dg adexcite
Interactive video dg adexcitekbcorey
 
Control Your Video App's Destiny: Managing your post-launch D2C strategy
Control Your Video App's Destiny: Managing your post-launch D2C strategyControl Your Video App's Destiny: Managing your post-launch D2C strategy
Control Your Video App's Destiny: Managing your post-launch D2C strategyJoshua Shulman, MA
 
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That MatterBitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That MatterBitmovin Inc
 
Developing Quality Products Quickly through a Culture of CI/CD
Developing Quality Products Quickly through a Culture of CI/CDDeveloping Quality Products Quickly through a Culture of CI/CD
Developing Quality Products Quickly through a Culture of CI/CDPaul Hepworth
 
The Future of Video Player Accessibility
The Future of Video Player AccessibilityThe Future of Video Player Accessibility
The Future of Video Player Accessibility3Play Media
 

Similar to Streaming Reliability Engineering (20)

Building turn-key recommendations for 5% of internet video
Building turn-key recommendations for 5% of internet videoBuilding turn-key recommendations for 5% of internet video
Building turn-key recommendations for 5% of internet video
 
DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"
DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"
DaKiRY_BAQ2016_QADay_Анна Берднік "Main aspects of TV Everywhere testing"
 
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the Enterprise
 
Gaming Testing
Gaming TestingGaming Testing
Gaming Testing
 
Metrics & Challenges for Testing Streaming Applications in 2019
Metrics & Challenges for Testing Streaming Applications in 2019Metrics & Challenges for Testing Streaming Applications in 2019
Metrics & Challenges for Testing Streaming Applications in 2019
 
Video Recommendation Engines as a Service
Video Recommendation Engines as a ServiceVideo Recommendation Engines as a Service
Video Recommendation Engines as a Service
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
There's a fix for that: Top 5 OTT challenges & how to resolve them
There's a fix for that: Top 5 OTT challenges & how to resolve themThere's a fix for that: Top 5 OTT challenges & how to resolve them
There's a fix for that: Top 5 OTT challenges & how to resolve them
 
Voice Dubbing Automation
Voice Dubbing AutomationVoice Dubbing Automation
Voice Dubbing Automation
 
Google Analytics Video Event Tracking
Google Analytics Video Event TrackingGoogle Analytics Video Event Tracking
Google Analytics Video Event Tracking
 
How to succeed with video on WordPress
How to succeed with video on WordPressHow to succeed with video on WordPress
How to succeed with video on WordPress
 
Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)
 
Remote Video Production as a Service?
Remote Video Production as a Service?Remote Video Production as a Service?
Remote Video Production as a Service?
 
Interactive video dg adexcite
Interactive video dg adexciteInteractive video dg adexcite
Interactive video dg adexcite
 
Control Your Video App's Destiny: Managing your post-launch D2C strategy
Control Your Video App's Destiny: Managing your post-launch D2C strategyControl Your Video App's Destiny: Managing your post-launch D2C strategy
Control Your Video App's Destiny: Managing your post-launch D2C strategy
 
Online Video Analytics in Digital Analytics Space by Harsh Kabra
Online Video Analytics in Digital Analytics Space by Harsh KabraOnline Video Analytics in Digital Analytics Space by Harsh Kabra
Online Video Analytics in Digital Analytics Space by Harsh Kabra
 
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That MatterBitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
 
Developing Quality Products Quickly through a Culture of CI/CD
Developing Quality Products Quickly through a Culture of CI/CDDeveloping Quality Products Quickly through a Culture of CI/CD
Developing Quality Products Quickly through a Culture of CI/CD
 
The Future of Video Player Accessibility
The Future of Video Player AccessibilityThe Future of Video Player Accessibility
The Future of Video Player Accessibility
 

More from Yusuke Goto

2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了Yusuke Goto
 
conte - ABEMA's Design System
conte - ABEMA's Design Systemconte - ABEMA's Design System
conte - ABEMA's Design SystemYusuke Goto
 
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...Yusuke Goto
 
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...Yusuke Goto
 
AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019Yusuke Goto
 
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話Yusuke Goto
 
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Yusuke Goto
 
AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0Yusuke Goto
 
Story-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするStory-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするYusuke Goto
 
KPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティKPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティYusuke Goto
 
Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術Yusuke Goto
 
既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフロー既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフローYusuke Goto
 
UI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic DesignUI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic DesignYusuke Goto
 
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...Yusuke Goto
 
NAB Show 2018 Notes
NAB Show 2018 NotesNAB Show 2018 Notes
NAB Show 2018 NotesYusuke Goto
 
フェーズに応じて育てるデザインシステム
フェーズに応じて育てるデザインシステムフェーズに応じて育てるデザインシステム
フェーズに応じて育てるデザインシステムYusuke Goto
 
Web ブラウザで DRM
Web ブラウザで DRMWeb ブラウザで DRM
Web ブラウザで DRMYusuke Goto
 
リニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドリニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドYusuke Goto
 
Atomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVAtomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVYusuke Goto
 
Componentization with Gilgamesh
Componentization with GilgameshComponentization with Gilgamesh
Componentization with GilgameshYusuke Goto
 

More from Yusuke Goto (20)

2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
 
conte - ABEMA's Design System
conte - ABEMA's Design Systemconte - ABEMA's Design System
conte - ABEMA's Design System
 
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
 
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
 
AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019
 
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
 
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
 
AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0
 
Story-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするStory-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインする
 
KPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティKPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティ
 
Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術
 
既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフロー既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフロー
 
UI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic DesignUI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic Design
 
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...
 
NAB Show 2018 Notes
NAB Show 2018 NotesNAB Show 2018 Notes
NAB Show 2018 Notes
 
フェーズに応じて育てるデザインシステム
フェーズに応じて育てるデザインシステムフェーズに応じて育てるデザインシステム
フェーズに応じて育てるデザインシステム
 
Web ブラウザで DRM
Web ブラウザで DRMWeb ブラウザで DRM
Web ブラウザで DRM
 
リニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドリニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンド
 
Atomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVAtomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTV
 
Componentization with Gilgamesh
Componentization with GilgameshComponentization with Gilgamesh
Componentization with Gilgamesh
 

Recently uploaded

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate productionChinnuNinan
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxVelmuruganTECE
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptbibisarnayak0
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectssuserb6619e
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 

Recently uploaded (20)

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate production
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptx
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.ppt
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 

Streaming Reliability Engineering

  • 1. 101 Streaming Reliability Engineering Yusuke Goto @ AbemaTV, Inc.   
  • 2. Yusuke Goto 五藤 佑典 https://ygoto3.com/ @ygoto3_ ● Majored in Graphic Design at California State University, San Bernardino ● Software engineer @ CyberAgent, Inc. and AbemaTV, Inc. ● CyberAgent, Inc. ○ A Developer Expert in video technology and product design ● AbemaTV, Inc. ○ Lead Video Streaming Client Engineering team ○ Lead Cross Device Engineering team
  • 3. in Video Technology and Product Design
  • 4. Internet media ● Blogging platform ● Music streaming ● Game ● Curation ● Ad product Development ● Ad agency Broadcasting ● News ● Documentary ● Drama ● Anime ● Sports ● Music ● Movies - Internet TV station -
  • 5.
  • 6. 20+ channels * 24/7 + 30,000 Episodes Always Available 20+ Channels 24/7 EPG * Japan’s biggest content library
  • 7. 2.3 Tbps (via Akamai’s Adaptive Media Delivery) updated Japan’s highest traffic on July 9th, 2019.
  • 8. We’re Reinventing the TV, Making it Extremely Convenient Professional news Live streaming Simultaneity Anywhere ● Phones ● TVs ● Desktops ● Tablets ● Smart Speakers ● Smart Displays Anytime ● Timeshift playback ● Catchup playback ● Double-speed playback
  • 10. Why Reliability Engineering is Important ● Keep creating new service values by challenging technical edges ● Keep our service reliable all the time Our limited resource Development ? % Operation ? %
  • 11. Why Reliability Engineering is Important ● Keep creating new values by challenging technical edges ● Keep our system available all the time Our limited resource Development ? % Operation ? % Reliability engineering gives us a way to decide the balance between development and operation
  • 12. W/o Reliability Engineering ● Quality improvement depends on an individual’s ownership ● Confusion by subjective reviews from app stores and SNS ● Gradually degraded service quality can be ignored
  • 13. W/o Reliability Engineering ● Quality improvement depends on an individual’s ownership ● Confusion by subjective reviews from app stores and SNS ● Gradually degraded service quality can be ignored As a result, reliability will be lost
  • 14. Google’s SRE Practice The ideas of Google’s SRE practice can be applied to video streaming https://sre.google/books/
  • 15. Streaming Reliability Engineering Not Site Reliability Engineering ● We consider it to be a part of Site Reliability Engineering ● A reliability engineering part which requires domain knowledge in video streaming
  • 16. Defining the Video Streaming Level When can you say your video streaming service is reliable enough? Service Level Terminologies ● Service Level Indicators a.k.a. SLI ○ a carefully defined quantitative measure of some aspect of the level of service that is provided ● Service Level Objectives a.k.a. SLO ○ a target value or range of values for a service level that is measured by an SLI ● Service Level Agreements a.k.a. SLA ○ an explicit or implicit contract with your users that includes consequences of meeting (or missing) the SLOs they contain
  • 17. This is an example of how a video streaming service tries Reliability Engineering
  • 18. Defining Video Streaming SLOs Based on which playback behaviors really matter to a user Key questions: Does a viewer ● Succeed to start watching the content? ● Smoothly watch the whole content with no interruption? ● Watch the content in a good video quality? ● Not wait long for the content to start playing?
  • 19. Defining Video Streaming SLOs Does a viewer succeed to start watching the content? ● The most critical question ● It matters regardless of usecase type ● If a viewer fails, it means we fail to provide no value as a video streaming service
  • 20. Defining Video Streaming SLOs Does a viewer smoothly watch the whole content with no interruption? ● The second most critical question ● It matters regardless of usecase type ● If a viewer doesn’t, it means we give him or her a stressful experience
  • 21. Defining Video Streaming SLOs Does a viewer watch the content in a good video quality? ● The question differentiates ABEMA from others ● 2 types of video quality ○ Resolution ■ Matters most when watching it on a big screen ○ Encoding ■ Matters regardless of usecase type ● If its quality is not satisfactory, it means we possibly get him or her away from our service
  • 22. We’re Reinventing the TV, but Extremely Convenient Professional news Live streaming Simultaneity Anywhere ● Phones ● TVs ● Desktops ● Tablets ● Smart Speakers ● Smart Displays Anytime ● Timeshift playback ● Chasing playback ● Double-speed playback
  • 23. Various Types of Usecases ● Phones ● Tablets ● TVs ● Web on Desktops ● Web on Phones ● Smart Speakers ● Smart Displays
  • 24. Defining Video Streaming SLOs Does a viewer not wait long for the content to start playing? ● It matters most when a viewer zaps channels ○ Essential experience of TV ● If a viewer waits long, it means we fail to provide value equivalent to the TV broadcasting
  • 25. Converting Key Questions into Indicators Does a viewer succeed to start watching the content? Startup Success Rate
  • 26. Converting Key Questions into Indicators Does a viewer succeed to start watching the content? Startup Success Rate
  • 27. Converting Key Questions into Indicators Does a viewer smoothly watch the whole content with no interruption? Successful Playback Rate
  • 28. Converting Key Questions into Indicators Does a viewer smoothly watch the whole content with no interruption? Successful Playback Rate
  • 29. Converting Key Questions into Indicators Does a viewer watch the content in a good video quality? Rendition Distribution Success Rate Video Quality MOS Success Rate
  • 30. Converting Key Questions into Indicators Does a viewer watch the content in a good video quality? Rendition Distribution Success Rate Video Quality MOS Success Rate The indicator is about the video resolution
  • 31. Converting Key Questions into Indicators We used to value other indicators : ● Round-Trip Time ● Bandwidth ● Bitrate ● Throughput
  • 32. Converting Key Questions into Indicators We used to value other indicators : ● Round-Trip Time ● Bandwidth ● Bitrate ● Throughput A user doesn’t care even if these are bad
  • 33. Converting Key Questions into Indicators We used to value other indicators : ● Round-Trip Time ● Bandwidth ● Bitrate ● Throughput A user doesn’t care even if these are bad A user cares the video’s resolution !
  • 34. Converting Key Questions into Indicators Rendition Distribution Success Rate A more user-centric indicator
  • 35. Converting Key Questions into Indicators Rendition Distribution Success Rate A more user-centric indicator How often we provide the preferable rendition matters regarding the video quality
  • 36. Converting Key Questions into Indicators Rendition Distribution Success Rate A more user-centric indicator
  • 37. Converting Key Questions into Indicators Does a viewer not wait long for the content to start playing? Join Time Success Rate
  • 38. Categorizing the SLIs Indicators for QoS (Quality of Service) ● Startup Success Rate ● Successful Playback Rate Indicators for QoE (Quality of Experience) ● Rendition Distribution Success Rate ● Video Quality MOS Success Rate ● Join Time Success Rate
  • 39. Video Streaming SLIs Video Streaming SLOs
  • 40. What do SLOs mean? When an SLO is not met: ● Our service loses users’ trust ● An SLO should trigger an action to reachieve it ● The priority of taking back reliability should be higher than that of developing a new feature
  • 41. Defining Video Streaming SLOs 1. Collect the current facts 2. Decide a threshold for each SLI in order to keep the current service level 3. Decide your ideal objectives which we should aim in a longer period
  • 42.
  • 43. Creating SLO Document Category SLI SLO QoS Startup Success Rate 99% QoS Smooth Playback Success Rate 99% QoE Rendition Distribution Success (>= 1080p 60%) Rate for TV 90% QoE Video Quality MOS Success (>= 3.0) Rate 90% QoE Join Time Success (<= 3 secs) Rate for Linear 75%
  • 44. Updating SLO Document towards Your Ideal Objectives Category SLI SLO QoS Startup Success Rate 99.99% QoS Smooth Playback Success Rate 99% QoE Rendition Distribution Success (>= 1080p 80%) Rate for TV / Desktop 90% QoE Video Quality MOS Success (>= 4.0) Rate 90% QoE Join Time Success (<= 2 secs) Rate for Linear 90%
  • 45. Deciding an Internal SLAs More like agreements between developers and business owners
  • 46. Collecting Indicators from Monitoring Metrics ● # of Startup Errors ● # of In-Stream Errors ● Rendition Distribution ● Join Time ● Video Quality MOS
  • 47. It’s time to challenge the new technical experiments while your SLOs are met ...
  • 48. Now we need to prevent SLIs from being degraded as time passes
  • 49. Practices to Keep Achieving SLOs ● Alerting on SLOs ○ Respond to problems before you consume too much of your error budget ● Change Management ○ Take a good care of uncontrollable changes on your users’ environments ● Fallback Strategies ○ Make an aggressive stream less risky
  • 50. Alerting on SLOs The simplest way to set an alert is simply too fragile. Target Error Rate ≥ SLO Threshold
  • 51. Target Error Rate ≥ SLO Threshold has too many false positive alerts
  • 53. We better focus only on significant alerts,
  • 54. We better focus only on significant alerts, or we will be exhausted very soon..
  • 55. A Significant Event An event that consumes a large fraction of the error budge Not this Not this
  • 56. A Significant Event An unsiginificant event could blind responders with visibly loud noise
  • 57. A Significant Event Of course paging is worse under such situation...
  • 58. Introducing Burn Rate Strategy It alerts only when a error budget spend is significant enough https://sre.google/workbook/alerting-on-slos/
  • 59. Change Management Staged Rollout + Experimentation Alpha / Beta (internal developers / opt-in users) Staged rollout Production (100% of users) 1% 50% 10% 50% A/B Testing
  • 60. Ephemeral Change Management Take a good care of uncontrollable changes on your users’ environments ● App version updates ● OS version updates ● Firmware updates ● Brand-new hardware releases ● Automatic SDK updates ● Combinations of updates
  • 61. App version updates Product Engineering Team Video Engineering Team
  • 62. App version updates Product Engineering Team Video Engineering Team Releases a new version
  • 63. App version updates Product Engineering Team Video Engineering Team Releases a new version Could affect video playback
  • 64. App version updates Product Engineering Team Video Engineering Team Releases a new version
  • 65. App version updates Product Engineering Team Video Engineering Team Releases a new version Sets alerts on the latest version
  • 66. App version updates Product Engineering Team Video Engineering Team Releases a new version Sets alerts on the latest version Segmented alert
  • 67. Automatic SDK updates IMA SDK Uses Native Bridge JavaScript Refers
  • 68. Automatic SDK updates IMA SDK Uses Native Bridge JavaScript Native Bridge JavaScript New ! Refers
  • 69. Automatic SDK updates IMA SDK Uses Native Bridge JavaScript Native Bridge JavaScript Native Bridge JavaScript New ! Refers
  • 70. Automatic SDK updates Once it happens, patch the uncovered pitfall to make sure at least the same problem won’t happen again.
  • 71. Combinations of updates Uses Latest Firmware Old Firmware CAF Receiver SDK CAF Receiver SDK Automatic update Automatic update
  • 72. Combinations of updates Uses Old Firmware Latest Firmware Old Firmware CAF Receiver SDK CAF Receiver SDK Automatic update Automatic update Stop Updating
  • 73. Combinations of updates CAF Receiver SDK CAF Receiver SDK CAF Receiver SDK Automatic update Old Firmware Latest Firmware Old Firmware Automatic update Stop Updating
  • 74. Fallback Strategy: Aggressive stream to Safe Stream Modifying clients so that aggressive failures are less likely to cause user harm
  • 75. Aggressive video stream - Low-latency news Pros: ● A viewer watches news contents close to the real time ● Knowing what happens right now can save people’s lives during a disaster Cons: ● Shorter segment length => Less buffering length => More rebuffering events
  • 76. Aggressive video stream - Ad-personalized linear Pros: ● A viewer watches potentially more interesting ads ○ Viewers and advertisers are both happy Cons: ● High load on deciding personalized ads => Streams could be unstable
  • 77. Fallback Strategy: Aggressive stream to Safe Stream Modifying clients so that aggressive failures are less likely to cause user harm
  • 78. Fallback Strategy: Aggressive stream to Safe Stream Modifying clients so that aggressive failures are less likely to cause user harm If a viewer watching an aggressive stream experiences ● Rebuffer Events ● Startup Errors ● In-Stream Errors x times in y seconds, then the player automatically switches to a safe stream
  • 79. Fallback Strategy: Aggressive stream to Safe Stream Modifying clients so that aggressive failures are less likely to cause user harm If a viewer watching an aggressive stream experiences ● Rebuffer Events ● Startup Errors ● In-Stream Errors x times in y seconds, then the player automatically switches to a safe stream A fallback strategy makes aggressive video streams safer in a user’s environment
  • 80. Conclusion ● Reliability engineering is an essential strategy for service innovation ● Applying reliability engineering to a video streaming service is hard ● Some practices work fine and others don’t for your service ○ Find your own practice ○ The example here is far from perfect - we keep exploring further ● No option but more practices