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
3
2.8k
AbemaTVでネイティブエンジニア からサーバーエンジニアに挑戦した話
Battle Conference U30
http://bcu30.jp/
nghialv
March 13, 2017
Tweet
Share
More Decks by nghialv
See All by nghialv
Presentation for CA.go
nghialv
0
85
A consistent delivery process with GitOps style for any application on any platform
nghialv
0
460
How it works - 1.1 - What happens when you run kubectl apply command
nghialv
0
950
Why and how we build a unified CD system
nghialv
0
310
PipeCD at CyberAgent
nghialv
2
1.1k
Introdution_to_PipeCD.pdf
nghialv
2
680
The Journey of Software Delivery
nghialv
4
400
Monitoring at AbemaTV
nghialv
18
11k
ReactiveCocoa
nghialv
0
810
Other Decks in Technology
See All in Technology
プロジェクトマネジメントは不確実性との対話だ
hisashiwatanabe
0
110
結局QUICで通信は速くなるの?
kota_yata
8
7.4k
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
380
メルカリIBIS:AIが拓く次世代インシデント対応
0gm
2
400
Mackerel in さくらのクラウド
cubicdaiya
1
120
GISエンジニアよ 現場に行け!
sudataka
1
140
AIと描く、未来のBacklog 〜プロジェクト管理の次の10年を想像し、創造するセッション〜
hrm_o25
0
110
Claude Codeは仕様駆動の夢を見ない
gotalab555
23
7k
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
2
1.4k
Lambda management with ecspresso and Terraform
ijin
2
170
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
0
260
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
400
Featured
See All Featured
Navigating Team Friction
lara
188
15k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
A better future with KSS
kneath
239
17k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
Rails Girls Zürich Keynote
gr2m
95
14k
Optimizing for Happiness
mojombo
379
70k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
770
Designing Experiences People Love
moore
142
24k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Building Adaptive Systems
keathley
43
2.7k
Scaling GitHub
holman
462
140k
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ͳͷͰ৭ʑઓ͠·͠ΐ͏ʂ ·ͱΊ