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
月間動画再生数2億回を支える TVerのオブザーバビリティ
Search
TVer Inc.
PRO
March 11, 2022
Technology
3
1.1k
月間動画再生数2億回を支える TVerのオブザーバビリティ
2022/03/11
Observability Conference 2022
イベントURL :
https://event.cloudnativedays.jp/o11y2022
TVer Inc.
PRO
March 11, 2022
Tweet
Share
More Decks by TVer Inc.
See All by TVer Inc.
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
990
20240710_HR SUCCESS SUMMIT 2024_テーマセッション「エンジニア採用2.0」登壇資料(株式会社TVer_香坂)
techtver
PRO
0
77
採用応募者の個人情報保護の取扱いについて_株式会社TVer
techtver
PRO
0
510
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
1
12k
成長し続けるTVerサービスを支える オブザーバビリティとカスタマーサポート
techtver
PRO
5
5.6k
Change Tracking でデプロイを記録してパフォーマンスへの影響を分析しやすくしよう
techtver
PRO
1
250
採用人事の立場で行う採用広報・技術広報の裏側 〜TVerがエンジニア採用を本格化するために継続し続けたこと〜
techtver
PRO
2
740
株式会社TVer 会社紹介資料
techtver
PRO
9
88k
採用人事の立場から、採用広報の立ち上げや技術広報の促進をしている話
techtver
PRO
0
1.2k
Other Decks in Technology
See All in Technology
AI開発ツールCreateがAnythingになったよ
tendasato
0
110
衝突して強くなる! BLUE GIANTと アジャイルチームの共通点とは ― いきいきと活気に満ちたグルーヴあるチームを作るコツ ― / BLUE GIANT and Agile Teams
naitosatoshi
0
300
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
3
860
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
530
実運用で考える PGO
kworkdev
PRO
0
140
エニグモ_会社紹介資料(エンジニア職種向け).pdf
enigmo_hr
0
2.2k
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
1
110
AI時代にPdMとPMMはどう連携すべきか / PdM–PMM-collaboration-in-AI-era
rakus_dev
0
280
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
150
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
200
個人CLAUDE.md紹介と設定から学んだこと/introduce-my-claude-md
shibayu36
0
190
Vault meets Kubernetes
mochizuki875
0
270
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
431
66k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
The Invisible Side of Design
smashingmag
301
51k
GitHub's CSS Performance
jonrohan
1032
460k
The Cult of Friendly URLs
andyhume
79
6.6k
Building Applications with DynamoDB
mza
96
6.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Producing Creativity
orderedlist
PRO
347
40k
Transcript
݄ؒಈը࠶ੜ2ԯճΛࢧ͑Δ TVerͷΦϒβʔόϏϦςΟ גࣜձࣾ TVer / Ճզ وࢤ 2022/03/11 Observability Conference
2022
͜ͷηογϣϯʹ͍ͭͯ ຊ͓͢Δ͜ͱ • TVerʹ͓͚ΔΦϒβʔόϏϦςΟ࣮ݱϓϩηε • New Relic Oneͷ׆༻ࣄྫ
͜ͷηογϣϯʹ͍ͭͯ ओͳλʔήοτ • ͜Ε͔ΒΦϒβʔόϏϦςΟΛ࣮ݱ͍ͨ͠ • πʔϧಋೖ͚ͨ͠Ͳ׆༻ͰΜͰ͍Δ • New Relic Oneͷ͍ํʹڵຯ͕͋Δ
डߨऀϨϕϧ • ΦϒβʔόϏϦςΟॳڃऀ🔰
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
TVerͷհ
TVerͷհ
TVerͷհ [TVer] ྦྷܭΞϓϦμϯϩʔυ͕4,000ສಥഁʂ ϨΪϡϥʔͷ৴൪400൪ʹ https://tver.co.jp/news/20210825-1.html
TVerͷհ [TVer] 202110݄ͷ݄ؒಈը࠶ੜ͕ॳͷ2ԯճΛಥഁʂʙࡢಉ݄ൺ̎ഒʹɺίωΫςουTVࢹௌ৳͕ཁҼʙ https://tver.co.jp/news/20211112-1.html
TVerͷओཁͳٕज़ελοΫ
TVerͷΠϯϑϥετϥΫνϟ
TVer (WebαʔϏε) ͷΠϯϑϥετϥΫνϟ
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
αʔϏεͷͱݟ͖͑ͯͨ՝
αʔϏεͷͱݟ͖͑ͯͨ՝
αʔϏεͷͱݟ͖͑ͯͨ՝
αʔϏεͷͱݟ͖͑ͯͨ՝
αʔϏεͷͱݟ͖͑ͯͨ՝ TVerͷར༻ऀ͕૿Ճ (Ϣʔβʔ / ࠂओ) ↓ ࣾձతͳӨڹ͕ߴ͍ϓϥοτϑΥʔϜ ↓ ϞχλϦϯάपΓͷվળ͕՝
αʔϏεͷͱݟ͖͑ͯͨ՝ ϞχλϦϯάपΓͷ՝ • ϢʔβʔମݧͷѲ • Մ༻ੑύϑΥʔϚϯεͷՄࢹԽ • ൃੜ࣌ͷਝͳղܾ • ϓϩΞΫςΟϒͳϞχλϦϯά
• SLI / SLOʹΑΔ৴པੑͷՄࢹԽ
αʔϏεͷͱݟ͖͑ͯͨ՝ γεςϜͷ؍ଌൣғΛ ͛Δඞཁ͕͋Δ
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
New Relic OneಋೖʹΑΔվળͷτϥΠ [࠶ܝ] ϞχλϦϯάपΓͷ՝ • ϢʔβʔମݧͷѲ • Մ༻ੑύϑΥʔϚϯεͷՄࢹԽ •
ൃੜ࣌ͷਝͳղܾ • ϓϩΞΫςΟϒͳϞχλϦϯά • SLI / SLOʹΑΔ৴པੑͷՄࢹԽ γεςϜͷ؍ଌൣғΛ͛Δඞཁ͕͋Δ
New Relic OneಋೖʹΑΔվળͷτϥΠ
New Relic OneಋೖʹΑΔվળͷτϥΠ Why New Relic One • ڧྗͳϑϩϯτΤϯυϞχλϦϯά •
ΦϒβʔόϏϦςΟϓϥοτϑΥʔϜ • શํҐͰͷϞχλϦϯά͕Մೳ
New Relic OneಋೖʹΑΔվળͷτϥΠ ಋೖͷྲྀΕ • αʔόαΠυΤϯδχΞ͕ಋೖΛݗҾ • New RelicࣾੵۃతʹಋೖΛαϙʔτ
New Relic OneಋೖʹΑΔվળͷτϥΠ NRU101 New Relic One ೖ https://newrelic.com/jp/resources/presentations/nru101_20211027
New Relic OneಋೖʹΑΔվળͷτϥΠ NRU101 New Relic One ೖ https://newrelic.com/jp/resources/presentations/nru101_20211027
New Relic OneಋೖʹΑΔվળͷτϥΠ ɹ“ಈը৴ࢢͷ֦େʹͬͯߴ·Γଓ͚ΔϢʔβʔɺ ɹࠂओํ͔ΒͷधཁʹԠ͑ΔͨΊʹɺαʔϏεͷ ɹՔಇঢ়گෛՙঢ়گɺϢʔβʔͷࢹௌମݧΛৗʹѲ͠ɺ ɹҟৗͷൃݟͱݪҼͷಛఆɾղܾΛਝ͔ͭޮతʹ ɹߦ͑ΔڥΛඋ͢Δඞཁ͕͋Γ·ͨ͠ɻ” TVerɺΦϒβʔόϏϦςΟʢՄ؍ଌੑʣϓϥοτϑΥʔϜʮNew Relic
OneʯΛಋೖ https://newrelic.com/jp/press-release/20210302
New Relic OneಋೖʹΑΔվળͷτϥΠ New Relic Oneͷಋೖঢ়گ (202112݄) • ΠϯςάϨʔγϣϯ •
ΠϯϑϥετϥΫνϟʔϞχλϦϯά • ϒϥβϞχλϦϯά • ϞόΠϧϞχλϦϯά • ֎ܗࢹ
New Relic OneಋೖʹΑΔվળͷτϥΠ ΦϒβʔόϏϦςΟΛ ࣮ݱ͢ΔͨΊʹ ԿΛ͢Ε͍͍ͩΖ͏ ͔
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
1. New Relicͷࢥ͔Β ΦϒβʔόϏϦςΟΛ ֶͿ
ΦϒβʔόϏϦςΟ࠶ઃܭ New Relicͷߟ͑ΔΦϒβʔόϏϦςΟ(1) “ࢹࣄલʹఆٛ͞Εͨҟৗ͕ى͖ͨͱ͖ʹ୯ʹ௨͢Δ͚ͩ Ͱ͕͢ɺΦϒβʔόϏϦςΟͰͳͥى͖͔ͨѲ͢Δॿ͚ʹ ͳΓ·͢ɻͦΕʹΑΓνʔϜɺۓٸࣄଶͰਝ͔ͭ༗ޮʹରԠ Ͱ͖ɺظతͳΞϓϦέʔγϣϯύϑΥʔϚϯεͷվળʹऔΓΉ
͜ͱ͕Ͱ͖·͢ɻ” ϞμϯͳՄ؍ଌੑʢΦϒβʔόϏϦςΟʣͱͳʹ͔ https://newrelic.com/jp/blog/best-practices/what-is-modern-observability
ΦϒβʔόϏϦςΟ࠶ઃܭ New Relicͷߟ͑ΔΦϒβʔόϏϦςΟ(2) “New Relic ϝτϦΫεɺΠϕϯτɺϩάɺ͓ΑͼτϨʔε ʢMELT : Metrics,
Events, Logs, TracesʣΛՄ؍ଌੑ࣮ݱͷ جຊతͳσʔλλΠϓͩͱߟ͍͑ͯ·͢ɻ ͯ͢Λܭଌ͠ɺMELTΛ༻ͯ͠γεςϜͷؔͱґଘؔɺ ͦͯͦ͠ͷৄࡉͳύϑΥʔϚϯεͱਖ਼ৗੑΛҡ࣋͢Δ͜ͱ͕ Մ؍ଌੑΛ࣮ݱ͢ΔͨΊʹॏཁͰ͢ɻ” Metrics, Events, Logs, Traces ͬͯͳΜͩʁ https://newrelic.com/jp/blog/how-to-relic/metrics-events-logs-and-traces
2. Google͔Β ΦϒβʔόϏϦςΟΛ ֶͿ
ΦϒβʔόϏϦςΟ࠶ઃܭ Googleͷߟ͑ΔΦϒβʔόϏϦςΟ(1) “ϞχλϦϯάɺνʔϜ͕γεςϜͷঢ়ଶΛࢹͯ͠ѲͰ͖ΔΑ͏ʹ͢Δ πʔϧٕज़తͳιϦϡʔγϣϯͰ͢ɻϞχλϦϯάͰɺࣄલʹఆٛͨ͠ࢦ ඪϩάͷऩूΛߦ͍·͢ɻ ΦϒβʔόϏϦςΟɺνʔϜ͕γεςϜͷσόοάΛੵۃతʹߦ͑ΔΑ͏ʹ ͢Δπʔϧٕज़తͳιϦϡʔγϣϯͰ͢ɻΦϒβʔόϏϦςΟͰɺࣄલʹ ఆٛ͞Ε͍ͯͳ͍ϓϩύςΟͱύλʔϯͷௐࠪΛߦ͍·͢ɻ” DevOps ଌఆ:
ϞχλϦϯάͱΦϒβʔόϏϦςΟ https://cloud.google.com/architecture/devops/devops-measurement-monitoring-and-observability
ΦϒβʔόϏϦςΟ࠶ઃܭ Googleͷߟ͑ΔΦϒβʔόϏϦςΟ(2) “ϗϫΠτϘοΫε ϞχλϦϯά ϞχλϦϯάͱΦϒβʔόϏϦςΟɺϫʔΫϩʔυ͔ΒϞχλϦϯά γεςϜ ʹૹ৴͞ΕΔγάφϧʹґଘ͠·͢ɻ࠷Ұൠతͳཁૉͱͯ͠ɺࢦඪɺϩάɺ τϨʔεͷ 3 ͕ͭ͋Γ·͢ɻҰ෦ͷϞχλϦϯά
γεςϜͰΠϕϯτΛ͠ ͯใࠂ͠·͢ɻΠϕϯτɺγεςϜͰͷϢʔβʔͷૢ࡞γεςϜࣗମͷঢ়ଶ ͷมԽΛද͠·͢ɻ” DevOps ଌఆ: ϞχλϦϯάͱΦϒβʔόϏϦςΟ https://cloud.google.com/architecture/devops/devops-measurement-monitoring-and-observability
ΦϒβʔόϏϦςΟ શʹཧղͨ͠
ΦϒβʔόϏϦςΟ࠶ઃܭ [ํ] શͯͷγεςϜͰMELTΛܭଌ͢Δ • ☑ ΠϯςάϨʔγϣϯ (֦ॆ) • ☑ ΠϯϑϥετϥΫνϟʔϞχλϦϯά
• ☑ ϒϥβϞχλϦϯά • ☑ ϞόΠϧϞχλϦϯά • ☑ ֎ܗࢹ • ☐ APM (Ճ) • ☐ Log Management (Ճ)
ΦϒβʔόϏϦςΟ࠶ઃܭ [มߋ] AWS Integrationͷվળ ɹɾར༻͍ͯ͠ΔશͯͷAWS ɹɹαʔϏεͷϝτϦΫεऔಘ New Relic Go AgentͷՃ
ɹɾAPMՃ ɹɾLogs in contextՃ
ΦϒβʔόϏϦςΟ࠶ઃܭ ͔͠͠ɾɾɾ • Logs in context -> อཹ →ΞϓϦέʔγϣϯͷϩΪϯάपΓͷઃܭ͕ ɹݻ·ͬͨஈ֊ͰվΊͯਖ਼ࣜಋೖ
ɹ(Fargate -> CloudWatch LogsͰ༻)
ΦϒβʔόϏϦςΟ࠶ઃܭ before ɹɹMetrics ɹɹEvents ɹɹLogs ɹɹTraces ɹafter ɹɹɹMetrics ɹɹɹEvents ɹɹɹLogs
ɹɹɹTraces
ΦϒβʔόϏϦςΟ࠶ઃܭ [before] ෦తʹMELT͕ ຬͨ͞Ε͍ͯΔঢ়ଶ ɾAWS Integration ɹMetrics & Events
ɾBrowser(Mobile)Agent ɹMetrics & Events ɾInfrastructure Agent ɹMetrics & Events
ΦϒβʔόϏϦςΟ࠶ઃܭ [after] MELT͕શͯ ຬͨ͞Ε͍ͯΔঢ়ଶ ɾAWS Integration ɹMetrics & Events
ɾCloudWatch Logs ɹto New Relic One ɹLogs ɾBrowser(Mobile)Agent ɹMetrics & Events ɾGo Agent ɹMetrics & Traces ɾInfrastructure Agent ɹMetrics & Events
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
New Relic Oneͷ׆༻ࣄྫ New Relic One Platform https://newrelic.com/jp/platform
ΞϓϦέʔγϣϯ ϞχλϦϯά (APM)
ΞϓϦέʔγϣϯϞχλϦϯά (APM) ΞϓϦέʔγϣϯϞχλϦϯά (APM) ͱ • ϦΫΤετʙϨεϙϯεͷҰ࿈ͷॲཧΛՄࢹԽ • ΞϓϦέʔγϣϯͷύϑΥʔϚϯεΛՄࢹԽ ओͳ༻్
• ΞϓϦέʔγϣϯΤϥʔͷݪҼௐࠪ • APIΤϯυϙΠϯτͷύϑΥʔϚϯεܭଌ
ΞϓϦέʔγϣϯϞχλϦϯά (APM) import ( "github.com/newrelic/go-agent/v3/newrelic" "github.com/newrelic/go-agent/v3/integrations/nrecho-v3" ) func main() {
app, err := newrelic.NewApplication( newrelic.ConfigAppName("my test app"), newrelic.ConfigLicense("__YOUR_NEW_RELIC_LICENSE_KEY__"), ) } GoΞϓϦέʔγϣϯͷಋೖ
ΞϓϦέʔγϣϯϞχλϦϯά (APM) ༨ஊ : Instant Observability (༷ʑͳIntegration)
ΞϓϦέʔγϣϯϞχλϦϯά (APM) ಋೖ࣌ͷۤ࿑ • New Relic Go Agentͷಋೖ͕͠ΜͲ͍ ◦ ਖ਼֬ͳτϨʔεใΛٻΊΔ߹ɺ
ෳͷfunctionʹίʔυΛૠೖ͢Δඞཁ͕͋Δ ◦ ΫϦʔϯͳಋೖํ๏͕ग़ͨ߹ɺ ૠೖͨ͠ίʔυΛফ͢ඞཁ͕͋ΔͷͰʁ ◦ pprofΛ׆༻Ͱ͖ͳ͍͔ʁ nrseg (budougumi0617) https://github.com/budougumi0617/nrseg
ΞϓϦέʔγϣϯϞχλϦϯά (APM) ղܾ • New Relic Go Agentͷಋೖ͕͠ΜͲ͍ ◦ ࣮func
main()ʹಋೖ͢Δ͚ͩͰ ͋Δఔͷσʔλ͕ಘΒΕΔࣄ͕໌ ◦ DBपΓͷτϨʔεޙରԠʹͨ͠ (ContextपΓͰՃͷ࣮͕ඞཁͳͨΊ)
APMͰݟΒΕΔใ (αϚϦʔ)
APMͰݟΒΕΔใ (Transaction)
APMͰݟΒΕΔใ (Go runtime)
APMͰݟΒΕΔใ (Errors)
APMͰݟΒΕΔใ (Errors)
ΞϓϦέʔγϣϯϞχλϦϯά (APM) ಋೖͰಘΒΕͨޮՌ • APIͷύϑΥʔϚϯεվળʹܨ͕ͬͨ ◦ ͍APIͷϨΠςϯγ͕ՄࢹԽ͞Εͨ ◦ Ωϟογϡར༻Ͱվળ •
༏ઌతʹվળ͖͢ର͕໌֬ʹͳͬͨ ◦ APIผͷݺͼग़͠ճͱ࣮ߦ͕࣌ؒՄࢹԽ͞Εͨ • ΞϓϦέʔγϣϯΤϥʔͷௐ͕ࠪਝʹͳͬͨ ◦ ࠷ݶͷτϦΞʔδ͕Ͱ͖ΔΑ͏ʹͳͬͨ
ϒϥβ ϞχλϦϯά
ϒϥβϞχλϦϯά ϒϥβϞχλϦϯάͱ • ϒϥβܦ༝ͰͷΤϯυϢʔβʔϞχλϦϯά • RUM (Real User Monitoring) ओͳ༻్
• ΤϥʔͷݪҼௐࠪ • ϢʔβʔମݧͷѲ
ϒϥβϞχλϦϯά ಋೖ࣌ͷۤ࿑ • ίωΫςουTVͷಋೖ͕ͭΒ͔ͬͨ ◦ PageViewͰΧελϜΞτϦϏϡʔτ͕औಘͰ͖ͳ͍ ◦ ϖʔδϩʔυͷλΠϛϯά͕͍͠ ◦ ϑϩϯτΤϯυԿΘ͔Βͳ͍
ϖʔδϩʔυλΠϛϯάͷϓϩηε https://docs.newrelic.com/jp/docs/browser/new-relic-browser/page-load-timing-resources/page-load-timing-process/
ϒϥβϞχλϦϯά ղܾ • ίωΫςουTVͷಋೖ͕ͭΒ͔ͬͨ ◦ νʔϜϝϯόʔʹTVerͷSDKपΓͷରԠΛґཔ ◦ ࢲͷํͰNew Relicͷ༷֬ೝͱಈ࡞νΣοΫ ◦
PageViewͰͳ͘PageViewTimingΛݟΔํ
ϒϥβϞχλϦϯάͰݟΒΕΔใ (αϚϦʔ)
ϒϥβϞχλϦϯάͰݟΒΕΔใ (Session traces)
ϒϥβϞχλϦϯά ಋೖͰಘΒΕͨޮՌ • ϢʔβʔମݧͷѲʹܨ͛ΒΕͨ ◦ ࣮ࡍͷϢʔβʔʹ͍ۙϝτϦΫεΛݟΒΕΔ ◦ ϨΠςϯγͷมԽCore web vitalsͷνΣοΫ
• ΞϓϦέʔγϣϯΤϥʔͷௐ͕ࠪਝʹͳͬͨ ◦ ࠷ݶͷτϦΞʔδ͕Ͱ͖ΔΑ͏ʹͳͬͨ
ϞόΠϧ ϞχλϦϯά
ϞόΠϧϞχλϦϯά ϞόΠϧϞχλϦϯάͱ • ΞϓϦܦ༝ͰͷΤϯυϢʔβʔϞχλϦϯά • RUM (Real User Monitoring) ओͳ༻్
• ύϑΥʔϚϯεੳ • ΫϥογϡͷτϥϒϧγϡʔςΟϯά • ϢʔβʔମݧͷѲ
ϞόΠϧϞχλϦϯά ಋೖ࣌ͷۤ࿑ • ಈըϓϨΠϠʔͷϞχλϦϯάಋೖʹߤ ◦ New Relic Video Agentͷಋೖ ◦
࠷৽όΠφϦͰσʔλΛ֬ೝ͍ͯͨ͠
ϞόΠϧϞχλϦϯά ղܾ • ಈըϓϨΠϠʔͷϞχλϦϯάಋೖʹߤ ◦ σʔλνΣοΫ༻ͷμογϡϘʔυΛ࡞ɾڞ༗͠ɺ ਝʹνΣοΫͰ͖ΔΑ͏උ
ϞόΠϧϞχλϦϯάͰݟΒΕΔใ (αϚϦʔ)
ϞόΠϧϞχλϦϯάͰݟΒΕΔใ (Video Agent)
ϞόΠϧϞχλϦϯά ಋೖͰಘΒΕͨޮՌ • ಈըࢹௌपΓͷϢʔβʔମݧ͕ՄࢹԽ͞Εͨ ◦ ͕ࣗͨͪλονͰ͖ͳ͍৴SaaSपΓ ◦ ίϯςϯπଆͷͰ࠶ੜͰ͖ͳ͍ಈը • ΞϓϦέʔγϣϯͷΤϥʔௐ͕ࠪՄೳʹͳͬͨ
◦ ϝλใͱΫϥογϡঢ়گͷ࿈ܞ ◦ ࣗͨͪͰ؆୯ʹঢ়گΛੳ
ΞδΣϯμ • TVerͷհ • αʔϏεͷͱݟ͖͑ͯͨ՝ • New Relic OneಋೖʹΑΔվળͷτϥΠ •
ΦϒβʔόϏϦςΟ࠶ઃܭ • New Relic Oneͷ׆༻ࣄྫ • ·ͱΊ
TVerʹ͓͚Δ ΦϒβʔόϏϦςΟ
·ͱΊ TVerʹ͓͚ΔΦϒβʔόϏϦςΟ࣮ݱ·ͰͷಓͷΓ • ࣮ݱͷ伴ςϨϝτϦʔσʔλͰ͋Δͱཧղ • ςϨϝτϦʔσʔλͷऔಘํ๏Λཧ • New Relic OneͰςϨϝτϦʔσʔλΛऩू
• ऩूͨ͠ςϨϝτϦʔσʔλΛཧɾੳ ·ͣσʔλΛऩू͠؍ଌͰ͖ΔΑ͏ʹ͢Δ
before ☐ ϢʔβʔମݧͷѲ ☐ Մ༻ੑύϑΥʔϚϯεͷՄࢹԽ ☐ ൃੜ࣌ͷਝͳղܾ ☐ ϓϩΞΫςΟϒͳϞχλϦϯά ☐
SLI / SLOʹΑΔ৴པੑͷՄࢹԽ ·ͱΊ (ϞχλϦϯάपΓͷ՝) after ☑ ϢʔβʔମݧͷѲ ☑ Մ༻ੑύϑΥʔϚϯεͷՄࢹԽ ☑ ൃੜ࣌ͷਝͳղܾ ☐ ϓϩΞΫςΟϒͳϞχλϦϯά ☐ SLI / SLOʹΑΔ৴པੑͷՄࢹԽ
·ͱΊ to be continued…
ࣗݾհ ɾՃզ وࢤ (@TAKA_0411) ɾגࣜձࣾTVer ɹࣄۀຊ෦ ٕज़։ൃ෦ (2022/1ʙ) ɾझຯαφͱΧϝϥͱήʔϜ ɾ͖ͳςϨϝτϦʔσʔλTrace
None