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
0
200
ウォンテッドリーのインフラチームに加わってみて
Wantedly Tech Night 〜サービスを支えるインフラ/SRE技術〜
https://wantedly.connpass.com/event/332164/
Kazuki Obata
November 20, 2024
Tweet
Share
More Decks by Kazuki Obata
See All by Kazuki Obata
ウォンテッドリーのアラート設計と Datadog 移行での知見
donkomura
0
400
KubeCon + CloudNativeCon Japan 2025 Recap
donkomura
0
290
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
410
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
210
散らばったトレースを繋げる技術
donkomura
1
740
AWS CLI で気軽にコスト改善やってみた
donkomura
1
210
入門 KRR
donkomura
0
300
Other Decks in Technology
See All in Technology
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
150
はじめてのOSS開発からみえたGo言語の強み
shibukazu
1
110
S3アクセス制御の設計ポイント
tommy0124
3
200
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.4k
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
170
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
240
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
270
roppongirb_20250911
igaiga
1
240
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Context Engineering - Making Every Token Count
addyosmani
3
46
Writing Fast Ruby
sferik
628
62k
The Language of Interfaces
destraynor
161
25k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
112
20k
Designing Experiences People Love
moore
142
24k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Faster Mobile Websites
deanohume
309
31k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
BBQ
matthewcrist
89
9.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
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 վળ