Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ウォンテッドリーのインフラチームに加わってみて

Avatar for Kazuki Obata Kazuki Obata
November 20, 2024

 ウォンテッドリーのインフラチームに加わってみて

Wantedly Tech Night 〜サービスを支えるインフラ/SRE技術〜
https://wantedly.connpass.com/event/332164/

Avatar for Kazuki Obata

Kazuki Obata

November 20, 2024
Tweet

More Decks by Kazuki Obata

Other Decks in Technology

Transcript

  1. © 2024 Wantedly, Inc. ຊ೔ͷओ୊ - ΢ΥϯςουϦʔ Infra Squad Λ஌Δ

    - ΢ΥϯςουϦʔͷจԽɾงғؾΛײ͡Δ - VALUE ͱίϛϡχέʔγϣϯ - ௚ۙ Join ͨ͠ࢲͷऔΓ૊ΈΛڞ༗ - ओʹ Observability ࢪࡦͷ͓࿩
  2. © 2024 Wantedly, Inc. ࣗݾ঺հ ڊി ࿨थ (Obata Kazuki) @donkomura_

    Wantedly, Inc. (2024/09 ~ ) ΠϯϑϥΤϯδχΞ #AWS #k8s #෼ࢄγεςϜ #storage #observability
  3. © 2024 Wantedly, Inc. ࠓ೔࿩͢͜ͱ - ֎ / ಺͔Βݟͨ΢ΥϯςουϦʔ -

    ೖࣾલޙͷ Wantedly - ଞʹͳ͍ັྗͱ՝୊ - จԽɾ৬৔ͷงғؾ - վળ͍ͨ͠ͱ͜Ζ - ೖࣾޙͷऔΓ૊Έͱֶͼ - New Relic ͔Β Datadog ΁ͷҠߦ
  4. © 2024 Wantedly, Inc. ೖࣾલʹݟ͍ͯͨ Wantedly - σβΠϯ͕͔͍͍ͬ͜ - KubernetesɾϚΠΫϩαʔϏε

    - ϓϩμΫτج൫Λ EKS ʹҠߦ͠·ͨ͠ - ϚΠΫϩαʔϏεڞ௨ϥΠϒϥϦͰ “Governance through code” Λ࣮ݱ͢Δ - Go / Ruby - GoΛॻ͍ͯΈ͍ͨͱࢥ͍ͬͯΔֶੜ͞Μ΁ɻ͜ΕΛಡΊ͹ࠓ͙͢GoΛॻ͖ͨ͘ͳΔ ʢ͸ͣʂʣ#gocon ֶੜϒϩά·ͱΊ - ٕज़తʹઑͬͨूஂ ओ؍ଟΊͰ͢
  5. © 2024 Wantedly, Inc. ೖࣾޙʹݟͨ Wantedly - ѻ͏ٕज़ɾ΋ͷ͕ଟذʹΘͨΔ - ͍͍΋ͷ͸ͦͷՁ஋ͳͲΛΑ͘આ໌্ͨ͠ͰऔΓೖΕ͍ͯ͘

    - e.g. k8sɺSaaSɺϓϩάϥϛϯάݴޠɺCI/CD ύΠϓϥΠϯɺgRPC - ϚΠΫϩαʔϏε - Τϥʔௐࠪ΍ٕज़ελοΫ΋ monolithic ͱҟͳΔ - ݸʑͷαʔϏε΍Πϯϑϥͷ஌͕ࣝඞཁʢ౎౓ΩϟονΞοϓʣ - Code Wins Arguments ❤ - ؾ෇͍ͨΒ௚͢ɾ՝୊ͱͯ͠·ͱΊΔจԽ - Team Geek ͷʮૉ੖Β͍͠νʔϜจԽΛ࡞Δʯʹ͍ۙ͠ - private ͸΄ͱΜͲͳ͍ Public ͳจԽ
  6. © 2024 Wantedly, Inc. ଞʹͳ͍ັྗɾվળ͍ͨ͠ͱ͜Ζ - ັྗ - ѻ͏ٕज़ͷ෯͕޿͘ਂ͍ -

    ϓϩδΣΫτͳͲͷॳಈ͕଎͍ - ෯޿͘ૉૣ͍ίϥϘϨʔγϣϯ - ΞϥʔτରԠͳͲͰҰ࣍ରԠ͕଎͍ɾૉૣ͘Ͱ͖Δ؀ڥ - վળ͍ͨ͠ͱ͜Ζ - ଐਓతͳͱ͜Ζ΋΍΍͋Δ - ՝୊ͷίϯςΩετ͕େ͖͍
  7. © 2024 Wantedly, Inc. New Relic ͔Β Datadog ΁ͷҠߦ ໨త

    - Datadog ͱ New Relic Λซ༻ - ࢖͍ͬͯΔػೳ͸΄΅ಉ͡ - ίετΛ࡟ݮ͍ͨ͠ - New Relic ͱ Datadog Ͱඅ༻͕ೋॏʹൃੜ͍ͯ͠Δ - Observability ମݧΛू໿͢Δ - Datadog ʹ౷Ұ - Wantedly ʹͱͬͯ࠷దͳ Observability Λߟ͑Δ
  8. © 2024 Wantedly, Inc. New Relic ͔Β Datadog ΁ͷҠߦ -

    தͰ΋ APM ͷҠߦ͕େม - ظݶ·ͰʹඞͣऴΘΒ͍ͤͨ - ։ൃɾௐࠪͳͲ෯޿͘༻͍ΒΕ͍ͯΔͨΊ - ֤ॴͱີͳ࿈ܞ͕ඞཁ - ίʔυʹखΛՃ͑ͳ͚Ε͹ͳΒͳ͍έʔε͕͋Δ - APMͱ͸ - ΞϓϦέʔγϣϯͷϨΠςϯγ΍ ΤϥʔΛ؂ࢹ͢ΔͨΊͷ࢓૊Έ - ෼ࢄτϨʔγϯάΛ࣮ݱ͍ͯ͠Δ - ϦΫΤετશମͷύϑΥʔϚϯεΛՄࢹԽ ྫ: APM (Application Performance Monitoring) https://docs.datadoghq.com/ja/tracing/glossary/ τϨʔε εύϯ
  9. © 2024 Wantedly, Inc. New Relic ͔Β Datadog ΁ͷҠߦ 1.

    Datadog APM ʹτϨʔεΛૹ৴ - OpenCensus with Datadog APM - OpenCensus ͸ݱࡏ deprecated ͳαʔϏε - dd-trace 2. New Relic APM Λഇࢭ͢Δ - ϥΠϒϥϦͷܭ૷ Λআ٫͢Δ - New Relic ΁ͷτϨʔεͷૹ৴Λ΍ΊΔ How
  10. © 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()
  11. © 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 ͷഇࢭ
  12. © 2024 Wantedly, Inc. New Relic ͔Β Datadog ΁ͷҠߦ -

    ಘͨ΋ͷɾֶͼ - ෼ࢄτϨʔγϯάͷ࢓૊ΈΛ੔ཧͰ͖ͨ - Datadog ΁౷Ұɾ։ൃऀؒͰମݧ΍஌ݟΛڞ༗Ͱ͖Δ؀ڥ - టष͘Ҡߦ͍ͯ͘͠ඞཁ͕͋Δ Code Wins Arguments, Get Things Done - plug-and-play ͳ࣮૷ʹͳ͍ͬͯΔͱخ͔ͬͨ͠ - Ͳ͜΋ʮྡͷνʔϜʯ One Team - ίϛϡχέʔγϣϯͷোน͕গͳ͍ - ՝୊ - Datadog ར༻ͷαϙʔτ - New Relic ͱମݧ͕ҟͳΔͨΊ։ൃऀ޲͚ͷαϙʔτΛ࣮ࢪ༧ఆ - Ͳ͜·ͰΞϓϦέʔγϣϯʹ࣮૷͢Δ͔ - ΍Γ͗͢Δͱϝϯςφϯε͕େมʹͳΔ ֶͼͱࠓޙͷ՝୊
  13. © 2024 Wantedly, Inc. ·ͱΊ ࿩ͨ͜͠ͱɺ఻͔͑ͨͬͨ͜ͱ - VALUE ͕ࠜ෇͍ͨձࣾ -

    New Relic ഇࢭͷதͰײͨ͡࿩ - ίϛϡχέʔγϣϯ΍ٞ࿦͕͠΍͍͢؀ڥ - ૣ͘ಈ͚Δɺ΍Γ͖ΕΔ - ೖࣾޙͷऔΓ૊ΈͷҰྫΛ঺հ - New Relic ഇࢭɾ Observability վળ - ·ͩ·ͩ໘ന͍՝୊͕ͨ͘͞Μ͋Δ - e.g. Observability ڧԽɺAWS؀ڥ੔ཧɺϏϧυߴ଎Խɺkubefork վળ