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

UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!Unity Technologies Japan K.K.
 
iOSにおけるWakeword検知機能の実装
iOSにおけるWakeword検知機能の実装iOSにおけるWakeword検知機能の実装
iOSにおけるWakeword検知機能の実装exwzds
 
インターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組みインターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組みRyosuke Kubo
 
Ruby のワンライナーについて
Ruby のワンライナーについてRuby のワンライナーについて
Ruby のワンライナーについてTomoya Kawanishi
 
ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善takahiro_yachi
 
動画配信の基礎知識
動画配信の基礎知識動画配信の基礎知識
動画配信の基礎知識Daiyu Hatakeyama
 
Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話Unity Technologies Japan K.K.
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向Ryosuke Otsuya
 
AbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステムAbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステムyuichiro nakazawa
 
KPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティKPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティYusuke Goto
 
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!YutoNishine
 
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜UnityTechnologiesJapan002
 
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~DeNA
 
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023Satoshi Sakashita
 
Prometeusについてはじめてみよう / Let's start Prometeus
Prometeusについてはじめてみよう / Let's start PrometeusPrometeusについてはじめてみよう / Let's start Prometeus
Prometeusについてはじめてみよう / Let's start PrometeusTakeo Noda
 
サウンドミドルウェアCRI ADX2 Ver3の新機能・使いこなし術のご紹介
サウンドミドルウェアCRI ADX2 Ver3の新機能・使いこなし術のご紹介サウンドミドルウェアCRI ADX2 Ver3の新機能・使いこなし術のご紹介
サウンドミドルウェアCRI ADX2 Ver3の新機能・使いこなし術のご紹介CRI Middleware
 
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason DonenfeldCODE BLUE
 
Houdiniハンズオンセミナー
HoudiniハンズオンセミナーHoudiniハンズオンセミナー
HoudiniハンズオンセミナーMasaharu Ijichi
 
RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」KLab Inc. / Tech
 

What's hot (20)

UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!
 
iOSにおけるWakeword検知機能の実装
iOSにおけるWakeword検知機能の実装iOSにおけるWakeword検知機能の実装
iOSにおけるWakeword検知機能の実装
 
インターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組みインターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組み
 
Ruby のワンライナーについて
Ruby のワンライナーについてRuby のワンライナーについて
Ruby のワンライナーについて
 
ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善
 
動画配信の基礎知識
動画配信の基礎知識動画配信の基礎知識
動画配信の基礎知識
 
Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向
 
AbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステムAbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステム
 
KPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティKPI から生まれるアクセシビリティ
KPI から生まれるアクセシビリティ
 
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!
 
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
 
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
 
Unity2018/2019における最適化事情
Unity2018/2019における最適化事情Unity2018/2019における最適化事情
Unity2018/2019における最適化事情
 
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
 
Prometeusについてはじめてみよう / Let's start Prometeus
Prometeusについてはじめてみよう / Let's start PrometeusPrometeusについてはじめてみよう / Let's start Prometeus
Prometeusについてはじめてみよう / Let's start Prometeus
 
サウンドミドルウェアCRI ADX2 Ver3の新機能・使いこなし術のご紹介
サウンドミドルウェアCRI ADX2 Ver3の新機能・使いこなし術のご紹介サウンドミドルウェアCRI ADX2 Ver3の新機能・使いこなし術のご紹介
サウンドミドルウェアCRI ADX2 Ver3の新機能・使いこなし術のご紹介
 
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld
 
Houdiniハンズオンセミナー
HoudiniハンズオンセミナーHoudiniハンズオンセミナー
Houdiniハンズオンセミナー
 
RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」
 

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
 
2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向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
 
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...
 
2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向
 
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 で開発チーム全員でデザインする
 
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

CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 

Recently uploaded (20)

CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
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
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 

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