Slide 1

Slide 1 text

ࣗݾ਍அೳྗͷ֫ಘΛ໨ࢦͯ͠ Takeshi Kondo / @chaspy 2023/08/03 Cloud Native Days Fukuoka 2023

Slide 2

Slide 2 text

Who am I 2 chaspy chaspy_ Engineering Manager Site Reliability and Web Application Development at Recruit Co., Ltd. ෱Ԭग़਎ͳͷͰࠓ೔͓࿩͠Ͱ͖ͯخ͍͠Ͱ͢😄 Takeshi Kondo https://chaspy.me

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

Cloud Native…? 4

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Cloud Native ʹΑͬͯ։ൃऀ͕ࣗݾ׬݁͢ΔੈքΛ໨ࢦ͢ • SRE νʔϜͷϛογϣϯ • “ࣗݾ׬݁νʔϜ͕ϓϩμΫτΛૉૣ҆͘શʹಧ͚ଓ͚ΔͨΊͷϓϥοτ ϑΥʔϜͱจԽΛ࡞Δ” • ࣗݾ׬݁: ࣗ෼ͨͪͰඞཁͳ΋ͷΛࣗ෼ͨͪͰ༻ҙͰ͖Δ͜ͱ • ։ൃɺQAɺσϓϩΠɺ؂ࢹɺશͯҰ؏ͯ͠։ൃऀ͕ߦ͏ • QA ΤϯδχΞɺSRE ͸ͦͷαϙʔτ • ։ൃऀ͕ Kubernetes yaml ΋ Terraform HCL ΋ॻ͘͠ɺDatadog ͷ Dashboard ݟͯ Monitor ͷઃఆΛ͢ΔɻE2E ςετͷγφϦΦ΋ॻ͘ɻ ೚ҙͷλΠϛϯάͰσϓϩΠ͢Δɻ 6

Slide 7

Slide 7 text

Cloud Native ͔ͩΒͦ͜Ͱ͖Δ”͋ͨΓ·͑” (1/3) • On-Demand & Scalable • Pull Request ͝ͱͷ Preview ؀ڥ • ಠཱͨ͠ෛՙࢼݧ؀ڥ (ref: GitHub Actions Self-hosted Runner ͱ Gatling ʹΑΔෛՙࢼݧ) • ໷ؒɾٳ೔ͷ։ൃ؀ڥఀࢭ • ຊ൪σʔλϕʔεΛ։ൃ؀ڥ΁೔࣌ͰϦετΞ (ref: εϜʔζͳ։ൃମݧΛࢧ͑ΔσʔλϕʔεϦετΞͷ࢓૊Έ) 7

Slide 8

Slide 8 text

Cloud Native ͔ͩΒͦ͜Ͱ͖Δ”͋ͨΓ·͑” (2/3) • Declarative Con fi guration, Infrastructure as Code • ίʔυ͔Β API ܦ༝ͰϦιʔεΛมߋՄೳ • ίʔυࣗಈੜ੒ʹΑΓೝ஌ෛՙΛ௿ݮ͢Δ • Ϙλϯ1ͭͰ Terraform ͷ৽ن state / directory Λੜ੒Մೳ • ϚΠΫϩαʔϏεΛ৽ن࡞੒͢Δࡍͷ Kubernetes yaml Λࣗಈੜ੒ • Datadog SLO ͷ Terraform HCL ͷࣗಈੜ੒ 8

Slide 9

Slide 9 text

Cloud Native ͔ͩΒͦ͜Ͱ͖Δ”͋ͨΓ·͑” (3/3) • Declarative Con fi guration, Infrastructure as Code • Policy Check & CI ͰͷΨΠυʹΑΓೝ஌ෛՙΛ௿ݮ͢Δ 9 S3 όέοτ࡟আ࣌ɺforce_destroy ͕͍ͭͯͳ͍ͷͰܯࠂ PR ͝ͱͷ Preview ؀ڥσϓϩΠޙʹ௨஌ ArgoCD ΁ͷϦϯΫ͕͋ΔͷͰ Քಇঢ়ଶ͕Θ͔Γ΍͍͢

Slide 10

Slide 10 text

ࠓ೔͓࿩͢͠Δ͜ͱ Cloud Native ͳϓϩμΫτ։ൃ૊৫ʹ͓͚Δ ࣗݾ਍அೳྗൃ۷ͷࣄྫ 10

Slide 11

Slide 11 text

ઌʹ4ߦ·ͱΊ Cloud Native ͳϓϩμΫτ։ൃ૊৫Ͱ ٕज़ઓུάϧʔϓΛ্ཱͪ͛ͯ ࣗݾ਍அೳྗͷൃ۷Λ໨ࢦͨ݁͠Ռ ʮܧଓੑͱଟ༷ੑʯʹΑͬͯ͏·͘ߦͬͨ 11

Slide 12

Slide 12 text

Key Messages ܧଓੑͱଟ༷ੑ 12

Slide 13

Slide 13 text

Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓ૊Έ • ߟ࡯ • ·ͱΊ 13

Slide 14

Slide 14 text

Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓ૊Έ • ߟ࡯ • ·ͱΊ 14

Slide 15

Slide 15 text

ٕज़ઓུͱ͸ ϓϩμΫτ։ൃ૊৫ʹ͓͍ͯ ԿΛ΍Δ͔ɺԿΛ΍Βͳ͍͔ 15

Slide 16

Slide 16 text

ͳٕͥज़ઓུ͕ඞཁ͔ • Ϗδωεͷ଎౓ʹ௥ਵ͢ΔͨΊ • มߋΛ͠΍͍͢γεςϜɾίʔυɾ૊৫ʹ͢Δ • มߋ଎౓Λ๦͛ΔཁҼ͸ઌճΓͯ͠ରॲ͢Δ(ٕज़తෛ࠴ͷฦࡁ) • ͦͷঢ়ଶΛ௕ظతʹҡ࣋Ͱ͖ΔೳྗΛಘΔ 16

Slide 17

Slide 17 text

ͳٕͥज़ઓུ”άϧʔϓ”͕ඞཁ͔ 17 • ٕज़ઓུͷܾΊํ͸૊৫ʹΑͬͯҟͳΔ • 1ਓͷ CTO ͕τοϓμ΢ϯͰܾΊͯ΋͍͍ • ϘτϜΞοϓͰશһ߹ٞͰܾΊͯ΋͍͍ • ͦͷதؒͰ΋͍͍ • ʰελσΟαϓϦʱ͸ٕज़ઓུΛ1ਓʹґଘ͠ͳ͍࢓૊ΈΛ࡞Δ͜ͱʹ ௅ઓ͍ͯ͠Δ

Slide 18

Slide 18 text

ٕज़ઓུάϧʔϓͱ͸ 18 • ໨త • ϓϩμΫτ։ൃ૊৫ͱͦͷγεςϜΛΑΓมԽʹڧ͘͢Δ • ໨ඪ • ٕज़తͳϏδϣϯͱํ਑ͷࡦఆ • ٕज़త՝୊ɾෛ࠴ΛίϯτϩʔϧԼʹஔ͘ • վળαΠΫϧͷཱ֬ͱࣗݾ਍அೳྗͷ֫ಘ

Slide 19

Slide 19 text

׆ಈମ 19 • ໨త • ϓϩμΫτ։ൃ૊৫ͱͦͷγεςϜΛΑΓมԽʹڧ͘͢Δ • ໨ඪ • ٕज़తͳϏδϣϯͱํ਑ͷࡦఆ • ٕज़త՝୊ɾෛ࠴ΛίϯτϩʔϧԼʹஔ͘ • վળαΠΫϧͷཱ֬ͱࣗݾ਍அೳྗͷ֫ಘ ԣஅG Ref: Who owns the Service Level? ٕज़ઓུԣஅϫʔΩϯάάϧʔϓͷ׆ಈใࠂ DevOps G

Slide 20

Slide 20 text

DevOps G ͷ໨తͱ׆ಈ 20 • ໨తɿʢ։ൃνʔϜͷʣࣗݾ਍அೳྗͷ֫ಘͷͨΊʹઃஔ • ϝϯόʔ͸ ྖҬ͝ͱͷ WebDev / QA / SRE • ߹ܭ7໊ɺ༷ʑͳνʔϜ͔Βू·͍ͬͯΔ • શһ݉຿Ͱߏ੒ • ׆ಈ͸िʹ1࣌ؒͷϛʔςΟϯά͕ϕʔε • Leader ͕ςʔϚʹԊͬͯϑΝγϦςʔγϣϯΛ͢Δ • ࿩͍ͨ͠τϐοΫ͕͋Ε͹୭Ͱ΋࣋ͪࠐΈok

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓ૊Έ • ߟ࡯ • ·ͱΊ 22

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

ͳͥࣗݾ਍அೳྗ͕ॏཁ͔ 24 • ʮ՝୊ʯͷಛ௃ • ৗʹݟ͍͑ͯΔͱ͸ݶΒͳ͍ • มΘΓଓ͚Δ • ࢦඪ΍ΞηεϝϯτΛ௨ͯࣗ͡෼ͨͪͷݱঢ়Λఆྔతʹ೺Ѳ͢ Δඞཁ͕͋Δ • oneshot Ͱ͸ͳ͘ɺܧଓੑ΋ॏཁ • ࣗ෼ͨͪͷߦಈʹΑͬͯԿ͕มΘͬͨͷ͔ɺ͋Δ͍͸มΘΒͳ͔ͬͨͷ͔ ΛධՁ͠ଓ͚Δඞཁ͕͋Δ

Slide 25

Slide 25 text

Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓ૊Έ • ߟ࡯ • ·ͱΊ 25

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

2021೥લ൒ 28 • ·ͣόϦϡʔετϦʔϜϚοϐϯάͰݱঢ়ೝࣝΛ߹Θͤͨ • ީิͱͳΔ Metrics Λग़͢ • σϓϩΠճ਺ʢස౓ʣͷϞχλϦϯά • DX Criteria ʢΞηεϝϯτʣͷ࣮ࢪ

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

DX Criteria ͷ࣮ࢪ 32 • ೔ຊ CTO ڠձ͕ࡦఆͨ͠ DX ʹؔ͢ΔΞηεϝϯτ • https://dxcriteria.cto-a.org/ • DX = Digital Transformation & Developer Experience • 5ͭͷςʔϚ͕͋Δ • νʔϜ / γεςϜ / σʔλۦಈ / σβΠϯࢥߟ / ίʔϙϨʔτ • ։ൃ૊৫ͳΒνʔϜɺγεςϜ͔Β࢝ΊΔͷ͕͓͢͢Ί

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

2021೥ޙ൒ 35 • औಘͨ͠ metrics ͕׆༻͞Ε͍ͯͳ͍͜ͱ͕՝୊ʹ্͕Δ • σϓϩΠ਺Λऔ͕ͬͨ෼ੳ͞Ε͍ͯͳ͍ • Coverband ʹΑΔίʔυΧόϨοδ͕ݟΒΕ͍ͯͳ͍ • DX Criteria 2ճ໨࣮ࢪ • ઃ໰ͷҙਤͷ֬ೝʹ͕͔͔࣌ؒΔ՝୊

Slide 36

Slide 36 text

2021೥ͷৼΓฦΓ 36 • 😄׆ಈΛܧଓͰ͖ͨ • 😄ࢦඪΛݕ౼͠ɺܭଌͨ͠ • 😄DX CriteriaʢΞηεϝϯτʣΛ2౓࣮ࢪͨ͠ • 🤔ࢦඪ͕վળͷ໾ʹཱ͍ͯͯͳ͍ • 🤔DX Criteria ࣮ࢪ͸େมʢ͕͔͔࣌ؒΔɺղऍ͕೉͍͠ʣ

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

2022೥લ൒ 38 • άϧʔϓͷϏδϣϯΛࡦఆ • શͯͷ։ൃνʔϜ͕໰୊ΛࣗΒൃݟ͠վળ͠ଓ͚Δੈքͷ࣮ݱ • άϧʔϓͷ൒೥͝ͱͷ໨ඪΛఆΊͨ • DevOps G Ͱൃ۷ͨ͠ࢦඪΛ࢖ͬͯෳ਺ͷ։ൃνʔϜ͕վળαΠΫϧΛճͤͯ ͍Δ͜ͱ • DX Criteria 3ճ໨ͷ࣮ࢪ • ਍அͱͯ͠͸༗ޮ͕ͩɺ࣮ࡍʹվળΛ͢Δ͕࣌ؒͳ͍ͱ͍͏՝୊ • ՝୊Λ࣋ͪࠐΜͰɺͦͷ৔Ͱղܾ͢Δ͜ͱ͕૿͖͑ͯͨ • ྫ: ͜ͷ໰୊ΛධՁ͢Δ Metrics ͋Δʁ͜͏ͨ͠ΒͰ͖ΔΑ

Slide 39

Slide 39 text

2022೥લ൒ͷৼΓฦΓ 39 • 😄໨ඪΛୡ੒Ͱ͖ͨ • DevOps G ࢀՃϝϯόʔ͕νʔϜʹ࣋ͪؼͬͯվળΛϦʔυ • DX Criteria ΛνʔϜ಺Ͱ࣮ࢪ • ςετΧόϨοδΛදࣔ͠ɺςετΛ૿΍͢ • 🤔DX Criteria ࣮ࢪ͸େมʢ͕͔͔࣌ؒΔɺղऍ͕೉͍͠ʣ • લͷظ͔Βܧଓ

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

2022೥ޙ൒ 41 • άϧʔϓͷ໨ඪΛมߋ • Before: DevOps G Ͱൃ۷ͨ͠ࢦඪΛ࢖ͬͯෳ਺ͷ։ൃνʔϜ͕վળαΠΫϧΛճ͍ͤͯ Δ͜ͱ • After: ։ൃνʔϜ͕ࣗΒඞཁͳࢦඪΛൃݟ͠ɺվળαΠΫϧΛճ͢͜ͱ͕Ͱ͖͍ͯΔ͜ͱ • ʮ͓͢͢ΊϝτϦΫεʯͷࡦఆ • લ೥ʹચ͍ग़ͨ͠ࢦඪͱ͸ผ • औಘํ๏΍ޮՌޮೳΛهࡌ • ͓͢͢ΊϝτϦΫεಉ࢜ͷؔ܎ਤ΋࡞੒ • ಠࣗͷʮνʔϜͷ؂ࢹशख़౓ৼΓฦΓʯΛ࡞੒ɺ࣮ࢪ

Slide 42

Slide 42 text

͓͢͢ΊϝτϦΫε 42

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

νʔϜͷ؂ࢹशख़౓ৼΓฦΓΛ΍ͬͯΈͯ 48 • ΄ͱΜͲͷαʔϏε͕ Level 2 ͩͬͨ • Level2: ؂ࢹͷͨΊͷϓϩηε͕श׳Խ͞Εɺ࡯஌ͨ͠ྼԽʹରͯ͠ΞΫγϣϯ͕औΒΕ ͍ͯΔ • Production Readiness Checklist Ͱ؂ࢹઃఆ͸Ұ௨Γ͢ΔͨΊ • Level 3 ͷαʔϏε͸΄΅ͳ͍ • Level3: Level 2 ʹՃ͑ɺ؂ࢹख๏΍ϓϩηε͸ܧଓతʹݟ௚͓ͯ͠Γɺվળ͠ଓ͚͍ͯΔɻ • ϓϩηεͦͷ΋ͷͷఆظతͳݟ௚͠ = ࣗݾ਍அࣗମͷ਍அ͸Ͱ͖͍ͯͳ͍ • ϚΠΫϩαʔϏε୯Ґɾػೳ୯ҐͰ࣮ࢪͨ͠ͷͰɺ1ͭͷνʔϜ͕ෳ਺ճ౴͠ ͳ͚Ε͹ͳΒͣɺճ౴ࣗମ͕ॏ͔ͬͨ • ܧଓੑʹ՝୊͕͋Δ

Slide 49

Slide 49 text

2022೥ޙ൒ͷৼΓฦΓ 49 • 😄͓͢͢ΊϝτϦΫεͷ੍ఆͱͦͷؔ܎ਤͷ࡞੒Λͨ͠ • 😄؂ࢹʹؔ͢ΔಠࣗͷΞηεϝϯτΛ࡞੒ͨ͠ • 😄ίϥϘϨʔγϣϯ͕૿͑ͨ • quipper/google-cloud-pub-sub-operator • SRE / WebDev Ͱ PR ؀ڥͰڞ༗ͷ Cloud Pub/Sub ʹΑΓɺτϐοΫ ͕औΒΕͯ͠·͏՝୊Λղܾ͢ΔͨΊʹ࡞ͬͨ Kubernetes Operator • 🤔Ξηεϝϯτࣗମ͕ʮॏ͍ʯ͜ͱ͸΍͸Γ՝୊ʹ

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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 ͷӡ༻ͱܭଌʹΑΔվળ • ؂ࢹͷৼΓฦΓΞηεϝϯτͷܰྔ൛Λ࡞੒ɺݕূத

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

؂ࢹৼΓฦΓͷܰྔ൛ 53

Slide 54

Slide 54 text

؂ࢹৼΓฦΓͷܰྔ൛ 54

Slide 55

Slide 55 text

؂ࢹৼΓฦΓͷܰྔ൛Λ΍ͬͯΈͯ 55 • ·ͣ DevOps WG ಺Ͱෳ਺ճ࣮ࢪ͍ͯ͠Δ • 5ஈ֊ධՁ͸؆୯ • ਍அࣗମΛܰྔԽ͢Δ͜ͱʹΑͬͯश׳Խͤ͞ΒΕΔ • ओ؍ʹΑΓϒϨͯ͠·͏՝୊͸্͕͕ͬͨɺ͍ͭͨ਺஋ࣗମ͸Ͳ͏Ͱ ΋Α͘ɺνʔϜ಺ͰղऍΛձ࿩͢Δ͜ͱ͕ॏཁ • ؂ࢹπʔϧʹؔ͢Δ Tips ͕ू·Δͷ͸૝ఆ֎ʹ༗ӹͩͬͨ

Slide 56

Slide 56 text

Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓ૊Έ • ߟ࡯ • ·ͱΊ 56

Slide 57

Slide 57 text

͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨ΋ͷ 57 • ࢦඪ΍ΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δ஌ݟ • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ • ࣗݾ਍அೳྗʹ͍ͭͯձ࿩͠ଓ͚ΒΕΔ৔ॴ • ͨ͘͞Μͷ՝୊ղܾ

Slide 58

Slide 58 text

͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨ΋ͷ 58 • ࢦඪ΍ΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δ஌ݟ • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ • ࣗݾ਍அೳྗʹ͍ͭͯձ࿩͠ଓ͚ΒΕΔ৔ॴ • ͨ͘͞Μͷ՝୊ղܾ

Slide 59

Slide 59 text

ࢦඪ΍Ξηεϝϯτʹؔ͢Δߟ࡯ 59 • ࢦඪ͸औಘ͢Δ͚ͩͰ͸ҙຯ͕ͳ͍ʢͦΕ͸ͦ͏ʣ • ධՁͯ͠վળ͠ͳ͚Ε͹ҙຯ͕ͳ͍ => νʔϜʹ࣋ͪؼͬͯ΋Β͏ඞཁ͕͋Δ • ࢦඪ͸՝୊͕͋ͬͯॳΊͯ໾ʹͨͭ => ՝୊͕ू·Δ৔͕༗ޮ • ࢦඪͷऔಘࣗମ͸ٕज़ྗ΍γεςϜͷཧղ͕ඞཁ • ΞηεϝϯτͷϙΠϯτ • ܧଓ͕ͦ͜࠷΋ॏཁ • ࣮ࢪࣗମ͕େมͩͱଓ͔ͳ͍ɺश׳ԽͱܰྔԽ͕ॏཁ • ΞΫγϣϯʹܨ͛Δʹ͸νʔϜͰճ౴ͷࠜڌΛ࿩͢ͷ͕େࣄ

Slide 60

Slide 60 text

͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨ΋ͷ 60 • ࢦඪ΍ΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δ஌ݟ • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ • ࣗݾ਍அೳྗʹ͍ͭͯձ࿩͠ଓ͚ΒΕΔ৔ॴ • ͨ͘͞Μͷ՝୊ղܾ

Slide 61

Slide 61 text

ࣗݾ਍அೳྗʹ͍ͭͯձ࿩͠ଓ͚ΒΕΔ৔ॴ 61 • िʹ1౓ɺ1࣌ؒ࿩͚ͩ͢ • 1೥ؒͰ52࣌ؒʢ࣮ࡍʹ͸ٳΈ͕͋ΔͷͰ΋ͬͱগͳ͍ʣ • ͍ͭͰ΋࿩୊Λ౤͛ࠐΊΔ৔ॴ͕͋Δ͜ͱʹΑΔར఺ • ໰୊͸ݱΕଓ͚Δ͠ɺܗΛม͑ଓ͚Δ • ଟ༷ͳϝϯόʔͰղܾ͕Ͱ͖Δ • ͔ͩΒͦࣗ͜ݾ਍அೳྗ͕ॏཁͰ͋Γɺܧଓੑ͕େࣄ

Slide 62

Slide 62 text

͜ͷ׆ಈΛ௨ͯ͡զʑ͕ಘͨ΋ͷ 62 • ࢦඪ΍ΞηεϝϯτΛ࣮ӡ༻ʹܨ͛Δ஌ݟ • ࢦඪͷऔಘํ๏ͱޮՌޮೳ͕·ͱ·ͬͨද • զʑ͕࡞ͬͨɾධՁͨ͠Ξηεϝϯτπʔϧ • ࣗݾ਍அೳྗʹ͍ͭͯձ࿩͠ଓ͚ΒΕΔ৔ॴ • ͨ͘͞Μͷ՝୊ղܾ

Slide 63

Slide 63 text

͜ͷάϧʔϓΛى఺ʹͨ͘͞Μͷ՝୊ղܾ͕Ͱ͖ͨ 63 • ՝୊ղܾ͸ओͳ໨తͰ͸ͳ͔ͬͨͨΊɺ෭࣍తʹى͖ͨ • ՝୊Λ࣋ͪࠐΉͱʮͦΕ͙͢Ͱ͖ΔΑʯͱͳΔ • εϐϯΦϑతʹαϒϓϩδΣΫτ΋͍͔ͭ͘ੜ·Εͨ • ߏ੒ϝϯόʔͷଟ༷ੑͱٕज़ྗʹΑΓɺ୯ҰνʔϜ಺Ͱ͸ಘΒΕͳ͍ྑ͍ ՝୊ͷൃݟͱղܾ͕Ͱ͖͍ͯΔ • ૊৫ͷঢ়گʹ׆ಈ͕Ϛονͨ͠ • େن໛(80~)૊৫͔ͭɺCloud Native ʹΑΓ֤νʔϜ͕ࣗݾ׬݁తʹ։ൃΛਐΊΒΕ ΔΑ͏ʹͳͬͨ൓໘ɺνʔϜؒͷίϛϡχέʔγϣϯ΋࠷খԽ͞Ε͍ͯΔ͜ͱͰɺ՝ ୊ൃݟ΍஌ݟͷڞ༗͕ͮ͠Β͘ͳ͍ͬͯͨ • ԣஅతɾଟ༷ͳϝϯόʔͰߏ੒͞Εͨάϧʔϓ͕ޮՌΛൃشͨ͠

Slide 64

Slide 64 text

࠷΋େ੾ͳ͜ͱ ܧଓੑͱଟ༷ੑ 64

Slide 65

Slide 65 text

ܧଓͰ͖͍ͯΔཧ༝: Ϛωδϝϯτͷ޻෉ 65 • 2೥൒ɺԣஅɺશһ݉຿Ͱܧଓ͍ͯ͠Δͷ͸͍͢͝ • ʮ๩͍͠ͷͰ…ʯͱͳΓ͕ͪ • Lead / Management ͷ෼཭(Ұൠ࿦) • νʔϜʹඞཁͳεΩϧΛௐୡͨ͠Γɺํ޲ੑΛܾΊΔ Management • ໨ඪʹ޲͔ͬͯνʔϜΛલʹਐΊΔ Lead • ͜ΕΛ1ਓ͕΍ΔͱർΕͯ͠·͏ • Ϗδϣϯɾϛογϣϯͷࡦఆ(Ұൠ࿦) • νʔϜΛલʹਐΊΔͷʹ༗ޮ • ϝϯόʔͷ਺ɾଟ༷ੑҡ࣋ɾLeader ΞαΠϯ • ཭৬ɾ཭೚͸͜Ε·Ͱগͳ͔Βͣ͋ͬͨ • ͦͷࡍ΋ඞͣଟ༷ੑ͕୲อ͞ΕΔΑ͏ʹϝϯόʔͷΞαΠϯΛ৺͕͚ͨ

Slide 66

Slide 66 text

ܧଓͰ͖͍ͯΔཧ༝: ૊৫ߏ੒ 66 • ֤νʔϜ͔Βଟ༷ͳϝϯόʔ͕બ͹ΕͯɺνʔϜʹ࣋ͪؼΔ͜ͱͷྑ͞ • ࢦඪ΍ΞηεϝϯτΛݕূͯ͠ɺ࣮ࡍʹվળʹ׆͔͢ɺͱ͍͏άϧʔϓͷ໨ඪʹϚονͨ͠ • ͜ͷߏ଄͸ҎԼͷར఺͕͋Δ • ։ൃνʔϜͷ Ownership ΛߴΊΒΕɺࣗݾ׬݁νʔϜΛࢧ͑ΒΕΔ • DevOps νʔϜ vs ։ൃνʔϜͷΑ͏ʹରཱߏ଄ʹͳΒͳ͍ɾݖҖతʹͳΒͳ͍ • ՝୊͕ू·Δ৔ॴʹͳΔ • ந৅తɾ൚༻తͳιϦϡʔγϣϯΛੜΈग़͠΍͘͢ͳΔ • ͜Ε͸ҰछͷσβΠϯύλʔϯʢ໊લΛ͚͍ͭͨ…ʣ • ֤νʔϜ͔Β݉຿Ͱू߹ͯٞ͠࿦ˍνʔϜʹ࣋ͪؼ࣮ͬͯફΛϑΝγϦςʔγϣϯ • QA จ຺Ͱ΋ಉ༷ͷ੒ޭମݧΛಘΒΕͨͷͰ࠶ݱੑ͕͋Δ Ref: ʰελσΟαϓϦ தֶߨ࠲ʱʹ͓͚Δ E2E Test ͷӡ༻ͱܭଌʹΑΔվળ

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

ܧଓͰ͖͍ͯΔཧ༝: ૊৫จԽ 68 • ձࣾ౷߹લ(Quipper࣌୅)͔Β͋ΔόϦϡʔͱϚονͨ͠ • Fact-Based • Ownership ref: ձࣾ঺հࢿྉ • Fact-Based ʹٞ࿦͢ΔͨΊʹࢦඪΛ୳ڀ͢Δ • Cloud Native ʹΑͬͯ։ൃऀ͕ Ownership Λ࣋ͬͯϑϧα ΠΫϧͰ໘౗ΛݟΔ

Slide 69

Slide 69 text

Outline • ʰελσΟαϓϦʱʹ͓͚Δ Cloud Native • ʮٕज़ઓུʯͱʮٕज़ઓུάϧʔϓʯʹ͍ͭͯ • ࣗݾ਍அೳྗͱ͸Կ͔ / ͳͥࣗݾ਍அೳྗ͕ॏཁͳͷ͔ • ͜Ε·ͰͷऔΓ૊Έ • ߟ࡯ • ·ͱΊ 69

Slide 70

Slide 70 text

·ͱΊ Cloud Native ͳϓϩμΫτ։ൃ૊৫Ͱ ٕज़ઓུάϧʔϓΛ্ཱͪ͛ͯ ࣗݾ਍அೳྗͷൃ۷Λ໨ࢦͨ݁͠Ռ ʮܧଓੑͱଟ༷ੑʯʹΑͬͯ͏·͘ߦͬͨ 70

Slide 71

Slide 71 text

·ͱΊ 71 • ࣗݾ਍அೳྗͷπʔϧͰ͋Δࢦඪ΍Ξηεϝϯτ͸ͦΕࣗମΛݕ ূɺධՁ͠ɺࣗ૊৫ʹϑΟοτ͢Δ͔Λ֬ೝ͢Δඞཁ͕͋Δ • ࣗݾ਍அ͸ܧଓੑ͕࠷΋ॏཁͰ͋ΓɺͦͷͨΊʹ਍அࣗମΛܰ ͘͢Δ͜ͱ΍ɺ਍அΛਪ͠ਐΊΔϫʔΩϯάάϧʔϓࣗମ͕ܧଓ ͍ͯ͠Δ͜ͱ͕ॏཁͰ͋Δ • ࣗݾ਍அೳྗͷ࣮૷Λ୲͏ԣஅάϧʔϓΛଟ༷ͳϩʔϧɾνʔϜ ͔Βߏ੒͢Δ͜ͱʹΑΓɺଟ༷ͳϢʔεέʔε͕ू·Δ͜ͱʹͳ Γɺ՝୊ൃݟͱվળαΠΫϧ͕Ճ଎͞ΕΔ • ݁Ռɺ෭࣍తʹ࣮ࡍͷ՝୊ղܾ΋ଅਐ͞Εͨ

Slide 72

Slide 72 text

࠷΋େ੾ͳ͜ͱ ܧଓੑͱଟ༷ੑ 72

Slide 73

Slide 73 text

঺հ࣮ͨ͠ྫ΍Ϛωδϝϯτͷ޻෉͔Β ώϯτΛಘͯ΋Β͑Δͱخ͍͠Ͱ͢ 73

Slide 74

Slide 74 text

Thank you! 74 chaspy chaspy_ Engineering Manager Site Reliability and Web Application Development at Recruit Co., Ltd. ෱Ԭָ͠ΜͰ͍ͬͯͶ😄 ࠙਌ձͰ࿩͠·͠ΐ͏ʂ👋 Takeshi Kondo https://chaspy.me