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

Bitkey_SRE_急成長するプロダクトを支えるためのSRE

 Bitkey_SRE_急成長するプロダクトを支えるためのSRE

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. ๺ଜ ॱ Jun Kitamura 2015 2016 גࣜձࣾϑϩϜεΫϥονʢݱɾגࣜձࣾσʔλ ̭ʣʹೖࣾ SaaSϚʔέςΟϯάπʔϧͷಋೖΤϯδχΞΛ୲౰ 2019

    ಋೖۀ຿͔ΒΠϯϑϥΤϯδχΞ΁ҟಈ ϓϩμΫτશମͷAWSɾGCPͷ਺ඦ~1000୆ͷαʔ όʔ؅ཧɾอक͠ͳ͕Βɺ։ൃνʔϜͷεΫϥϜϚ ελʔ΋݉຿ ϏοτΩʔ΁ࢀը ࠷ॳͷ੡඼ϦϦʔεͱ΄΅ಉ࣌ظʹೖࣾ
 “ΧΪ” ͷϓϥοτϑΥʔϜ: bitkey platform ΍إೝূ ϓϩμΫτͷ։ൃʹैࣄ 2021 νʔϜϚωʔδϟʔͱͯ͠SREͷ্ཱͪ͛ https://github.com/jkkitakita
  2. 1. ͦ΋ͦ΋SREͱ͸ SREʢSite Reliability Engineeringʣ Google͕ࣾఏএɺ࣮ફ͍ͯ͠Δ γεςϜ؅ཧͱαʔϏεӡ༻ͷํ๏࿦ 6 6 ࢀߟ:

    ʮαΠτϦϥΠΞϏϦςΟΤϯδχΞϦϯάʯʢ2021೥1݄10೔ (೔) 10:29ʣʰ΢ΟΩϖσΟΞ೔ຊޠ൛ʱ
  3. 12 ΤϯδχΞ ৭ʑ΍Βͳ͖Ό͚ͩͲ ΞϓϦέʔγϣϯϨΠϠʔ ͷ৽ػೳ։ൃʹूதͨ͠ ͍ʂ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύγςΟ

    ϓϥϯχϯά͍ͨ͠ʂ εέʔϥϏϦςΟ޲্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετ΋E2Eςετ΋ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ࠓ·ͰҎ্ʹ ৴པੑΛ ҡ࣋ɾ޲্͍͖͍ͯͨ͠ʂ
  4. 13 ΤϯδχΞ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ ૊৫ɾϓϩμΫτͷٸ֦େ ʹΑΓɺࠓ·ͰҎ্ʹɺ ΑΓ৴པੑΛҡ࣋ɾ޲্ ͍ͨ͠ʂ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύϓϥ͠

    ͍ͨʂ εέʔϥϏϦςΟ޲্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετ΋e2eςετ΋ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ΞϓϦέʔγϣϯϨΠ Ϡʔͷ৽ػೳ։ൃʹूத ͍ͨ͠ʂ ࠓ·Ͱ͸ɺ֤νʔϜͷߴ͍ΦʔφʔγοϓʹΑͬͯ ։ൃεϐʔυͱϓϩμΫτ৴པੑͷཱ྆Λ࣮ݱ͍ͯͨ͠ɻ ͔͠͠ɺ૊৫ͷٸ֦େʹΑͬͯ ֤νʔϜͷαΠϩԽɾඇޮ཰ͳۀ຿͕ൃੜ͖ͯͨ͠🥺
  5. 14 ΤϯδχΞ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ ૊৫ɾϓϩμΫτͷٸ֦େ ʹΑΓɺࠓ·ͰҎ্ʹɺ ΑΓ৴པੑΛҡ࣋ɾ޲্ ͍ͨ͠ʂ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύϓϥ͠

    ͍ͨʂ εέʔϥϏϦςΟ޲্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετ΋e2eςετ΋ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ΞϓϦέʔγϣϯϨΠ Ϡʔͷ৽ػೳ։ൃʹूத ͍ͨ͠ʂ ɹɹɹɹɹɾઃཱ͔Β3೥ ɹɹɹɹɹɾΤϯδχΞ਺70௒ ɹɹɹɹɹɾϓϩμΫτνʔϜ਺30௒ʢSW/FW/HWʣ ɹɹɹɹɹɾϓϩμΫτϩʔϯν਺72௒ʢ2021೥9݄຤࣌఺ʣ
  6. 15 ΤϯδχΞ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ ૊৫ɾϓϩμΫτͷٸ֦େ ʹΑΓɺࠓ·ͰҎ্ʹɺ ΑΓ৴པੑΛҡ࣋ɾ޲্ ͍ͨ͠ʂ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύϓϥ͠

    ͍ͨʂ εέʔϥϏϦςΟ޲্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετ΋e2eςετ΋ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ΞϓϦέʔγϣϯϨΠ Ϡʔͷ৽ػೳ։ൃʹूத ͍ͨ͠ʂ ࢀߟ: Bitkey ϓϩμΫτ/ٕज़ମ੍ ঺հࢿྉ
  7. 16 ΤϯδχΞ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ ૊৫ɾϓϩμΫτͷٸ֦େ ʹΑΓɺࠓ·ͰҎ্ʹɺ ΑΓ৴པੑΛҡ࣋ɾ޲্ ͍ͨ͠ʂ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύϓϥ͠

    ͍ͨʂ εέʔϥϏϦςΟ޲্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετ΋e2eςετ΋ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ΞϓϦέʔγϣϯϨΠ Ϡʔͷ৽ػೳ։ൃʹूத ͍ͨ͠ʂ ͜ΕΒͷཁٻʹରͯ͠ Ξϓϩʔν͍ͯ͘͠ԣஅ૊৫ͷ ඞཁੑ͕ߴ·͖ͬͯͨʂʂ
  8. 17 ΤϯδχΞ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ ૊৫ɾϓϩμΫτͷٸ֦େ ʹΑΓɺࠓ·ͰҎ্ʹɺ ΑΓ৴པੑΛҡ࣋ɾ޲্ ͍ͨ͠ʂ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύϓϥ͠

    ͍ͨʂ εέʔϥϏϦςΟ޲্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετ΋e2eςετ΋ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ΞϓϦέʔγϣϯϨΠ Ϡʔͷ৽ػೳ։ൃʹूத ͍ͨ͠ʂ 2021೥7݄ɺSREνʔϜര஀ʂʂʂ
  9. Bitkey ͷ SRE νʔϜ্ཱͪ͛Ͱɺओʹ΍ͬͨ͜ͱ 1. Bitkey ͷ SRE νʔϜͱͯ͠΍Γ͍ͨ͜ͱͷݴޠԽ 2.

    νʔϜߏ੒ݕ౼ 3. ਓһܭըɾ࠾༻׆ಈ 4. ྠಡձ 5. ϓϩμΫτνʔϜ΁SREࢪࡦͷಋೖਪਐ 22 22 3. SREνʔϜ্ཱͪ͛Ͱ΍ͬͨ͜ͱ
  10. ϏοτΩʔʹ͓͚Δ SRE νʔϜͱͯ͠΍Γ͍ͨ͜ͱ 1. ࣗಈԽͳͲͷࢪࡦΛ௨ͯ͠ɺγεςϜͷ։ൃ଎౓ͱ඼࣭Λڞʹ޲্ͤ͞Δ͜ͱ 2. γεςϜͷ৴པੑ΍ύϑΥʔϚϯεɺεέʔϥϏϦςΟͷվળ 3. ΑΓ࣋ଓՄೳͳ։ൃɾӡ༻ମ੍ʹ޲͚ͨDeveloper Experienceͷվળ

    4. ϓϩμΫτνʔϜ΁ͷΞʔΩςΫνϟઃܭࢧԉ΍ΩϟύγςΟϓϥχϯά౳Λ௨ ͯ͠ɺΑΓ҆ఆͨ͠ϦϦʔεମݧΛఏڙ͢Δ͜ͱ 5. ηΩϡϦςΟνʔϜ΁ͷٕज़ࢧԉɾϨϏϡʔ౳Λ௨ͯ͠ɺΑΓηΩϡΞͳࣾ಺؀ ڥ੔උ 6. ޮ཰తͳϦάϨογϣϯςετɺٴͼɺͦͷࣗಈԽɺ؀ڥ੔උΛ௨ͨ͡ϓϩμΫ τͷ඼࣭޲্ 26 26 3. SREνʔϜ্ཱͪ͛Ͱ΍ͬͨ͜ͱ
  11. 29 1. SREνʔϜઐ೚ a. ౰ͨΓલͱࢥ͏͔΋͠Εͳ͍͕ɺ্ཱͪ͛ϑΣʔζʹ͓͍ͯ͸ɺಛʹॏཁɻ 2. Embedded SRE ͱ Central

    SRE ͷߏ੒ a. ։ൃ଎౓ʹదͨ͠ࡉ΍͔ͳࢧԉ(Embedded SRE)ͱԣஅతͳSREશମઓུ (Central SRE)ͷ྆ྠ͕ͳ͚Ε͹ʮSREͱͯ͠΍Γ͍ͨ͜ͱʯ͸࣮ݱͰ͖ͳ͍ɻ ໨ࢦ͍ͯ͠ΔνʔϜߏ੒ ϓϩμΫτνʔϜ Embedded SRE Central SRE SREνʔϜ 3. SREνʔϜ্ཱͪ͛Ͱ΍ͬͨ͜ͱ
  12. 🌞 Good 32 32 1. ϦΫϧʔςΟϯάνʔϜͱSRE࠾༻ʹ͓͚Δೝࣝͷ͢Γ߹Θ͕ͤͰ͖ͨɻ a. e.g. ຖ೔30෼ SRE࠾༻ఆྫΛϦΫϧʔςΟϯάνʔϜͱ࣮ࢪ

    2. ࠾༻׆ಈʹܞΘΔલͱޙͰɺ࠾༻ϓϩηεʹ͓͚Δվળ͕ΈΒΕͨɻ ☔ Not Good 1. ࠾༻׆ಈʹ͓͚ΔܧଓతͳධՁɾվળͷ࢓૊Έ͕ͳ͍ 3. SREνʔϜ্ཱͪ͛Ͱ΍ͬͨ͜ͱ
  13. 34 34 ࢀߟ: https://sre.google/books/ ໨త 1. SREͱͯ͠ݪཧݪଇΛཧղ্ͨ͠Ͱɺ૊৫΁࠷దԽ͍ͯͨ͘͠Ί 2. SREνʔϜͱͯ͠ͷڞ௨ೝࣝɾڞ௨ݴޠΛ֫ಘ͢ΔͨΊ ର৅ॻ੶

    1. Site Reliability Engineering: ݪཧݪଇ 2. The Site Reliability Workbook: ۩ମతͳํ๏࿦ 3. SREνʔϜ্ཱͪ͛Ͱ΍ͬͨ͜ͱ
  14. 35 35 3. SREνʔϜ্ཱͪ͛Ͱ΍ͬͨ͜ͱ ྠಡձͷਐΊํ 1. ςʔϚ୯Ґʢe.g. SLO/SLIɾΠϯγσϯτ etc...ʣʹԣ࣠Ͱɺݪଇͱ࣮ફΛ߹Θͤ ͯಡΉ

    a. ݪଇ: Site Reliability Engineering b. ࣮ફ: The Site Reliability Workbook 2. ૊৫ͷঢ়گʹԠͯ͡ɺςʔϚʹ༏ઌॱҐΛ͚ͭΔ 3. ຖि༵ۚ೔։࠵ʢ1࣌ؒʣ 4. ಉ͡ςʔϚΛϛʔςΟϯά·ͰʹಡΜͰɺཁ໿ɾҙ༁ͯ͠·ͱΊΔ 5. ղऍͷ࢓ํ͕೉͍͠෦෼౳ɺσΟεΧογϣϯͯ͠ೝࣝ߹Θͤ
  15. ҰൠతͳSRE࿦͸ओʹSWྖҬʢՄ༻ੑɾՔಇ཰ɾϨΠςϯγʔ...ʣ Bitkey͸SW͚ͩͷձࣾͰ͸ͳ͘ɺSW×FW×HW͕͋Δ → PHYSICAL ʴ DIGITAL = PHYSITAL ͷձࣾ SREͷࢹ఺ɾ࣮૷ΛHW/FWʹ΋֦ு͢Δඞཁ͕͋Δ

    → ͜Ε͕BitkeyͷSRE͕೉͍͠ཧ༝Ͱ͸ɾɾɾʁ 37 37 3. SREνʔϜ্ཱͪ͛Ͱ΍ͬͨ͜ͱ ؾ෇͖ ࢀߟ: https://bitkey.co.jp/about/connect-vision/
  16. • ։ൃΨΠυϥΠϯɾϧʔϧࡦఆ • Πϯγσϯτج४ɾϓϩηεͷ੔උ͔Βӡ༻·Ͱ • Ϗϧυߴ଎Խʢ50%Ҏ্ͷ଎౓վળ • ΠϯϑϥߏஙɺٴͼɺΞʔΩςΫνϟϨϏϡʔ • Datadog

    ಋೖ • E2Eςετج൫ߏங • Ϋϥ΢υηΩϡϦςΟ਍அ • ΦϯϓϨϛεαʔόʔߏ੒؅ཧಋೖ etc... ۩ମతʹ࣮ࢪͨ͠SREࢪࡦ 39 39 3. SREνʔϜ্ཱͪ͛Ͱ΍ͬͨ͜ͱ
  17. 43 43 ·ͩ·ͩ΍Βͳ͖Ό͍͚ͳ͍͜ͱ͸ͨ͘͞Μʂ 3. SREνʔϜͷ͜Ε͔Β 1. Embedded SRE ͱ Central

    SRE ͦΕͧΕઐ೚΁ 2. Embedded SRE ͷϩʔςʔγϣϯ 3. SW͚ͩͰ͸ͳ͘ɺFW/HW΋ؚΊͨSLOɾSLIͷࡦఆ 4. Ҿ͖ଓ͖ɺ࠾༻׆ಈؤுΔʂʂ etc...
  18. 46