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
ウォンテッドリーのインフラチームに加わってみて
Search
Kazuki Obata
November 20, 2024
Technology
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ウォンテッドリーのインフラチームに加わってみて
Wantedly Tech Night 〜サービスを支えるインフラ/SRE技術〜
https://wantedly.connpass.com/event/332164/
Kazuki Obata
November 20, 2024
More Decks by Kazuki Obata
See All by Kazuki Obata
ウォンテッドリーのアラート設計と Datadog 移行での知見
donkomura
0
750
KubeCon + CloudNativeCon Japan 2025 Recap
donkomura
0
940
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
510
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
340
散らばったトレースを繋げる技術
donkomura
1
900
AWS CLI で気軽にコスト改善やってみた
donkomura
1
320
入門 KRR
donkomura
0
420
Other Decks in Technology
See All in Technology
指示待ちから変化に応じるClaude Codeへ!~環境からAgentへの帰り道を作る~
gotalab555
9
1.8k
Claude Codeの体系的な理解と知識のフック
oikon48
10
6.6k
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
100
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
210
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
180
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
300
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
150
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
6
6.7k
振り返りこそエンジニアの本領
negima
0
260
データエンジニアリングワークショップ:Auto LoaderとSparkで学ぶデータパイプライン構築
databricksjapan
PRO
0
140
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
320
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
220
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.3k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Balancing Empowerment & Direction
lara
6
1.3k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
How to Ace a Technical Interview
jacobian
281
24k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
220
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Un-Boring Meetings
codingconduct
0
410
Designing for Performance
lara
611
70k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
510
Transcript
© 2024 Wantedly, Inc. ΥϯςουϦʔͷΠϯϑϥνʔϜ ʹՃΘͬͯΈͯ Wantedly Tech Night ʙαʔϏεΛࢧ͑ΔΠϯϑϥ/SREٕज़ʙ
Nov. 20 2024 - Kazuki Obata @donkomura
© 2024 Wantedly, Inc. ຊͷओ - ΥϯςουϦʔ Infra Squad ΛΔ
- ΥϯςουϦʔͷจԽɾงғؾΛײ͡Δ - VALUE ͱίϛϡχέʔγϣϯ - ۙ Join ͨ͠ࢲͷऔΓΈΛڞ༗ - ओʹ Observability ࢪࡦͷ͓
© 2024 Wantedly, Inc. ࣗݾհ ڊി थ (Obata Kazuki) @donkomura_
Wantedly, Inc. (2024/09 ~ ) ΠϯϑϥΤϯδχΞ #AWS #k8s #ࢄγεςϜ #storage #observability
© 2024 Wantedly, Inc. ࠓ͢͜ͱ - ֎ / ͔ΒݟͨΥϯςουϦʔ -
ೖࣾલޙͷ Wantedly - ଞʹͳ͍ັྗͱ՝ - จԽɾ৬ͷงғؾ - վળ͍ͨ͠ͱ͜Ζ - ೖࣾޙͷऔΓΈͱֶͼ - New Relic ͔Β Datadog ͷҠߦ
© 2024 Wantedly, Inc. ֎͔ΒݟͨΥϯςουϦʔ / ͔ΒݟͨΥϯςουϦʔ
© 2024 Wantedly, Inc. ೖࣾલʹݟ͍ͯͨ Wantedly - σβΠϯ͕͔͍͍ͬ͜ - KubernetesɾϚΠΫϩαʔϏε
- ϓϩμΫτج൫Λ EKS ʹҠߦ͠·ͨ͠ - ϚΠΫϩαʔϏεڞ௨ϥΠϒϥϦͰ “Governance through code” Λ࣮ݱ͢Δ - Go / Ruby - GoΛॻ͍ͯΈ͍ͨͱࢥ͍ͬͯΔֶੜ͞Μɻ͜ΕΛಡΊࠓ͙͢GoΛॻ͖ͨ͘ͳΔ ʢͣʂʣ#gocon ֶੜϒϩά·ͱΊ - ٕज़తʹઑͬͨूஂ ओ؍ଟΊͰ͢
© 2024 Wantedly, Inc. ೖࣾޙʹݟͨ Wantedly - ѻ͏ٕज़ɾͷ͕ଟذʹΘͨΔ - ͍͍ͷͦͷՁͳͲΛΑ͘આ໌্ͨ͠ͰऔΓೖΕ͍ͯ͘
- e.g. k8sɺSaaSɺϓϩάϥϛϯάݴޠɺCI/CD ύΠϓϥΠϯɺgRPC - ϚΠΫϩαʔϏε - Τϥʔௐٕࠪज़ελοΫ monolithic ͱҟͳΔ - ݸʑͷαʔϏεΠϯϑϥͷ͕ࣝඞཁʢΩϟονΞοϓʣ - Code Wins Arguments ❤ - ؾ͍ͨΒ͢ɾ՝ͱͯ͠·ͱΊΔจԽ - Team Geek ͷʮૉΒ͍͠νʔϜจԽΛ࡞Δʯʹ͍ۙ͠ - private ΄ͱΜͲͳ͍ Public ͳจԽ
© 2024 Wantedly, Inc. ଞʹͳ͍ັྗɾվળ͍ͨ͠ͱ͜Ζ - ັྗ - ѻ͏ٕज़ͷ෯͕͘ਂ͍ -
ϓϩδΣΫτͳͲͷॳಈ͕͍ - ෯͘ૉૣ͍ίϥϘϨʔγϣϯ - ΞϥʔτରԠͳͲͰҰ࣍ରԠ͕͍ɾૉૣ͘Ͱ͖Δڥ - վળ͍ͨ͠ͱ͜Ζ - ଐਓతͳͱ͜Ζ͋Δ - ՝ͷίϯςΩετ͕େ͖͍
© 2024 Wantedly, Inc. ۩ମྫ ೖࣾޙͷऔΓΈͱֶͼ
© 2024 Wantedly, Inc. New Relic ͔Β Datadog ͷҠߦ త
- Datadog ͱ New Relic Λซ༻ - ͍ͬͯΔػೳ΄΅ಉ͡ - ίετΛݮ͍ͨ͠ - New Relic ͱ Datadog Ͱඅ༻͕ೋॏʹൃੜ͍ͯ͠Δ - Observability ମݧΛू͢Δ - Datadog ʹ౷Ұ - Wantedly ʹͱͬͯ࠷దͳ Observability Λߟ͑Δ
© 2024 Wantedly, Inc. New Relic ͔Β Datadog ͷҠߦ -
தͰ APM ͷҠߦ͕େม - ظݶ·ͰʹඞͣऴΘΒ͍ͤͨ - ։ൃɾௐࠪͳͲ෯͘༻͍ΒΕ͍ͯΔͨΊ - ֤ॴͱີͳ࿈ܞ͕ඞཁ - ίʔυʹखΛՃ͑ͳ͚ΕͳΒͳ͍έʔε͕͋Δ - APMͱ - ΞϓϦέʔγϣϯͷϨΠςϯγ ΤϥʔΛࢹ͢ΔͨΊͷΈ - ࢄτϨʔγϯάΛ࣮ݱ͍ͯ͠Δ - ϦΫΤετશମͷύϑΥʔϚϯεΛՄࢹԽ ྫ: APM (Application Performance Monitoring) https://docs.datadoghq.com/ja/tracing/glossary/ τϨʔε εύϯ
© 2024 Wantedly, Inc. New Relic ͔Β Datadog ͷҠߦ 1.
Datadog APM ʹτϨʔεΛૹ৴ - OpenCensus with Datadog APM - OpenCensus ݱࡏ deprecated ͳαʔϏε - dd-trace 2. New Relic APM Λഇࢭ͢Δ - ϥΠϒϥϦͷܭ Λআ٫͢Δ - New Relic ͷτϨʔεͷૹ৴ΛΊΔ How
© 2024 Wantedly, Inc. New Relic ͔Β Datadog ͷҠߦ -
dd-trace-go ʹΑΔܭΛࢪ͢ ࣮ // τϨʔεΛ։࢝͢Δ tracer.Start( tracer.WithAgentAddr("host:port")), tracer.WithServiceName("wantedly"), tracer.WithEnv("production"), ) defer tracer.Stop() // εύϯΛੜ͢Δ span, ctx := tracer.StartSpanFromContext(ctx, operationName, tracer.ChildOf(sctx)) defer span.Finish()
© 2024 Wantedly, Inc. New Relic ͔Β Datadog ͷҠߦ -
New Relic ͷܭΛ֎͢ - εύϯͷੜΛΊΔ - τϨʔεΛ New Relic ʹૹ৴͠ͳ͍ - servicex ͷػೳͰ࣮ࢪ - NEWRELIC_ENABLED: 0 # εύϯͷੜΛΊΔ - nrtx := newrelic.FromContext(ctx) - defer newrelic.StartSegment(nrtx, segmentName).End() New Relic APM ͷഇࢭ
© 2024 Wantedly, Inc. New Relic ͔Β Datadog ͷҠߦ -
ಘͨͷɾֶͼ - ࢄτϨʔγϯάͷΈΛཧͰ͖ͨ - Datadog ౷Ұɾ։ൃऀؒͰମݧݟΛڞ༗Ͱ͖Δڥ - టष͘Ҡߦ͍ͯ͘͠ඞཁ͕͋Δ Code Wins Arguments, Get Things Done - plug-and-play ͳ࣮ʹͳ͍ͬͯΔͱخ͔ͬͨ͠ - Ͳ͜ʮྡͷνʔϜʯ One Team - ίϛϡχέʔγϣϯͷোน͕গͳ͍ - ՝ - Datadog ར༻ͷαϙʔτ - New Relic ͱମݧ͕ҟͳΔͨΊ։ൃऀ͚ͷαϙʔτΛ࣮ࢪ༧ఆ - Ͳ͜·ͰΞϓϦέʔγϣϯʹ࣮͢Δ͔ - Γ͗͢Δͱϝϯςφϯε͕େมʹͳΔ ֶͼͱࠓޙͷ՝
© 2024 Wantedly, Inc. ·ͱΊ
© 2024 Wantedly, Inc. ·ͱΊ ͨ͜͠ͱɺ͔͑ͨͬͨ͜ͱ - VALUE ͕͍ࠜͨձࣾ -
New Relic ഇࢭͷதͰײͨ͡ - ίϛϡχέʔγϣϯ͕͍ٞ͢͠ڥ - ૣ͘ಈ͚ΔɺΓ͖ΕΔ - ೖࣾޙͷऔΓΈͷҰྫΛհ - New Relic ഇࢭɾ Observability վળ - ·ͩ·ͩ໘ന͍՝͕ͨ͘͞Μ͋Δ - e.g. Observability ڧԽɺAWSڥཧɺϏϧυߴԽɺkubefork վળ