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
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
10
Presentation for CA.go
nghialv
0
130
A consistent delivery process with GitOps style for any application on any platform
nghialv
0
530
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
360
PipeCD at CyberAgent
nghialv
2
1.1k
Introdution_to_PipeCD.pdf
nghialv
2
730
The Journey of Software Delivery
nghialv
4
450
Monitoring at AbemaTV
nghialv
18
12k
Other Decks in Technology
See All in Technology
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
650
すごいぞManaged Kubernetes
harukasakihara
1
330
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
120
AIを活用したアクセシビリティ改善フロー
degudegu2510
1
140
スクラムを支える内部品質の話
iij_pr
0
270
Webアクセシビリティは“もしも”に備える設計
tomokusaba
0
160
出版記念イベントin大阪「書籍紹介&私がよく使うMCPサーバー3選と社内で安全に活用する方法」
kintotechdev
0
150
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
TanStack Start エコシステムの現在地 / TanStack Start Ecosystem 2026
iktakahiro
1
310
Embeddings : Symfony AI en pratique
lyrixx
0
460
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
13
7.6k
不確実性と戦いながら見積もりを作成するプロセス/mitsumori-process
hirodragon112
1
190
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Thoughts on Productivity
jonyablonski
76
5.1k
Test your architecture with Archunit
thirion
1
2.2k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
260
HDC tutorial
michielstock
1
600
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
490
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
It's Worth the Effort
3n
188
29k
Utilizing Notion as your number one productivity tool
mfonobong
4
280
Designing Experiences People Love
moore
143
24k
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ͳͷͰ৭ʑઓ͠·͠ΐ͏ʂ ·ͱΊ