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

自己診断能力の獲得を目指して / Toward the acquisition of self-diagnostic skills

自己診断能力の獲得を目指して / Toward the acquisition of self-diagnostic skills

Takeshi Kondo

August 03, 2023
Tweet

More Decks by Takeshi Kondo

Other Decks in Technology

Transcript

  1. ࣗݾ਍அೳྗͷ֫ಘΛ໨ࢦͯ͠
    Takeshi Kondo / @chaspy


    2023/08/03


    Cloud Native Days Fukuoka 2023

    View Slide

  2. Who am I
    2
    chaspy chaspy_
    Engineering Manager

    Site Reliability and Web Application Development

    at Recruit Co., Ltd.

    ෱Ԭग़਎ͳͷͰࠓ೔͓࿩͠Ͱ͖ͯخ͍͠Ͱ͢😄
    Takeshi Kondo
    https://chaspy.me

    View Slide

  3. ʰελσΟαϓϦʱখதߴͷ։ൃΛ͍ͯ͠·͢
    3

    View Slide

  4. Cloud Native…?
    4

    View Slide

  5. 5
    • Infra: AWS & EKS / GCP (Pub/Sub, BigQuery)


    • CI: GitHub Actions & Self-Hosted runner


    • Ref: GitHub Actions Self-hosted Runner ͷಋೖͱ҆ఆӡ༻ʹ޲͚ͨي੻


    • CD: ArgoCD & ಺੡ͷ deploy-action
    ʰελσΟαϓϦʱ͸ Cloud Native

    View Slide

  6. Cloud Native ʹΑͬͯ։ൃऀ͕ࣗݾ׬݁͢ΔੈքΛ໨ࢦ͢
    • SRE νʔϜͷϛογϣϯ


    • “ࣗݾ׬݁νʔϜ͕ϓϩμΫτΛૉૣ҆͘શʹಧ͚ଓ͚ΔͨΊͷϓϥοτ
    ϑΥʔϜͱจԽΛ࡞Δ”


    • ࣗݾ׬݁: ࣗ෼ͨͪͰඞཁͳ΋ͷΛࣗ෼ͨͪͰ༻ҙͰ͖Δ͜ͱ


    • ։ൃɺQAɺσϓϩΠɺ؂ࢹɺશͯҰ؏ͯ͠։ൃऀ͕ߦ͏


    • QA ΤϯδχΞɺSRE ͸ͦͷαϙʔτ


    • ։ൃऀ͕ Kubernetes yaml ΋ Terraform HCL ΋ॻ͘͠ɺDatadog ͷ
    Dashboard ݟͯ Monitor ͷઃఆΛ͢ΔɻE2E ςετͷγφϦΦ΋ॻ͘ɻ
    ೚ҙͷλΠϛϯάͰσϓϩΠ͢Δɻ
    6

    View Slide

  7. Cloud Native ͔ͩΒͦ͜Ͱ͖Δ”͋ͨΓ·͑” (1/3)
    • On-Demand & Scalable


    • Pull Request ͝ͱͷ Preview ؀ڥ


    • ಠཱͨ͠ෛՙࢼݧ؀ڥ (ref: GitHub Actions Self-hosted Runner ͱ Gatling ʹΑΔෛՙࢼݧ)


    • ໷ؒɾٳ೔ͷ։ൃ؀ڥఀࢭ


    • ຊ൪σʔλϕʔεΛ։ൃ؀ڥ΁೔࣌ͰϦετΞ


    (ref: εϜʔζͳ։ൃମݧΛࢧ͑ΔσʔλϕʔεϦετΞͷ࢓૊Έ)
    7

    View Slide

  8. Cloud Native ͔ͩΒͦ͜Ͱ͖Δ”͋ͨΓ·͑” (2/3)
    • Declarative Con
    fi
    guration, Infrastructure as Code


    • ίʔυ͔Β API ܦ༝ͰϦιʔεΛมߋՄೳ


    • ίʔυࣗಈੜ੒ʹΑΓೝ஌ෛՙΛ௿ݮ͢Δ


    • Ϙλϯ1ͭͰ Terraform ͷ৽ن state / directory Λੜ੒Մೳ


    • ϚΠΫϩαʔϏεΛ৽ن࡞੒͢Δࡍͷ Kubernetes yaml Λࣗಈੜ੒


    • Datadog SLO ͷ Terraform HCL ͷࣗಈੜ੒
    8

    View Slide

  9. Cloud Native ͔ͩΒͦ͜Ͱ͖Δ”͋ͨΓ·͑” (3/3)
    • Declarative Con
    fi
    guration, Infrastructure as Code


    • Policy Check & CI ͰͷΨΠυʹΑΓೝ஌ෛՙΛ௿ݮ͢Δ
    9
    S3 όέοτ࡟আ࣌ɺforce_destroy
    ͕͍ͭͯͳ͍ͷͰܯࠂ
    PR ͝ͱͷ Preview ؀ڥσϓϩΠޙʹ௨஌


    ArgoCD ΁ͷϦϯΫ͕͋ΔͷͰ


    Քಇঢ়ଶ͕Θ͔Γ΍͍͢

    View Slide

  10. ࠓ೔͓࿩͢͠Δ͜ͱ


    Cloud Native ͳϓϩμΫτ։ൃ૊৫ʹ͓͚Δ


    ࣗݾ਍அೳྗൃ۷ͷࣄྫ
    10

    View Slide

  11. ઌʹ4ߦ·ͱΊ


    Cloud Native ͳϓϩμΫτ։ൃ૊৫Ͱ


    ٕज़ઓུάϧʔϓΛ্ཱͪ͛ͯ


    ࣗݾ਍அೳྗͷൃ۷Λ໨ࢦͨ݁͠Ռ


    ʮܧଓੑͱଟ༷ੑʯʹΑͬͯ͏·͘ߦͬͨ
    11

    View Slide

  12. Key Messages


    ܧଓੑͱଟ༷ੑ
    12

    View Slide

  13. Outline
    • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native


    • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ


    • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔


    • ͜Ε·ͰͷऔΓ૊Έ


    • ߟ࡯


    • ·ͱΊ
    13

    View Slide

  14. Outline
    • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native


    • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ


    • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔


    • ͜Ε·ͰͷऔΓ૊Έ


    • ߟ࡯


    • ·ͱΊ
    14

    View Slide

  15. ٕज़ઓུͱ͸


    ϓϩμΫτ։ൃ૊৫ʹ͓͍ͯ


    ԿΛ΍Δ͔ɺԿΛ΍Βͳ͍͔
    15

    View Slide

  16. ͳٕͥज़ઓུ͕ඞཁ͔
    • Ϗδωεͷ଎౓ʹ௥ਵ͢ΔͨΊ


    • มߋΛ͠΍͍͢γεςϜɾίʔυɾ૊৫ʹ͢Δ


    • มߋ଎౓Λ๦͛ΔཁҼ͸ઌճΓͯ͠ରॲ͢Δ(ٕज़తෛ࠴ͷฦࡁ)


    • ͦͷঢ়ଶΛ௕ظతʹҡ࣋Ͱ͖ΔೳྗΛಘΔ
    16

    View Slide

  17. ͳٕͥज़ઓུ”άϧʔϓ”͕ඞཁ͔
    17
    • ٕज़ઓུͷܾΊํ͸૊৫ʹΑͬͯҟͳΔ


    • 1ਓͷ CTO ͕τοϓμ΢ϯͰܾΊͯ΋͍͍


    • ϘτϜΞοϓͰશһ߹ٞͰܾΊͯ΋͍͍


    • ͦͷதؒͰ΋͍͍


    • ʰελσΟαϓϦʱ͸ٕज़ઓུΛ1ਓʹґଘ͠ͳ͍࢓૊ΈΛ࡞Δ͜ͱʹ
    ௅ઓ͍ͯ͠Δ

    View Slide

  18. ٕज़ઓུάϧʔϓͱ͸
    18
    • ໨త


    • ϓϩμΫτ։ൃ૊৫ͱͦͷγεςϜΛΑΓมԽʹڧ͘͢Δ


    • ໨ඪ


    • ٕज़తͳϏδϣϯͱํ਑ͷࡦఆ


    • ٕज़త՝୊ɾෛ࠴ΛίϯτϩʔϧԼʹஔ͘


    • վળαΠΫϧͷཱ֬ͱࣗݾ਍அೳྗͷ֫ಘ

    View Slide

  19. ׆ಈମ
    19
    • ໨త


    • ϓϩμΫτ։ൃ૊৫ͱͦͷγεςϜΛΑΓมԽʹڧ͘͢Δ


    • ໨ඪ


    • ٕज़తͳϏδϣϯͱํ਑ͷࡦఆ


    • ٕज़త՝୊ɾෛ࠴ΛίϯτϩʔϧԼʹஔ͘


    • վળαΠΫϧͷཱ֬ͱࣗݾ਍அೳྗͷ֫ಘ
    ԣஅG


    Ref:


    Who owns the Service Level?


    ٕज़ઓུԣஅϫʔΩϯάάϧʔϓͷ׆ಈใࠂ
    DevOps G

    View Slide

  20. DevOps G ͷ໨తͱ׆ಈ
    20
    • ໨తɿʢ։ൃνʔϜͷʣࣗݾ਍அೳྗͷ֫ಘͷͨΊʹઃஔ


    • ϝϯόʔ͸ ྖҬ͝ͱͷ WebDev / QA / SRE


    • ߹ܭ7໊ɺ༷ʑͳνʔϜ͔Βू·͍ͬͯΔ


    • શһ݉຿Ͱߏ੒


    • ׆ಈ͸िʹ1࣌ؒͷϛʔςΟϯά͕ϕʔε


    • Leader ͕ςʔϚʹԊͬͯϑΝγϦςʔγϣϯΛ͢Δ


    • ࿩͍ͨ͠τϐοΫ͕͋Ε͹୭Ͱ΋࣋ͪࠐΈok

    View Slide

  21. ෼͔Γ΍͍͢·ͱΊ
    21
    ελσΟαϓϦখதߴϓϩμΫτ։ൃ෦
    Stream Aligned Teams
    BtoB BtoC
    ԣஅܥ
    5FBN 5FBN 5FBN 5FBN
    43&
    ج൫։ൃ 2"
    5FBN 5FBN 5FBN 5FBN
    ԣஅ 'SPOUFOE
    %FW0QT
    ٕज़ઓུ
    ٕज़ઓུͷ͏ͪʮࣗݾ਍அೳྗͷ
    ֫ಘʯΛ໨ࢦ͢


    ֤νʔϜ͔Βશһ݉຿ͰࢀՃ

    View Slide

  22. Outline
    • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native


    • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ


    • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔


    • ͜Ε·ͰͷऔΓ૊Έ


    • ߟ࡯


    • ·ͱΊ
    22

    View Slide

  23. ࣗݾ਍அೳྗͱ͸
    23
    ਍அ͢ΔͨΊʹ͸ঢ়گΛ೺
    Ѳ͢Δඞཁ͕͋Δʢࢦඪ΍
    Ξηεϝϯτʣ
    ਍அ͢Δʹ͸·ͣප
    Ӄʹߦ͘ඞཁ͕͋Δ
    ʢ਍அͷτϦΨʔʣ
    ਍࡯ͯ͠පؾ͔Ͳ͏͔ͷ
    ൑ఆʢධՁʣɺ͋Δ͍͸
    ࣏ྍʢվળʣΛ͠ͳ͚Ε
    ͹ͳΒͳ͍

    View Slide

  24. ͳͥࣗݾ਍அೳྗ͕ॏཁ͔
    24
    • ʮ՝୊ʯͷಛ௃


    • ৗʹݟ͍͑ͯΔͱ͸ݶΒͳ͍


    • มΘΓଓ͚Δ


    • ࢦඪ΍ΞηεϝϯτΛ௨ͯࣗ͡෼ͨͪͷݱঢ়Λఆྔతʹ೺Ѳ͢
    Δඞཁ͕͋Δ
    • oneshot Ͱ͸ͳ͘ɺܧଓੑ΋ॏཁ


    • ࣗ෼ͨͪͷߦಈʹΑͬͯԿ͕มΘͬͨͷ͔ɺ͋Δ͍͸มΘΒͳ͔ͬͨͷ͔
    ΛධՁ͠ଓ͚Δඞཁ͕͋Δ

    View Slide

  25. Outline
    • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native


    • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ


    • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔


    • ͜Ε·ͰͷऔΓ૊Έ


    • ߟ࡯


    • ·ͱΊ
    25

    View Slide

  26. Timeline
    26
    2021 2022 2023
    CloudNative Days
    Fukuoka 2023
    όϦϡʔετϦʔϜ
    Ϛοϐϯά
    σϓϩΠස౓ͷܭଌ
    DX Criteria (2)
    DX Criteria (1)
    άϧʔϓͷϏδϣϯ
    ͱ൒ظ໨ඪͷઃఆ
    ։ൃνʔϜͰͷࢦඪΛ
    ༻͍ͨվળ͕ߦΘΕΔ
    DX Criteria (3)
    ͓͢͢ΊϝτϦΫεͷ
    ࡦఆ ܰྔ൛ͷ؂ࢹৼΓฦΓ
    ͷ࡞੒ͱݕূ
    νʔϜͷ؂ࢹशख़౓
    ৼΓฦΓ࡞੒

    View Slide

  27. Timeline
    27
    2021 2022 2023
    CloudNative Days
    Fukuoka 2023
    όϦϡʔετϦʔϜ
    Ϛοϐϯά
    σϓϩΠස౓ͷܭଌ
    DX Criteria (2)
    DX Criteria (1)
    άϧʔϓͷϏδϣϯ
    ͱ൒ظ໨ඪͷઃఆ
    ։ൃνʔϜͰͷࢦඪΛ
    ༻͍ͨվળ͕ߦΘΕΔ
    DX Criteria (3)
    ͓͢͢ΊϝτϦΫεͷ
    ࡦఆ ܰྔ൛ͷ؂ࢹৼΓฦΓ
    ͷ࡞੒ͱݕূ
    νʔϜͷ؂ࢹशख़౓
    ৼΓฦΓ࡞੒

    View Slide

  28. 2021೥લ൒
    28
    • ·ͣόϦϡʔετϦʔϜϚοϐϯάͰݱঢ়ೝࣝΛ߹Θͤͨ


    • ީิͱͳΔ Metrics Λग़͢


    • σϓϩΠճ਺ʢස౓ʣͷϞχλϦϯά


    • DX Criteria ʢΞηεϝϯτʣͷ࣮ࢪ

    View Slide

  29. όϦϡʔετϦʔϜϚοϐϯά
    29
    Meta Issue (Epic) ࡞੒~ ։ൃ

    View Slide

  30. όϦϡʔετϦʔϜϚοϐϯά
    30
    ։ൃ׬ྃ ~ εϓϦϯτϨϏϡʔ
    QA ~ ຊ൪ϦϦʔε

    View Slide

  31. ީิͱͳΔ Metrics / Indicator ͷચ͍ग़͠ͱܭଌ
    31
    όϦϡʔετϦʔϜϚοϐ
    ϯάΛΠϯϓοτʹɺվ
    ળͨ͠৔߹ͷϝϦοτͷ
    Ծઆ΍ɺͦΕΛ્֐ͯ͠
    ͍Δ໰୊ΛϐοΫΞοϓ

    View Slide

  32. DX Criteria ͷ࣮ࢪ
    32
    • ೔ຊ CTO ڠձ͕ࡦఆͨ͠ DX ʹؔ͢ΔΞηεϝϯτ


    • https://dxcriteria.cto-a.org/


    • DX = Digital Transformation & Developer Experience


    • 5ͭͷςʔϚ͕͋Δ


    • νʔϜ / γεςϜ / σʔλۦಈ / σβΠϯࢥߟ / ίʔϙϨʔτ


    • ։ൃ૊৫ͳΒνʔϜɺγεςϜ͔Β࢝ΊΔͷ͕͓͢͢Ί

    View Slide

  33. DX Criteria ͷ࣮ࢪ
    33 ref: ࣗ෼ͨͪͷγεςϜΛ਍அ͢ΔͨΊʹ DX Criteria"γεςϜ"ςʔϚΛ࣮ࢪ͠·ͨ͠

    View Slide

  34. Timeline
    34
    2021 2022 2023
    CloudNative Days
    Fukuoka 2023
    όϦϡʔετϦʔϜ
    Ϛοϐϯά
    σϓϩΠස౓ͷܭଌ
    DX Criteria (2)
    DX Criteria (1)
    άϧʔϓͷϏδϣϯ
    ͱ൒ظ໨ඪͷઃఆ
    ։ൃνʔϜͰͷࢦඪΛ
    ༻͍ͨվળ͕ߦΘΕΔ
    DX Criteria (3)
    ͓͢͢ΊϝτϦΫεͷ
    ࡦఆ ܰྔ൛ͷ؂ࢹৼΓฦΓ
    ͷ࡞੒ͱݕূ
    νʔϜͷ؂ࢹशख़౓
    ৼΓฦΓ࡞੒

    View Slide

  35. 2021೥ޙ൒
    35
    • औಘͨ͠ metrics ͕׆༻͞Ε͍ͯͳ͍͜ͱ͕՝୊ʹ্͕Δ


    • σϓϩΠ਺Λऔ͕ͬͨ෼ੳ͞Ε͍ͯͳ͍


    • Coverband ʹΑΔίʔυΧόϨοδ͕ݟΒΕ͍ͯͳ͍


    • DX Criteria 2ճ໨࣮ࢪ


    • ઃ໰ͷҙਤͷ֬ೝʹ͕͔͔࣌ؒΔ՝୊

    View Slide

  36. 2021೥ͷৼΓฦΓ
    36
    • 😄׆ಈΛܧଓͰ͖ͨ


    • 😄ࢦඪΛݕ౼͠ɺܭଌͨ͠



    😄DX CriteriaʢΞηεϝϯτʣΛ2౓࣮ࢪͨ͠


    • 🤔ࢦඪ͕վળͷ໾ʹཱ͍ͯͯͳ͍



    🤔DX Criteria ࣮ࢪ͸େมʢ͕͔͔࣌ؒΔɺղऍ͕೉͍͠ʣ


    View Slide

  37. Timeline
    37
    2021 2022 2023
    CloudNative Days
    Fukuoka 2023
    όϦϡʔετϦʔϜ
    Ϛοϐϯά
    σϓϩΠස౓ͷܭଌ
    DX Criteria (2)
    DX Criteria (1)
    άϧʔϓͷϏδϣϯ
    ͱ൒ظ໨ඪͷઃఆ
    ։ൃνʔϜͰͷࢦඪΛ
    ༻͍ͨվળ͕ߦΘΕΔ
    DX Criteria (3)
    ͓͢͢ΊϝτϦΫεͷ
    ࡦఆ ܰྔ൛ͷ؂ࢹৼΓฦΓ
    ͷ࡞੒ͱݕূ
    νʔϜͷ؂ࢹशख़౓
    ৼΓฦΓ࡞੒

    View Slide

  38. 2022೥લ൒
    38
    • άϧʔϓͷϏδϣϯΛࡦఆ


    • શͯͷ։ൃνʔϜ͕໰୊ΛࣗΒൃݟ͠վળ͠ଓ͚Δੈքͷ࣮ݱ


    • άϧʔϓͷ൒೥͝ͱͷ໨ඪΛఆΊͨ


    • DevOps G Ͱൃ۷ͨ͠ࢦඪΛ࢖ͬͯෳ਺ͷ։ൃνʔϜ͕վળαΠΫϧΛճͤͯ
    ͍Δ͜ͱ


    • DX Criteria 3ճ໨ͷ࣮ࢪ


    • ਍அͱͯ͠͸༗ޮ͕ͩɺ࣮ࡍʹվળΛ͢Δ͕࣌ؒͳ͍ͱ͍͏՝୊


    • ՝୊Λ࣋ͪࠐΜͰɺͦͷ৔Ͱղܾ͢Δ͜ͱ͕૿͖͑ͯͨ


    • ྫ: ͜ͷ໰୊ΛධՁ͢Δ Metrics ͋Δʁ͜͏ͨ͠ΒͰ͖ΔΑ

    View Slide

  39. 2022೥લ൒ͷৼΓฦΓ
    39
    • 😄໨ඪΛୡ੒Ͱ͖ͨ


    • DevOps G ࢀՃϝϯόʔ͕νʔϜʹ࣋ͪؼͬͯվળΛϦʔυ


    • DX Criteria ΛνʔϜ಺Ͱ࣮ࢪ


    • ςετΧόϨοδΛදࣔ͠ɺςετΛ૿΍͢



    🤔DX Criteria ࣮ࢪ͸େมʢ͕͔͔࣌ؒΔɺղऍ͕೉͍͠ʣ


    • લͷظ͔Βܧଓ

    View Slide

  40. Timeline
    40
    2021 2022 2023
    CloudNative Days
    Fukuoka 2023
    όϦϡʔετϦʔϜ
    Ϛοϐϯά
    σϓϩΠස౓ͷܭଌ
    DX Criteria (2)
    DX Criteria (1)
    άϧʔϓͷϏδϣϯ
    ͱ൒ظ໨ඪͷઃఆ
    ։ൃνʔϜͰͷࢦඪΛ
    ༻͍ͨվળ͕ߦΘΕΔ
    DX Criteria (3)
    ͓͢͢ΊϝτϦΫεͷ
    ࡦఆ ܰྔ൛ͷ؂ࢹৼΓฦΓ
    ͷ࡞੒ͱݕূ
    νʔϜͷ؂ࢹशख़౓
    ৼΓฦΓ࡞੒

    View Slide

  41. 2022೥ޙ൒
    41
    • άϧʔϓͷ໨ඪΛมߋ


    • Before: DevOps G Ͱൃ۷ͨ͠ࢦඪΛ࢖ͬͯෳ਺ͷ։ൃνʔϜ͕վળαΠΫϧΛճ͍ͤͯ
    Δ͜ͱ


    • After: ։ൃνʔϜ͕ࣗΒඞཁͳࢦඪΛൃݟ͠ɺվળαΠΫϧΛճ͢͜ͱ͕Ͱ͖͍ͯΔ͜ͱ


    • ʮ͓͢͢ΊϝτϦΫεʯͷࡦఆ


    • લ೥ʹચ͍ग़ͨ͠ࢦඪͱ͸ผ


    • औಘํ๏΍ޮՌޮೳΛهࡌ


    • ͓͢͢ΊϝτϦΫεಉ࢜ͷؔ܎ਤ΋࡞੒


    • ಠࣗͷʮνʔϜͷ؂ࢹशख़౓ৼΓฦΓʯΛ࡞੒ɺ࣮ࢪ

    View Slide

  42. ͓͢͢ΊϝτϦΫε
    42

    View Slide

  43. ͓͢͢ΊϝτϦΫεؔ܎ਤ
    43

    View Slide

  44. νʔϜͷ؂ࢹशख़౓ৼΓฦΓ - Google form Ͱ࣮ࢪ
    44

    View Slide

  45. νʔϜͷ؂ࢹशख़౓ৼΓฦΓ - Ϩϕϧ͝ͱͷΞΫγϣϯ(1/3)
    45
    ॳظঢ়ଶɻ؂ࢹ͓ͯ͠ΒͣྼԽΛ࡯஌Ͱ͖ͳ͍ɺΞΫγϣϯͷओମऀ΋ෆ໌ྎͰ͋Δɻ
    ؂ࢹͷͨΊͷ࢓૊Έ͸ Production Readiness Checklist ͳͲΛ௨ͯ͡ఆΊΒΕ͍ͯΔɻ


    ͔͠͠ྼԽʹର͢ΔΞΫγϣϯ͕ͳ͞Ε͍ͯͳ͍ɻ

    View Slide

  46. νʔϜͷ؂ࢹशख़౓ৼΓฦΓ - Ϩϕϧ͝ͱͷΞΫγϣϯ(2/3)
    46
    ؂ࢹͷͨΊͷϓϩηε͕श׳Խ͞Εɺ࡯஌ͨ͠ྼԽʹ͍ͨͯ͠ΞΫγϣϯ͕औΒΕ͍ͯΔɻ

    View Slide

  47. νʔϜͷ؂ࢹशख़౓ৼΓฦΓ - Ϩϕϧ͝ͱͷΞΫγϣϯ(3/3)
    47
    Level 2 ʹՃ͑ɺ؂ࢹख๏΍ϓϩηε͸ܧଓతʹݟ௚͓ͯ͠Γɺվળ͠ଓ͚͍ͯΔɻ

    View Slide

  48. νʔϜͷ؂ࢹशख़౓ৼΓฦΓΛ΍ͬͯΈͯ
    48
    • ΄ͱΜͲͷαʔϏε͕ Level 2 ͩͬͨ


    • Level2: ؂ࢹͷͨΊͷϓϩηε͕श׳Խ͞Εɺ࡯஌ͨ͠ྼԽʹରͯ͠ΞΫγϣϯ͕औΒΕ
    ͍ͯΔ


    • Production Readiness Checklist Ͱ؂ࢹઃఆ͸Ұ௨Γ͢ΔͨΊ


    • Level 3 ͷαʔϏε͸΄΅ͳ͍


    • Level3: Level 2 ʹՃ͑ɺ؂ࢹख๏΍ϓϩηε͸ܧଓతʹݟ௚͓ͯ͠Γɺվળ͠ଓ͚͍ͯΔɻ


    • ϓϩηεͦͷ΋ͷͷఆظతͳݟ௚͠ = ࣗݾ਍அࣗମͷ਍அ͸Ͱ͖͍ͯͳ͍


    • ϚΠΫϩαʔϏε୯Ґɾػೳ୯ҐͰ࣮ࢪͨ͠ͷͰɺ1ͭͷνʔϜ͕ෳ਺ճ౴͠
    ͳ͚Ε͹ͳΒͣɺճ౴ࣗମ͕ॏ͔ͬͨ


    • ܧଓੑʹ՝୊͕͋Δ

    View Slide

  49. 2022೥ޙ൒ͷৼΓฦΓ
    49
    • 😄͓͢͢ΊϝτϦΫεͷ੍ఆͱͦͷؔ܎ਤͷ࡞੒Λͨ͠


    • 😄؂ࢹʹؔ͢ΔಠࣗͷΞηεϝϯτΛ࡞੒ͨ͠


    • 😄ίϥϘϨʔγϣϯ͕૿͑ͨ


    • quipper/google-cloud-pub-sub-operator


    • SRE / WebDev Ͱ PR ؀ڥͰڞ༗ͷ Cloud Pub/Sub ʹΑΓɺτϐοΫ
    ͕औΒΕͯ͠·͏՝୊Λղܾ͢ΔͨΊʹ࡞ͬͨ Kubernetes Operator


    • 🤔Ξηεϝϯτࣗମ͕ʮॏ͍ʯ͜ͱ͸΍͸Γ՝୊ʹ

    View Slide

  50. Timeline
    50
    2021 2022 2023
    CloudNative Days
    Fukuoka 2023
    όϦϡʔετϦʔϜ
    Ϛοϐϯά
    σϓϩΠස౓ͷܭଌ
    DX Criteria (2)
    DX Criteria (1)
    άϧʔϓͷϏδϣϯ
    ͱ൒ظ໨ඪͷઃఆ
    ։ൃνʔϜͰͷࢦඪΛ
    ༻͍ͨվળ͕ߦΘΕΔ
    DX Criteria (3)
    ͓͢͢ΊϝτϦΫεͷ
    ࡦఆ ܰྔ൛ͷ؂ࢹৼΓฦΓ
    ͷ࡞੒ͱݕূ
    νʔϜͷ؂ࢹशख़౓
    ৼΓฦΓ࡞੒

    View Slide

  51. 2023೥લ൒ʢݱࡏʣ
    51
    • άϧʔϓͷ໨ඪ͸ҡ࣋


    • ։ൃνʔϜ͕ࣗΒඞཁͳࢦඪΛൃݟ͠ɺվળαΠΫϧΛճ͢͜ͱ͕Ͱ͖͍ͯΔ͜ͱ


    • ༗ӹͳࢦඪͷൃ۷ͱվળ


    • monorepo ͷ CI ܭଌπʔϧΛಈ͔͢


    • ্ه GitHub Action Λ OSS ͱͯ͠੾Γग़ͨ͠ ref: quipper/send-ci-result-to-bigquery-action


    • ES2 Test(MagicPod) ͷ࣮ߦ݁Ռͷܭଌ


    ref: chaspy/magicpod-datadog-action / ʰελσΟαϓϦ தֶߨ࠲ʱʹ͓͚Δ E2E Test ͷӡ༻ͱܭଌʹΑΔվળ


    • ؂ࢹͷৼΓฦΓΞηεϝϯτͷܰྔ൛Λ࡞੒ɺݕূத

    View Slide

  52. ༗ӹͳࢦඪͷൃ۷ͱվળ / DevOps G Ͱ࡞ͬͨ CI ܭଌ͔Βվળ΁
    52

    View Slide

  53. ؂ࢹৼΓฦΓͷܰྔ൛
    53

    View Slide

  54. ؂ࢹৼΓฦΓͷܰྔ൛
    54

    View Slide

  55. ؂ࢹৼΓฦΓͷܰྔ൛Λ΍ͬͯΈͯ
    55
    • ·ͣ DevOps WG ಺Ͱෳ਺ճ࣮ࢪ͍ͯ͠Δ


    • 5ஈ֊ධՁ͸؆୯


    • ਍அࣗମΛܰྔԽ͢Δ͜ͱʹΑͬͯश׳Խͤ͞ΒΕΔ


    • ओ؍ʹΑΓϒϨͯ͠·͏՝୊͸্͕͕ͬͨɺ͍ͭͨ਺஋ࣗମ͸Ͳ͏Ͱ
    ΋Α͘ɺνʔϜ಺ͰղऍΛձ࿩͢Δ͜ͱ͕ॏཁ


    • ؂ࢹπʔϧʹؔ͢Δ Tips ͕ू·Δͷ͸૝ఆ֎ʹ༗ӹͩͬͨ

    View Slide

  56. Outline
    • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native


    • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ


    • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔


    • ͜Ε·ͰͷऔΓ૊Έ


    • ߟ࡯


    • ·ͱΊ
    56

    View Slide

  57. ͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨ΋ͷ
    57
    • ࢦඪ΍ΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δ஌ݟ


    • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද


    • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ


    • ࣗݾ਍அೳྗʹ͍ͭͯձ࿩͠ଓ͚ΒΕΔ৔ॴ


    • ͨ͘͞Μͷ՝୊ղܾ

    View Slide

  58. ͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨ΋ͷ
    58
    • ࢦඪ΍ΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δ஌ݟ


    • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද


    • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ


    • ࣗݾ਍அೳྗʹ͍ͭͯձ࿩͠ଓ͚ΒΕΔ৔ॴ


    • ͨ͘͞Μͷ՝୊ղܾ

    View Slide

  59. ࢦඪ΍Ξηεϝϯτʹؔ͢Δߟ࡯
    59
    • ࢦඪ͸औಘ͢Δ͚ͩͰ͸ҙຯ͕ͳ͍ʢͦΕ͸ͦ͏ʣ


    • ධՁͯ͠վળ͠ͳ͚Ε͹ҙຯ͕ͳ͍ => νʔϜʹ࣋ͪؼͬͯ΋Β͏ඞཁ͕͋Δ


    • ࢦඪ͸՝୊͕͋ͬͯॳΊͯ໾ʹͨͭ => ՝୊͕ू·Δ৔͕༗ޮ


    • ࢦඪͷऔಘࣗମ͸ٕज़ྗ΍γεςϜͷཧղ͕ඞཁ


    • ΞηεϝϯτͷϙΠϯτ


    • ܧଓ͕ͦ͜࠷΋ॏཁ


    • ࣮ࢪࣗମ͕େมͩͱଓ͔ͳ͍ɺश׳ԽͱܰྔԽ͕ॏཁ


    • ΞΫγϣϯʹܨ͛Δʹ͸νʔϜͰճ౴ͷࠜڌΛ࿩͢ͷ͕େࣄ

    View Slide

  60. ͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨ΋ͷ
    60
    • ࢦඪ΍ΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δ஌ݟ


    • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද


    • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ


    • ࣗݾ਍அೳྗʹ͍ͭͯձ࿩͠ଓ͚ΒΕΔ৔ॴ


    • ͨ͘͞Μͷ՝୊ղܾ

    View Slide

  61. ࣗݾ਍அೳྗʹ͍ͭͯձ࿩͠ଓ͚ΒΕΔ৔ॴ
    61
    • िʹ1౓ɺ1࣌ؒ࿩͚ͩ͢


    • 1೥ؒͰ52࣌ؒʢ࣮ࡍʹ͸ٳΈ͕͋ΔͷͰ΋ͬͱগͳ͍ʣ


    • ͍ͭͰ΋࿩୊Λ౤͛ࠐΊΔ৔ॴ͕͋Δ͜ͱʹΑΔར఺


    • ໰୊͸ݱΕଓ͚Δ͠ɺܗΛม͑ଓ͚Δ


    • ଟ༷ͳϝϯόʔͰղܾ͕Ͱ͖Δ


    • ͔ͩΒͦࣗ͜ݾ਍அೳྗ͕ॏཁͰ͋Γɺܧଓੑ͕େࣄ

    View Slide

  62. ͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨ΋ͷ
    62
    • ࢦඪ΍ΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δ஌ݟ


    • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද


    • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ


    • ࣗݾ਍அೳྗʹ͍ͭͯձ࿩͠ଓ͚ΒΕΔ৔ॴ


    • ͨ͘͞Μͷ՝୊ղܾ

    View Slide

  63. ͜ͷάϧʔϓΛى఺ʹͨ͘͞Μͷ՝୊ղܾ͕Ͱ͖ͨ
    63
    • ՝୊ղܾ͸ओͳ໨తͰ͸ͳ͔ͬͨͨΊɺ෭࣍తʹى͖ͨ


    • ՝୊Λ࣋ͪࠐΉͱʮͦΕ͙͢Ͱ͖ΔΑʯͱͳΔ


    • εϐϯΦϑతʹαϒϓϩδΣΫτ΋͍͔ͭ͘ੜ·Εͨ


    • ߏ੒ϝϯόʔͷଟ༷ੑͱٕज़ྗʹΑΓɺ୯ҰνʔϜ಺Ͱ͸ಘΒΕͳ͍ྑ͍
    ՝୊ͷൃݟͱղܾ͕Ͱ͖͍ͯΔ


    • ૊৫ͷঢ়گʹ׆ಈ͕Ϛονͨ͠


    • େن໛(80~)૊৫͔ͭɺCloud Native ʹΑΓ֤νʔϜ͕ࣗݾ׬݁తʹ։ൃΛਐΊΒΕ
    ΔΑ͏ʹͳͬͨ൓໘ɺνʔϜؒͷίϛϡχέʔγϣϯ΋࠷খԽ͞Ε͍ͯΔ͜ͱͰɺ՝
    ୊ൃݟ΍஌ݟͷڞ༗͕ͮ͠Β͘ͳ͍ͬͯͨ


    • ԣஅతɾଟ༷ͳϝϯόʔͰߏ੒͞Εͨάϧʔϓ͕ޮՌΛൃشͨ͠

    View Slide

  64. ࠷΋େ੾ͳ͜ͱ


    ܧଓੑͱଟ༷ੑ
    64

    View Slide

  65. ܧଓͰ͖͍ͯΔཧ༝: Ϛωδϝϯτͷ޻෉
    65
    • 2೥൒ɺԣஅɺશһ݉຿Ͱܧଓ͍ͯ͠Δͷ͸͍͢͝


    • ʮ๩͍͠ͷͰ…ʯͱͳΓ͕ͪ


    • Lead / Management ͷ෼཭(Ұൠ࿦)


    • νʔϜʹඞཁͳεΩϧΛௐୡͨ͠Γɺํ޲ੑΛܾΊΔ Management


    • ໨ඪʹ޲͔ͬͯνʔϜΛલʹਐΊΔ Lead


    • ͜ΕΛ1ਓ͕΍ΔͱർΕͯ͠·͏


    • Ϗδϣϯɾϛογϣϯͷࡦఆ(Ұൠ࿦)


    • νʔϜΛલʹਐΊΔͷʹ༗ޮ


    • ϝϯόʔͷ਺ɾଟ༷ੑҡ࣋ɾLeader ΞαΠϯ


    • ཭৬ɾ཭೚͸͜Ε·Ͱগͳ͔Βͣ͋ͬͨ


    • ͦͷࡍ΋ඞͣଟ༷ੑ͕୲อ͞ΕΔΑ͏ʹϝϯόʔͷΞαΠϯΛ৺͕͚ͨ

    View Slide

  66. ܧଓͰ͖͍ͯΔཧ༝: ૊৫ߏ੒
    66
    • ֤νʔϜ͔Βଟ༷ͳϝϯόʔ͕બ͹ΕͯɺνʔϜʹ࣋ͪؼΔ͜ͱͷྑ͞


    • ࢦඪ΍ΞηεϝϯτΛݕূͯ͠ɺ࣮ࡍʹվળʹ׆͔͢ɺͱ͍͏άϧʔϓͷ໨ඪʹϚονͨ͠


    • ͜ͷߏ଄͸ҎԼͷར఺͕͋Δ


    • ։ൃνʔϜͷ Ownership ΛߴΊΒΕɺࣗݾ׬݁νʔϜΛࢧ͑ΒΕΔ


    • DevOps νʔϜ vs ։ൃνʔϜͷΑ͏ʹରཱߏ଄ʹͳΒͳ͍ɾݖҖతʹͳΒͳ͍


    • ՝୊͕ू·Δ৔ॴʹͳΔ


    • ந৅తɾ൚༻తͳιϦϡʔγϣϯΛੜΈग़͠΍͘͢ͳΔ


    • ͜Ε͸ҰछͷσβΠϯύλʔϯʢ໊લΛ͚͍ͭͨ…ʣ


    • ֤νʔϜ͔Β݉຿Ͱू߹ͯٞ͠࿦ˍνʔϜʹ࣋ͪؼ࣮ͬͯફΛϑΝγϦςʔγϣϯ


    • QA จ຺Ͱ΋ಉ༷ͷ੒ޭମݧΛಘΒΕͨͷͰ࠶ݱੑ͕͋Δ Ref: ʰελσΟαϓϦ தֶߨ࠲ʱʹ͓͚Δ E2E Test ͷӡ༻ͱܭଌʹΑΔվળ

    View Slide

  67. ֤νʔϜ͔Β݉຿Ͱू߹ͯٞ͠࿦ˍνʔϜʹ࣋ͪؼ࣮ͬͯફΛϑΝγϦςʔγϣϯύλʔϯ
    67
    ελσΟαϓϦখதߴϓϩμΫτ։ൃ෦
    Stream Aligned Teams
    BtoB BtoC
    ԣஅܥ
    5FBN 5FBN 5FBN 5FBN
    43&
    ج൫։ൃ 2"
    5FBN 5FBN 5FBN 5FBN
    ԣஅ 'SPOUFOE
    %FW0QT
    ٕज़ઓུ 1. ू߹ͯٞ͠࿦
    2. ࣋ͪؼ࣮ͬͯફ

    View Slide

  68. ܧଓͰ͖͍ͯΔཧ༝: ૊৫จԽ
    68
    • ձࣾ౷߹લ(Quipper࣌୅)͔Β͋ΔόϦϡʔͱϚονͨ͠


    • Fact-Based


    • Ownership


    ref: ձࣾ঺հࢿྉ


    • Fact-Based ʹٞ࿦͢ΔͨΊʹࢦඪΛ୳ڀ͢Δ


    • Cloud Native ʹΑͬͯ։ൃऀ͕ Ownership Λ࣋ͬͯϑϧα
    ΠΫϧͰ໘౗ΛݟΔ

    View Slide

  69. Outline
    • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native


    • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ


    • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔


    • ͜Ε·ͰͷऔΓ૊Έ


    • ߟ࡯


    • ·ͱΊ
    69

    View Slide

  70. ·ͱΊ


    Cloud Native ͳϓϩμΫτ։ൃ૊৫Ͱ


    ٕज़ઓུάϧʔϓΛ্ཱͪ͛ͯ


    ࣗݾ਍அೳྗͷൃ۷Λ໨ࢦͨ݁͠Ռ


    ʮܧଓੑͱଟ༷ੑʯʹΑͬͯ͏·͘ߦͬͨ
    70

    View Slide

  71. ·ͱΊ
    71
    • ࣗݾ਍அೳྗͷπʔϧͰ͋Δࢦඪ΍Ξηεϝϯτ͸ͦΕࣗମΛݕ
    ূɺධՁ͠ɺࣗ૊৫ʹϑΟοτ͢Δ͔Λ֬ೝ͢Δඞཁ͕͋Δ


    • ࣗݾ਍அ͸ܧଓੑ͕࠷΋ॏཁͰ͋ΓɺͦͷͨΊʹ਍அࣗମΛܰ
    ͘͢Δ͜ͱ΍ɺ਍அΛਪ͠ਐΊΔϫʔΩϯάάϧʔϓࣗମ͕ܧଓ
    ͍ͯ͠Δ͜ͱ͕ॏཁͰ͋Δ


    • ࣗݾ਍அೳྗͷ࣮૷Λ୲͏ԣஅάϧʔϓΛଟ༷ͳϩʔϧɾνʔϜ
    ͔Βߏ੒͢Δ͜ͱʹΑΓɺଟ༷ͳϢʔεέʔε͕ू·Δ͜ͱʹͳ
    Γɺ՝୊ൃݟͱվળαΠΫϧ͕Ճ଎͞ΕΔ


    • ݁Ռɺ෭࣍తʹ࣮ࡍͷ՝୊ղܾ΋ଅਐ͞Εͨ

    View Slide

  72. ࠷΋େ੾ͳ͜ͱ


    ܧଓੑͱଟ༷ੑ
    72

    View Slide

  73. ঺հ࣮ͨ͠ྫ΍Ϛωδϝϯτͷ޻෉͔Β


    ώϯτΛಘͯ΋Β͑Δͱخ͍͠Ͱ͢
    73

    View Slide

  74. Thank you!
    74
    chaspy chaspy_
    Engineering Manager

    Site Reliability and Web Application Development

    at Recruit Co., Ltd.

    ෱Ԭָ͠ΜͰ͍ͬͯͶ😄 ࠙਌ձͰ࿩͠·͠ΐ͏ʂ👋
    Takeshi Kondo
    https://chaspy.me

    View Slide