Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AbemaTVでネイティブエンジニア からサーバーエンジニアに挑戦した話
Search
nghialv
March 13, 2017
Technology
2.8k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AbemaTVでネイティブエンジニア からサーバーエンジニアに挑戦した話
Battle Conference U30
http://bcu30.jp/
nghialv
March 13, 2017
More Decks by nghialv
See All by nghialv
How LLMs Actually Work
nghialv
0
35
Presentation for CA.go
nghialv
0
130
A consistent delivery process with GitOps style for any application on any platform
nghialv
0
560
How it works - 1.1 - What happens when you run kubectl apply command
nghialv
0
1.1k
Why and how we build a unified CD system
nghialv
0
370
PipeCD at CyberAgent
nghialv
2
1.2k
Introdution_to_PipeCD.pdf
nghialv
2
750
The Journey of Software Delivery
nghialv
4
480
Monitoring at AbemaTV
nghialv
18
12k
Other Decks in Technology
See All in Technology
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
2
420
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
2.9k
JavaScript 研修 (2026)
recruitengineers
PRO
2
570
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
260
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
6k
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
120
私がブラウザを自作したくなった理由
supurazako
1
240
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
140
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
猫付きpingコマンドを自作
uyuki234
0
240
Apache Icebergインフラストラクチャ:ストレージ・カタログ・エンジンの選択肢とClouderaプラットフォームでの実装
tsugiyama
0
110
モバイルアプリ開発概論2026
recruitengineers
PRO
6
620
Featured
See All Featured
Believing is Seeing
oripsolob
1
190
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
370
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
530
Exploring anti-patterns in Rails
aemeredith
3
460
Testing 201, or: Great Expectations
jmmastey
46
8.2k
sira's awesome portfolio website redesign presentation
elsirapls
0
320
Color Theory Basics | Prateek | Gurzu
gurzu
0
420
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
We Are The Robots
honzajavorek
0
300
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
460
Transcript
AbemaTVͰωΠςΟϒΤϯδχΞ ͔ΒαʔόʔΤϯδχΞʹઓͨ͠ CyberAgent, Inc. AbemaTV։ൃہ αʔόʔαΠυΤϯδχΞ LE VAN NGHIA (ΪΞ)
• nghialv2607 • nghialv About me • 2014/11: CyberAgent 15৽ଔೖࣾ
• ~ 2015/6: AmebaΞϓϦ - iOS • ~ 2016/7: FRESH!ੜ์ૹ - iOS • ~ ࠓ : AbemaTV - Server Side ID ڵຯ • Φʔϓϯιʔε։ൃ ϓϩδΣΫτܦྺ • ΪΞ • ؔܕϓϩάϥϛϯά Hakuba, Future, MaterialKit…
”20ͷ൴Β͕ͲΜͳ͜ͱʹʮ ઓʯ͍ͯ͠Δͷ͔” ຊͷTalk BattleͷςʔϚ
ωΠςΟϒΤϯδχΞ αʔόʔΤϯδχΞ ➡
Ҡಈͷཧ༝ • ࣝΛ෯͍ͨ͘͠ • ΫϥυɺωοτϫʔΫ • େྔσʔλॲཧ • ࢄγεςϜɺϚΠΫϩαʔϏε
AbemaTVαʔόʔͷϞχλϦϯάγεςϜΛ࡞ ॳΊͯͷλεΫ
1 repository 35 repositories native server AbemaTVͷίʔυ
AbemaTVͷαʔόαΠυ Cloud DNS Cloud Load Balancer Cloud Router Cloud CDN
Pub/Sub BigQuery Cloud Storage Transcoder Kubernetes Wowza HLS MPEG-DASH DRM gRPC Microservices Protocol Buffers Varnish Alpine Linux Terraform Packer MongoDB Redis Cluster Elasticsearch Firebase
• ຊ • ϓϩδΣΫτͷࢿྉ • ݸਓGoogle CloudͷΞΧϯτ࡞ɼ ৭ʑ༡ΜͰΈΔ • AbemaTVίʔυΛಡΉ
• etcd, kubernetes…ͷίʔυΛಡΉ
GCP + Kubernetes + gRPC Google Cloud Platform Kubernetes Service
Service Service gRPC gRPC
AbemaTVͷΞʔΩςΫνϟ streaming-server gateway Media User Comment Share Question Purchase Firebase
Watchman Transcoder Ad system encoder Live Transcoder varnish api access live-gateway Compute Engine MongoDB Redis Cluster Container Engine Cloud Storage Firebase media access live admin access stateful stateless
Ϩϕϧ ྫ ΞϓϦέʔγϣϯ http, grpcͷΤϥʔɼϨΠςϯγɼ෦ঢ়ଶ ίϯςφ ίϯςφϦιʔεঢ়ଶ ΦʔέετϨʔγϣϯ ΫϥελʔͷϦιʔεɼεέδϡʔϦϯά ϗετ
(OS, Hardware) ϗετͷϦιʔεɼhardwareΤϥʔ ωοτϫʔΫ routers, switches ऩू͢Δσʔλ
࣌ܥྻDBͷબ • DalmatinerDB • InfluxDB • Prometheus • OpenTSDB •
Graphite • … “top10 time series databases”ͷϒϩάʹΑΓ
• PrometheusKubernetesͱ࿈ܞ͍ͯ͠Δ • αʔϏεσΟεΧόϦʔ: ΫϥυͷΑ͏ͳμΠφϛοΫͳڥʹendpoints͕มߋ͞ΕΔ • ίϯςφ, ΦʔέετϨʔγϣϯ ͷϝτϦΫεΛऔಘ͍͢͠ •
Prometheusͷੑೳ • ύϑΥʔϚϯεɿ • ҰͭͷPrometheusαʔό800K samples/s • Federation • ѹॖ: 12.3ഒ (ѹॖͳ͠ɿ16 bytes/sample, Prometheus: 1.3 bytes/sample) • PrometheusGrafanaͱ࿈ܞ͍ͯ͠Δ • PrometheusGolangͰॻ͔Ε͍ͯΔ PrometheusΛબͨ͠ཧ༝
AbemaTVʹ͓͚ΔPrometheus
Ռ
None
None
AlertManager Slack࿈ܞ͢ΔBot - ࣾ֎ϞόΠϧͰίϚϯυͰ γεςϜͷϝτϦΫε͕ݟ͑Δ - Τϥʔ, latency percentileͳͲ ͕ߴ͘ͳΔͱ௨͕དྷΔ
• ωΠςΟϒΤϯδχΞ͔ΒαʔόʔΤϯδχΞʹઓͷ • AbemaTVͷϞχλϦϯάγεςϜͷৄ͍͠ใ • “AbemaTVʹPrometheusͱ͍͏ϞχλϦϯάγεςϜΛಋೖͨ͠”ͷϒϩάϔ • αʔόʔΓ͍ͨωΠςΟϒΤϯδχΞ • ݴޠ͡Όͳͯ͘linux,
network, cloudؔ͢Δࣝͷ४උΛΦεεϝ • ·ͩ20ͳͷͰ৭ʑઓ͠·͠ΐ͏ʂ ·ͱΊ