SRE NEXT 2022 https://sre-next.dev/2022/
Who owns the Service Level?Takeshi Kondo / @chaspy2022/05/15SRE NEXT 2022
View Slide
Who am Ichaspy chaspy_Engineering Manager, Site Reliability at Recruit Co., Ltd.Takeshi Kondohttps://chaspy.me
લఏɿϓϩμΫτհ - ελσΟαϓϦ
Hello, again! SRE NEXT
ࠓ͢͜ͱSRE Λ࣮ݱ͢ΔͨΊʹඞཁͳ͜ͱ
Tl;dr / SRE Λ࣮ݱ͢ΔͨΊʹඞཁͳ͜ͱ• ࢦඪΛݩʹվળ͠ଓ͚ΔจԽ• ࣗݾ݁ԽΛࢧ͑Δ Platform• ༏ઌॱҐΛมߋ͢ΔͨΊͷٕज़ઓུ
Agenda• લఏɿSRE Λ࣮ݱ͢ΔͱͲ͏͍͏͜ͱ͔• ྺ࢙͔ΒৼΓฦΔʰελσΟαϓϦʱࣄۀʹ͓͚Δ SRE• 2020ʮSLO ReviewʯͰͷֶͼͱࣦഊ• SRE ͱٕज़ઓུ• ·ͱΊͱࠓޙ
લఏ෦3݄ͷ6ࣾ߹ಉษڧձͱಉ͡༰Ͱ͓͞Β͍͠·͢
SRE Λ࣮ݱ͢Δͱ
։ൃνʔϜ͕৴པੑΛίϯτϩʔϧ͢ΔCapability Λʹ͚͍ͭͯΔ͜ͱ
ͦͦ Site Reliability Engineering ͱ: Not like this• αʔϏε͕ʮߴ͍৴པੑ (ʹ100%)ʯΛอ͍ͬͯΔ͜ͱ• SLI/SLO ΛकΕ͍ͯΔ͜ͱ• ΦϯίʔϧϩʔςʔγϣϯΛ։ൃνʔϜͰߦ͏͜ͱhttps://github.com/twitter/twemoji
ͦͦ Site Reliability Engineering ͱ: Like this!• αʔϏε͕ʮϢʔβ͕ظ͢Δ৴པੑʯΛอ͍ͬͯΔ͜ͱ• SLI/SLO Λઃఆ͠ɺඇػೳཁ݅ͱػೳཁ݅ͷ༏ઌܾఆͷࢦඪͱͯ͠׆༻͍ͯ͠Δ• SLO ҧ͕ൃੜͨ͠ͱ͖ʹదʹରॲͰ͖ΔΑ͏ͳϞχλϦϯάํ๏ͱϙϦγʔ͕νʔϜͰಉҙ͞Ε͍ͯΔ• ্ه͕ఆظతʹݟ͞Ε͍ͯΔhttps://github.com/twitter/twemoji
։ൃνʔϜ͕৴པੑΛίϯτϩʔϧ͢Δ Capability Λʹ͚ͭΔ: Like this!SRE։ൃνʔϜ։ൃνʔϜͷ৴པੑʹؔ͢Δ Capability औಘΛࢧԉ͢ΔࣗͨͪͷαʔϏεͷ৴པੑΛࣗͨͪͰίϯτϩʔϧͰ͖͍ͯΔ
Team Topologies• 4ͭͷνʔϜύλʔϯ• Stream Aligned• Platform• Enabling• Complicated Subsystem• 3ͭͷίϛϡχέʔγϣϯύλʔϯ• Collaboration• X as a Service• Facilitationhttps://pub.jmam.co.jp/book/b593881.html
։ൃνʔϜ͕৴པੑΛίϯτϩʔϧ͢Δ Capability Λʹ͚ͭΔ: Like this!SRE։ൃνʔϜ։ൃνʔϜͷࣗݾ݁ԽΛࢧ͑ΔϓϥοτϑΥʔϜͱจԽΛ࡞ΔPlatform TeamEnabling TeamStream Aligned TeamࣗͨͪͰඞཁͳͷΛࣗͨͪͰ༻ҙͰ͖Δ= self-contained / ࣗݾ݁Խ
• ࢧԉҰ࣌తͰɺظԽͤͯ͞ͳΒͳ͍༨ஊ: Enabling ͱ͍͏୯ޠʹϙδςΟϒɾωΨςΟϒ྆໘͋Δhttps://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%8D%E3%83%BC%E3%83%96%E3%83%AA%E3%83%B3%E3%82%B0
SRE Team ͷ Vision / Mission / Valueshttps://blog.studysapuri.jp/entry/sre-vision-mission-values
Missionࣗݾ݁νʔϜ͕ϓϩμΫτΛૉૣ҆͘શʹಧ͚ଓ͚ΔͨΊͷϓϥοτϑΥʔϜͱจԽΛ࡞Δ
ͳͥࣗݾ݁Խ͕ॏཁ͔SRE։ൃνʔϜ։ൃνʔϜͷࣗݾ݁ԽΛࢧ͑ΔϓϥοτϑΥʔϜͱจԽΛ࡞ΔPlatform TeamEnabling TeamStream Aligned TeamࣗͨͪͰඞཁͳͷΛࣗͨͪͰ༻ҙͰ͖Δ= self-contained / ࣗݾ݁Խ
ͳͥࣗݾ݁Խ͕ॏཁ͔: Not “VS”, but “And”• Dev vs and Ops• Ϣʔβ͔ΒߴʹϑΟʔυόοΫΛಘΔ (DevOps)• Dev vs and Infrastructure• ηϧϑαʔϏεͰߏஙͯ͠ϦʔυλΠϜॖ• Productivity vs and Reliability• ੜ࢈ੑͱ৴པੑ૬ޓʹґଘ͢Δ
ͳͥࣗݾ݁Խ͕ॏཁ͔• ࣗݾ݁νʔϜͳΒ• ຊ൪ڥ͔ΒϑΟʔυόοΫΛಘଓ͚ΒΕΔ• ࠷খݶͷίϛϡχέʔγϣϯͰߴͳҙࢥܾఆ͕Ͱ͖Δ• ػೳཁٻ͚ͩͰͳ͘ඇػೳཁٻʹԠ͑Δ͜ͱ͕Ͱ͖Δ
• ։ൃνʔϜ͕৴པੑΛίϯτϩʔϧ͢Δ Capability Λʹ͚͍ͭͯΔ͜ͱ• ։ൃνʔϜ͕”ࣗݾ݁Խ”͍ͯ͠Δঢ়ଶ• SRE νʔϜ͜ΕΛϓϥοτϑΥʔϜͱจԽৢͰࢧ͑Δ• ͜ΕΛ࣮ݱ͢ΔʹϓϩμΫτ։ൃʹด͡ͳ͍ଟ༷ͳࢹ͕ඞཁ• ϢʔβͷظΛΔ / Product Management• ߴ͍։ൃੜ࢈ੑ / Development Skills• ඇػೳཁٻʹͲΕ͚ͩίετΛ͔͚Δ͔ / Business Development·ͱΊɿSRE Λ࣮ݱ͢Δͱ
ྺ࢙͔ΒৼΓฦΔʰελσΟαϓϦʱSRE ~ @chaspy ೖࣾޙ• 2018: @chaspy ೖࣾ• 2019: Application Platform Λ Kubernetes Ҡ• 2020: Microservices Readiness ͷඋ• αʔϏεΦʔφʔγοϓͷࡦఆ• Design Doc / Production Readiness Checklist• Self-services Infrastructure (terraform monorepo)• SLI/SLO• 2021: SLI/SLO ӡ༻Λ։ൃνʔϜʹશҠৡPlatform Team ͱͯ͠ Platform Λ࡞͍ͬͯΔEnabling Team ͱͯ͠։ൃ৫ʹ SLI/SLOͳͲͷΧϧνϟʔৢ
ྺ࢙͔ΒৼΓฦΔʰελσΟαϓϦʱSRE ~ 2021• COVID-19 ྲྀߦɺΞΫηε૿େ• Platform ͷਐԽ• Terraform monorepo• Loadtest Platform• GitHub Actions ʹΑΔ monorepo CI • ৫ͷมԽ• ٕज़ઓུάϧʔϓൃ• ࣄۀҠʹΑΓϦΫϧʔτస੶ɺQuipper ຊࢧళਫ਼ࢉ• chaspy EM ༻
ྺ࢙͔ΒৼΓฦΔʰελσΟαϓϦʱSRE ~ 2022• ৽͍͠ SRE ࣮ફͷܗ• Partially Embedded SRE• Partially Enabling SRE in development team
৫نͷਪҠ ։ൃऀ 35 53 54 73 11443& 4 5 7 7 7։ൃऀελσΟαϓϦɾQuipper ྆ํͷɺWeb Engineer (frontend&backend) ͷɻNative আ֎͍ͯ͠Δɻ2022͔ΒۀҕୗͷํΧϯτ͍ͯ͠Δɻ2021Ҏલۀҕୗͷํͱࣄ͍ͯͨ͠ɻ
ྺ࢙͔ΒৼΓฦΔʰελσΟαϓϦʱSRE• ͍ͣΕͷ࣌ Platform Team ͱ Enabling Team ͷৼΔ͍Λ͍ͯ͠Δ• ಛʹ2019͔Βʮࣗݾ݁ԽʯΛςʔϚʹɺ͓ئ͍͞ΕΔ͜ͱΛۃྗݮΒͤΔ Platform Λ࡞͖ͬͯͨ• ಉ࣌ʹ։ൃνʔϜͷʮจԽΛͭ͘Δʯ͜ͱʹ౿ΈࠐΈɺSLI/SLO Λݟ͍ͯ͘จԽΛ৫ʹৢͨ͠• →ʮSLO Reviewʯat SRE NEXT 2020
ʮSLO Reviewʯat SRE NEXT 2020• ։ൃ৫ʹ SLO Λ Review ͍ͯ͘͠จԽΛ࡞ͬͨऔΓΈ• 2 Product, 15 Team ʹϘτϜΞοϓͰಋೖ• ొΓํͷ4εςοϓ• γεςϜͱ৫ͷΦʔφʔγοϓΛܾΊΔ• 1ਓͰϓϩηεΛ·Θ͠ɺ࣮ݱํ๏Λཱ֬͢Δ• Developer ͱҰॹʹ SLI/SLO Λఆٛ͠ɺϓϩηεΛ·Θ͢• Error Budget Policy Λఆٛͯ͠ߦಈ͢Δ(ະ࣮ݱ)• ಘֶͨͼ• ඪ४Խ͞Εͨ SLI Λఏڙ͢Δ• ઃఆૣ͍ஈ֊ͰίʔυԽ͢Δ• ֶशۂઢΛٸޯʹ͢Δhttps://blog.studysapuri.jp/entry/2020/01/30/slo-review
Α͔ͬͨ• ։ൃ৫ʹ SLO Λ Review ͍ͯ͘͠จԽΛ࡞ͬͨऔΓΈ• 2 Product, 15 Team ʹϘτϜΞοϓͰಋೖ• ొΓํͷεςοϓ• γεςϜͱ৫ͷΦʔφʔγοϓΛܾΊΔ• 1ਓͰϓϩηεΛ·Θ͠ɺ࣮ݱํ๏Λཱ֬͢Δ• Developer ͱҰॹʹ SLI/SLO Λఆٛ͠ɺϓϩηεΛ·Θ͢• Error Budget Policy Λఆٛͯ͠ߦಈ͢Δ(ະ࣮ݱ)• ಘֶͨͼ• ඪ४Խ͞Εͨ SLI Λఏڙ͢Δ• ઃఆૣ͍ஈ֊ͰίʔυԽ͢Δ• ֶशۂઢΛٸޯʹ͢Δhttps://blog.studysapuri.jp/entry/2020/01/30/slo-review։ൃνʔϜͷೝෛՙΛపఈతʹԼ͛Δ͜ͱʹͩ͜Θͬͨతෆ࣮֬ੑͷݮͷͨΊϑΟʔυόοΫαΠΫϧΛճͨ͠
Α͘ͳ͔ͬͨʁ• ։ൃ৫ʹ SLO Λ Review ͍ͯ͘͠จԽΛ࡞ͬͨऔΓΈ• 2 Product, 15 Team ʹϘτϜΞοϓͰಋೖ• ొΓํͷεςοϓ• γεςϜͱ৫ͷΦʔφʔγοϓΛܾΊΔ• 1ਓͰϓϩηεΛ·Θ͠ɺ࣮ݱํ๏Λཱ֬͢Δ• Developer ͱҰॹʹ SLI/SLO Λఆٛ͠ɺϓϩηεΛ·Θ͢• Error Budget Policy Λఆٛͯ͠ߦಈ͢Δ(ະ࣮ݱ)• ಘֶͨͼ• ඪ४Խ͞Εͨ SLI Λఏڙ͢Δ• ઃఆૣ͍ஈ֊ͰίʔυԽ͢Δ• ֶशۂઢΛٸޯʹ͢Δhttps://blog.studysapuri.jp/entry/2020/01/30/slo-reviewͳͥ͏·͍͔͘ͳ͔ͬͨͷ͔ʁ
ʢ࠶ܝʣSRE Λ࣮ݱ͢ΔͱԿ͔• ։ൃνʔϜ͕৴པੑΛίϯτϩʔϧ͢Δ Capability Λʹ͚͍ͭͯΔ͜ͱ• ʮࢦඪΛݩʹߦಈ͕Ͱ͖Δʯ͜ͱhttps://blog.studysapuri.jp/entry/2020/01/30/slo-review4-*4-0&SSPS#VEHFU1PMJDZ։ൃνʔϜఆٛ͢Δ / ఆظతʹݟ͢Policy ʹैͬͯߦಈ͢Δ
ʢ࠶ܝʣSRE Λ࣮ݱ͢ΔͱԿ͔• ։ൃνʔϜ͕৴པੑΛίϯτϩʔϧ͢Δ Capability Λʹ͚͍ͭͯΔ͜ͱ• ʮࢦඪΛݩʹߦಈ͕Ͱ͖Δʯ͜ͱhttps://blog.studysapuri.jp/entry/2020/01/30/slo-review4-*4-0&SSPS#VEHFU1PMJDZ։ൃνʔϜఆٛ͢Δ / ఆظతʹݟ͢Policy ʹैͬͯߦಈ͢ΔͰ͖ͨ
ʢ࠶ܝʣSRE Λ࣮ݱ͢ΔͱԿ͔• ։ൃνʔϜ͕৴པੑΛίϯτϩʔϧ͢Δ Capability Λʹ͚͍ͭͯΔ͜ͱ• ʮࢦඪΛݩʹߦಈ͕Ͱ͖Δʯ͜ͱhttps://blog.studysapuri.jp/entry/2020/01/30/slo-review4-*4-0&SSPS#VEHFU1PMJDZ։ൃνʔϜఆٛ͢Δ / ఆظతʹݟ͢Policy ʹैͬͯߦಈ͢Δ͏·͍͔͘ͳ͔ͬͨ
ͳͥ”ߦಈ͢Δ”·ͰࢸΒͳ͔ͬͨͷ͔• ࣌ɺSLO ҧ࣌ͷΞΫγϣϯ Product Manager / Team ʹҠৡ͍ͯͨ͠• ·ͬͨ͘ԿͰ͖ͳ͔ͬͨΘ͚Ͱͳ͍• ͱͱνʔϜʹ༧ࢉͷ͋ΔɺվળͷͨΊͷ࣌ؒͰͰ͖Δ͜ͱ͔͠Ͱ͖ͳ͔ͬͨʢִि1ʣ• QB Day ͱݺΕΔ• Τϥʔʹର͢Δతͳରॲɺܰඍͳ Performance վળͳͲ• ΞʔΩςΫνϟมߋɺΠϯϑϥͳͲɺظతɾࠜຊతରॲ͔ͬͨ͠• ʮࢦඪΛݩʹػೳཁٻͱඇػೳཁٻͷ༏ઌஅ͕Ͱ͖Δʯ·Ͱ౸ୡ͠ͳ͔ͬͨ• ༏ઌஅʹʹཱͨͳ͍ͷͰ͋Εɺ։ൃνʔϜʹͱͬͯΔ͜ͱ͕૿͚͑ͨͩͱݴ͑Δ
ͳͥ”ߦಈ͢Δ”·ͰࢸΒͳ͔ͬͨͷ͔• ৴པੑͷ(ඇػೳཁٻ)ʹରॲ͢Δݖݶɾ༧ࢉෆ• ػೳ։ൃͷ༏ઌ͕ߴ͔ͬͨ
SLO ҧͨ͠Β“ϦϦʔεετοϓ”ͱ͍͏ݬ• SLO ҧͨ͠Βશͯͷ։ൃΛࢭΊͯͦͷमਖ਼Λߦ͏ͷݱ࣮తͰͳ͍• ͦΕΛߦ͏ͨΊʹࣄۀऀ͕͜ͷӡ༻ʹ߹ҙ͢Δඞཁ͕͋Δ• ͦΕΛߦ͏ͨΊʹ”ᘳͳSLI/SLO”͕ඞཁ͕ͩɺ”ᘳͳSLI/SLO”ଘࡏ͠ͳ͍• ৫͕֦େ͠ɺBiz Dev / Product / CS ͱΛ୲͍ͯ͠Δঢ়گͰɺݱஅͰ͜ΕΛΔͷίϛϡχέʔγϣϯίετ͕ߴ͗͢Δ
SLI/SLO ӡ༻ͷཧ: ͱ͋Δ Developer ͷίϝϯτ
ʮSLO Reviewʯat SRE NEXT 2020 ͦͷޙͷ·ͱΊ• ʮ৴པੑࢦඪΛఆΊɺ؍͢ΔʯจԽΛ࡞ͬͨ͜ͱʹՁ͕͋ͬͨ• ࣄۀઓ্ུͷҙࢥܾఆʹʹཱͭࢦඪʹҭͭ·ͰʹࢸΒͳ͔ͬͨ• ཧ༝1. ඇػೳཁٻͱػೳཁٻͷόϥϯεΛม͑Δҙࢥܾఆݖݶɾ༧ࢉ͕ϓϩμΫτ։ൃνʔϜʹͳ͔ͬͨ• ৽نػೳ։ൃͷΠϯηϯςΟϒ͕େ͖͍ঢ়گ• ͦͷΑ͏ͳٕज़ઓུ/ٕज़ࢿΛϓϩμΫτ All Ͱߦ͑ΔΈ͕ͳ͔ͬͨ• ཧ༝2. ৴པੑࢦඪ͕ Biz/Dev/SRE શһ͕ཧղ͍͢͠ࢦඪͰͳ͔ͬͨ• backend API ͷ SLI ϢʔβମݧΛද͓ͯ͠ΒͣɺLatency ʹؔ͢Δରॲ TPM ͷઆ໌͍͠
2021ελσΟαϓϦখதߴϓϩμΫτ։ൃ෦ٕज़ઓུάϧʔϓൃ
ελσΟαϓϦখֶɾதֶɾߴߍɾେֶडݧߨ࠲ελσΟαϓϦ For TEACHERSελσΟαϓϦ For SCHOOLݱঢ়ͷ৫ਤ: খதߴϓϩμΫτ։ൃ෦ ҎԼ17άϧʔϓTPMBtoB TPMBtoC TPMForSCHOOL TPMԣஅBtoCBtoBQA։ൃࢧԉSREٕज़ઓུίʔνϯά ৽ن։ൃ1ΤϯϋϯεֶशࢧԉNativeiOSAndroid৽ن։ൃ2ਐ࿏ओମੑίϛϡχέʔγϣϯࢧԉForSCHOOLϞόΠϧ
Disclaimer• ٕज़ઓུάϧʔϓͷ্ཱͪ͛લϚωʔδϟ͕ߦͬͨͷ• ࡢ࣌Ͱ @chaspy DevOps WG ͷ Lead -> EM/Lead• લͷୀ৬ʹ͍ٕज़ઓུάϧʔϓͷ EM ෦͕݉ͭͭ͠ɺଞ໊ͷ EM ͱҰॹʹӡӦ͍ͯ͠Δ• SLO ҧͷରॲ͕Ͱ͖ͳ͍͜ͱ͕ཧ༝Ͱ্ཱ͕ͪͬͨΘ͚Ͱͳ͍
ٕज़ઓུͱϓϩμΫτ։ൃ৫ʹ͓͍ͯԿΛΔ͔ɺԿΛΒͳ͍͔
ͳٕͥज़ઓུ͕ඞཁ͔• Ϗδωεͷʹਵ͢ΔͨΊ• มߋΛ͍͢͠γεςϜɾίʔυɾ৫ʹ͢Δ• มߋΛ͛ΔཁҼઌճΓͯ͠ରॲ͢Δ(ٕज़తෛ࠴ͷฦࡁ)• ͦͷঢ়ଶΛظతʹҡ࣋Ͱ͖ΔೳྗΛಘΔ
ͳٕͥज़ઓུ”άϧʔϓ”͕ඞཁ͔• ٕज़ઓུͷܾΊํ৫ʹΑͬͯҟͳΔ• 1ਓͷ CTO ͕τοϓμϯͰܾΊ͍͍ͯ• ϘτϜΞοϓͰશһ߹ٞͰܾΊ͍͍ͯ• ͦͷதؒͰ͍͍• ελσΟαϓϦখதߴ։ൃ৫ٕज़ઓུΛ1ਓʹґଘ͠ͳ͍ΈΛ࡞Δ͜ͱʹઓ͍ͯ͠Δ
ٕज़ઓུάϧʔϓͱ• త• ϓϩμΫτ։ൃ৫ͱͦͷγεςϜΛΑΓมԽʹڧ͘͢Δ• ඪ• ٕज़తͳϏδϣϯͱํͷࡦఆ• ٕज़త՝ɾෛ࠴ΛίϯτϩʔϧԼʹஔ͘• վળαΠΫϧͷཱ֬ͱࣗݾஅೳྗͷ֫ಘ
࠷ॳͷ1Ͱͬͨ͜ͱ• ৽ن։ൃɿΤϯϋϯεɿٕज़తෛ࠴ղফ = 1:1:1 ͷ༧ࢉએݴ• ٕज़తෛ࠴ղফҊ݅ΛܾΊͯ։ൃϩʔυϚοϓʹΈࠐΉ• ٕज़՝ͷཧํ๏ͱൃੜ࣌ͷτϦΞʔδํ๏ͷܾఆ
SLO ҧ࣌ͷΞΫγϣϯ͕औΕΔΑ͏ʹΈ͕Ͱ͖ͨ• Ұఆඇػೳཁٻʹ༧ࢉ͕ͯΒΕɺൃੜٕͨ͠ज़՝Λཧ͠ɺ࣮ߦͰ͖Δମ੍͕ͬͨ• SLO ҧͨ͠ࡍʹ࣮ࢪ͢Δ͜ͱ͕͔ٕͬͨ͠ज़՝ΛܭըʹΈࠐΊΔΑ͏ʹͳͬͨ
׆ಈମ• త• ϓϩμΫτ։ൃ৫ͱͦͷγεςϜΛΑΓมԽʹڧ͘͢Δ• ඪ• ٕज़తͳϏδϣϯͱํͷࡦఆ• ٕज़త՝ɾෛ࠴ΛίϯτϩʔϧԼʹஔ͘• վળαΠΫϧͷཱ֬ͱࣗݾஅೳྗͷ֫ಘDevOps WGԣஅWGBackend WGFrontend WG
ٕज़త՝ɾෛ࠴ΛίϯτϩʔϧԼʹஔ͘• ٕज़՝Λ͛ࠐΊΔॴɾΈΛ࡞Δ• ٕज़՝ͷ༏ઌΛ͚ͭΔ• དྷظͷ։ൃϩʔυϚοϓʹଓ͢Δ
ٕज़՝Λ͛ࠐΊΔॴɾΈΛ࡞Δ୭Ͱٕज़՝Λ͛ࠐΊΔspreadsheetreacji Ͱؾܰʹ͛ࠐΊΔ
͛ࠐ·Εͨ՝ͷ refinementͭΒ͞ = ϖΠϯΛݴޠԽݱ࣌Ͱු͔Ϳ How Λهࡌ(༏ઌ͕͚ͭΒΕΕ͍͍ͷͰɺ͜ͷཝ optional)
՝ͷ༏ઌॱҐ͚ϖΠϯͷසͱڧͰϚοϐϯάٕज़՝ͷ૬ରධՁΛ͚ͭΔ
དྷظͷ։ൃϩʔυϚοϓʹଓ͢ΔϖΠϯͷԽ։ൃϩʔυϚοϓଓঢ়گ
ͪΖΜɺᘳͰͳ͍• ٕज़՝සͱڧͰଌΕΔͷͰͳ͍• ఆੑతͰ͋Δ• ࢀՃϝϯόʔͷภΓ͕͋Δ͔• ෳ member ͷ vote ݁Ռͷॏ৺ʹஔ͍͍ͯΔͷͰਫ਼ʹٙ• ։ൃϦιʔεɺٕज़తқɺϦεΫʹΑ͙ͬͯ͢ʹऔΓ͔͔Εͳ͍՝͋Δ• ՝ͷ༏ઌ͚ʹ͕͔͔࣌ؒΔ• etc…
͔͠͠ɺಛఆͷਓʹґଘ͠ͳ͍ελʔτϥΠϯʹཱͬͨ• ୭Ͱٕज़՝Λද໌͢Δ͜ͱ͕Ͱ͖Δ• ද໌ͨ͠՝ඞͣऔΓѻΘΕΔ• શһͰʹ͖߹͑Δ - vs ࢲͨͪ• ظతͳ৴པੑͷ Controlability ୲อʹཱͭ
DevOps WG ͷతͱ׆ಈ• తɿʢ։ൃνʔϜͷʣࣗݾஅೳྗͷ֫ಘͷͨΊʹઃஔ• ϝϯόʔ ྖҬ͝ͱͷ WebDev / QA / SRE• ׆ಈ༰• όϦϡʔετϦʔϜϚοϐϯάͷ࣮ࢪ• ީิͱͳΔ Metrics / Indicator ͷચ͍ग़͠ͱܭଌ• DX Criteria ͷ࣮ࢪ• όϦϡʔετϦʔϜΛ્͢ΔཁҼͷղܾ(e.g. E2E Automation)• ϓϩμΫτ։ൃ෦֎ͷใ׆ಈ• ·ͣ༗ޮͦ͏ͳ metrics ΞηεϝϯτΛݕূͨ͠
όϦϡʔετϦʔϜϚοϐϯάMeta Issue (Epic) ࡞~ ։ൃ
όϦϡʔετϦʔϜϚοϐϯά։ൃྃ ~ εϓϦϯτϨϏϡʔQA ~ ຊ൪ϦϦʔε
ީิͱͳΔ Metrics / Indicator ͷચ͍ग़͠ͱܭଌόϦϡʔετϦʔϜϚοϐϯάΛΠϯϓοτʹɺվળͨ͠߹ͷϝϦοτͷԾઆɺͦΕΛ્͍ͯ͠ΔΛϐοΫΞοϓ
Qhttps://blog.studysapuri.jp/entry/2020/08/17/dx-criteria-system
ϓϩμΫτ։ൃ෦֎Ͱͷใ׆ಈ: BtoC All Hands Ͱͷൃදhttps://blog.studysapuri.jp/entry/2020/08/17/dx-criteria-system• ॴଐάϧʔϓΛ͑ͨࣄۀঢ়گΛΔ• Ϛʔέοτχϡʔε• ࣄۀঢ়گ• ϓϩμΫτ KPI• SLI / ։ൃऀੜ࢈ੑ• ͦͷଞτϐοΫ͞·͟·• SRE ͱͳʹʁ• ϚΠΫϩαʔϏεͬͯͳʹʁ͏Ε͍͠ͷʁ
ϓϩμΫτ։ൃ෦֎Ͱͷใ׆ಈ: BtoC All Hands Ͱͷൃද• “͡Ίͯͷ SRE” ͱͯ͠։ൃ෦Ҏ֎ͷํ͚ʹൃද
DevOps WG ͷతͱ׆ಈ• తɿʢ։ൃνʔϜͷʣࣗݾஅೳྗͷ֫ಘͷͨΊʹઃஔ• ʢ։ൃνʔϜ͕ʣࢦඪΛݩʹߦಈ͢ΔจԽΛ࡞Ζ͏ͱ͍ͯ͠Δ• SLI/SLO Λݟͯ৴པੑΛ؍͍ͯ͘͜͠ͱͱಉ͡Ͱ…?
SRE ͱٕज़ઓུ• DevOps WG ͷ׆ಈ ʮSRE ͷ࣮ݱʯͷจԽ໘Ͱͷ֦ு• զʑ͕ݟΔ͖ࢦඪγεςϜͷ৴པੑࢦඪ͚ͩͰͳ͍• ͋ΒΏΔͷΛࢦඪΛݟͯɺҙࢥܾఆ͢Δ• ࠓޙ͜ͷจԽৢͦͷͷͷվળαΠΫϧΛճ͢• 1. ީิͱͳΔ metrics ͷ༗ޮੑ͕໌Β͔ʹͳΓɺԽ͢Δ• 2. ։ൃνʔϜ͕ͦΕΛݟͯɺΞΫγϣϯΛߟ͑Δ͜ͱ͕Ͱ͖Δ• 3. ։ൃνʔϜ͕ΞΫγϣϯ->վળͷαΠΫϧΛճ͢• 4. 1-3 ͦΕࣗମ͕͏·͍͍ͬͯ͘Δ͔ΛධՁ͢Δ
SRE ͱٕज़ઓུ: ·ͱΊ• SRE Λ࣮ݱ͢ΔͨΊʹɺSLO ҧΛͨ࣌͠ʹߦಈͰ͖Δ༧ࢉͱݖݶ͕ඞཁ• ͦͷ্Ͱɺٕज़՝Λղܾ͢Δ༏ઌॱҐΛ͚ͭΒΕΔٕज़ઓུ͕ඞཁ• ʰελσΟαϓϦʱখதߴϓϩμΫτ։ൃ෦Ͱ͜ͷٕज़ઓུΛ1ਓʹґଘͤͣɺάϧʔϓͰ࣮ݱ͢Δ͜ͱʹઓ͍ͯ͠Δ• ͋ΒΏΔͷΛࢦඪͰݟ͍ͯ͘จԽ͕৴པੑͷͨΊʹॏཁ
·ͱΊ / SRE Λ࣮ݱ͢ΔͨΊʹඞཁͳ͜ͱ• ࢦඪΛݩʹվળ͠ଓ͚ΔจԽ• ࣗݾ݁ԽΛࢧ͑Δ Platform• ༏ઌॱҐΛมߋ͢ΔͨΊͷٕज़ઓུ
SRE “NEXT” in ʰελσΟαϓϦʱ• “৴པੑ” ʹؔͯ͠ Enabling Team ͱͯ͠ͷ SRE Team ׂΛՌͨͭͭ͋͠Δ• SRE Team ͷࠓޙ• ΑΓ৫Λ Sustainable / Scalable ʹ͢ΔͨΊʹɺPlatform ʹؔ͢ΔΦϯϘʔσΟϯάͷ֦ॆɺ։ൃνʔϜ͕ࣗతʹ৴པੑʹؔ͢ΔCapability शಘΛஅͰ͖ΔΞηεϝϯτΛఏڙ͢Δ• ৴པੑ͚ͩͰͳ͍ɺ։ൃੜ࢈ੑΛՌͨͤΔ Platform ։ൃʹྗ͢Δ
Who owns the Service Level?• Service Level ϓϩμΫτʹؔΘΔશһͷͷ• શһ͕ؔ৺Λ࣋ͯΔΑ͏ͳ৴པੑࢦඪʹਐԽͤ͞·͠ΐ͏• ϢʔβମݧΛతʹද͢ Client-side(WebFrontend/Native) Ͱͷ SLI/SLO Λ͏• ʮࢦඪΛݟͯߦಈ͢ΔʯͦͷͷͷվળαΠΫϧΛճ͠·͠ΐ͏
Thank you!chaspy chaspy_Engineering Manager, Site Reliability at Recruit Co., Ltd.Takeshi Kondohttps://chaspy.me