Share
Embed
Bitkey_SRE_急成長するプロダクトを支えるためのSRE
株式会社ビットキー / Bitkey Inc. PRO
October 08, 2021
Transcript
46 slides
-
Outline 2 2 1. ͦͦSREͱ 2. BitkeyͰSRE͕ඞཁʹͳͬͨཧ༝ 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ 4.
3ϲ݄ৼΓฦͬͯΈͯ 5. SREνʔϜͷ͜Ε͔Β -
ଜ ॱ Jun Kitamura 2015 2016 גࣜձࣾϑϩϜεΫϥονʢݱɾגࣜձࣾσʔλ ̭ʣʹೖࣾ SaaSϚʔέςΟϯάπʔϧͷಋೖΤϯδχΞΛ୲ 2019
ಋೖۀ͔ΒΠϯϑϥΤϯδχΞҟಈ ϓϩμΫτશମͷAWSɾGCPͷඦ~1000ͷαʔ όʔཧɾอक͠ͳ͕Βɺ։ൃνʔϜͷεΫϥϜϚ ελʔ݉ ϏοτΩʔࢀը ࠷ॳͷϦϦʔεͱ΄΅ಉ࣌ظʹೖࣾ “ΧΪ” ͷϓϥοτϑΥʔϜ: bitkey platform إೝূ ϓϩμΫτͷ։ൃʹैࣄ 2021 νʔϜϚωʔδϟʔͱͯ͠SREͷ্ཱͪ͛ https://github.com/jkkitakita -
1. ͦͦSREͱ SREʢSite Reliability Engineeringʣ Google͕ࣾఏএɺ࣮ફ͍ͯ͠Δ γεςϜཧͱαʔϏεӡ༻ͷํ๏ 6 6 ࢀߟ:
ʮαΠτϦϥΠΞϏϦςΟΤϯδχΞϦϯάʯʢ20211݄10 () 10:29ʣʰΟΩϖσΟΞຊޠ൛ʱ -
11 ΤϯδχΞ ୯ମςετE2Eςετ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύγςΟ
ϓϥϯχϯά͍ͨ͠ʂ εέʔϥϏϦςΟ্ͤ͞ ͍͖͍ͯͨʂ ࠓ·ͰҎ্ʹ ৴པੑΛ ҡ࣋ɾ্͍͖͍ͯͨ͠ʂ -
12 ΤϯδχΞ ৭ʑΒͳ͖Ό͚ͩͲ ΞϓϦέʔγϣϯϨΠϠʔ ͷ৽ػೳ։ൃʹूதͨ͠ ͍ʂ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύγςΟ
ϓϥϯχϯά͍ͨ͠ʂ εέʔϥϏϦςΟ্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετE2Eςετ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ࠓ·ͰҎ্ʹ ৴པੑΛ ҡ࣋ɾ্͍͖͍ͯͨ͠ʂ -
13 ΤϯδχΞ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ ৫ɾϓϩμΫτͷٸ֦େ ʹΑΓɺࠓ·ͰҎ্ʹɺ ΑΓ৴པੑΛҡ࣋ɾ্ ͍ͨ͠ʂ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύϓϥ͠
͍ͨʂ εέʔϥϏϦςΟ্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετe2eςετ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ΞϓϦέʔγϣϯϨΠ Ϡʔͷ৽ػೳ։ൃʹूத ͍ͨ͠ʂ ࠓ·Ͱɺ֤νʔϜͷߴ͍ΦʔφʔγοϓʹΑͬͯ ։ൃεϐʔυͱϓϩμΫτ৴པੑͷཱ྆Λ࣮ݱ͍ͯͨ͠ɻ ͔͠͠ɺ৫ͷٸ֦େʹΑͬͯ ֤νʔϜͷαΠϩԽɾඇޮͳۀ͕ൃੜ͖ͯͨ͠🥺 -
14 ΤϯδχΞ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ ৫ɾϓϩμΫτͷٸ֦େ ʹΑΓɺࠓ·ͰҎ্ʹɺ ΑΓ৴པੑΛҡ࣋ɾ্ ͍ͨ͠ʂ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύϓϥ͠
͍ͨʂ εέʔϥϏϦςΟ্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετe2eςετ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ΞϓϦέʔγϣϯϨΠ Ϡʔͷ৽ػೳ։ൃʹूத ͍ͨ͠ʂ ɹɹɹɹɹɾઃཱ͔Β3 ɹɹɹɹɹɾΤϯδχΞ70 ɹɹɹɹɹɾϓϩμΫτνʔϜ30ʢSW/FW/HWʣ ɹɹɹɹɹɾϓϩμΫτϩʔϯν72ʢ20219݄࣌ʣ -
15 ΤϯδχΞ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ ৫ɾϓϩμΫτͷٸ֦େ ʹΑΓɺࠓ·ͰҎ্ʹɺ ΑΓ৴པੑΛҡ࣋ɾ্ ͍ͨ͠ʂ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύϓϥ͠
͍ͨʂ εέʔϥϏϦςΟ্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετe2eςετ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ΞϓϦέʔγϣϯϨΠ Ϡʔͷ৽ػೳ։ൃʹूத ͍ͨ͠ʂ ࢀߟ: Bitkey ϓϩμΫτ/ٕज़ମ੍ հࢿྉ -
16 ΤϯδχΞ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ ৫ɾϓϩμΫτͷٸ֦େ ʹΑΓɺࠓ·ͰҎ্ʹɺ ΑΓ৴པੑΛҡ࣋ɾ্ ͍ͨ͠ʂ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύϓϥ͠
͍ͨʂ εέʔϥϏϦςΟ্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετe2eςετ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ΞϓϦέʔγϣϯϨΠ Ϡʔͷ৽ػೳ։ൃʹूத ͍ͨ͠ʂ ͜ΕΒͷཁٻʹରͯ͠ Ξϓϩʔν͍ͯ͘͠ԣஅ৫ͷ ඞཁੑ͕ߴ·͖ͬͯͨʂʂ -
17 ΤϯδχΞ 2. ͳͥSREνʔϜ͕ඞཁʹͳͬͨͷ͔ ৫ɾϓϩμΫτͷٸ֦େ ʹΑΓɺࠓ·ͰҎ্ʹɺ ΑΓ৴པੑΛҡ࣋ɾ্ ͍ͨ͠ʂ τϥϑΟοΫ૿Ճͯ͠Δ͔ ΒɺܭըతʹΩϟύϓϥ͠
͍ͨʂ εέʔϥϏϦςΟ্ͤ͞ ͍͖͍ͯͨʂ ୯ମςετe2eςετ ֦ॆ͍͖͍͚ͯͨ͠Ͳɺͦ ͷͨΊʹ৭ʑ४උ͠ͳ͍ ͱ͍͚ͳͯ͘େมʂ ΞϓϦέʔγϣϯϨΠ Ϡʔͷ৽ػೳ։ൃʹूத ͍ͨ͠ʂ 20217݄ɺSREνʔϜരʂʂʂ -
Bitkey ͷ SRE νʔϜ্ཱͪ͛Ͱɺओʹͬͨ͜ͱ 1. Bitkey ͷ SRE νʔϜͱͯ͠Γ͍ͨ͜ͱͷݴޠԽ 2.
νʔϜߏݕ౼ 3. ਓһܭըɾ࠾༻׆ಈ 4. ྠಡձ 5. ϓϩμΫτνʔϜSREࢪࡦͷಋೖਪਐ 22 22 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ -
ϏοτΩʔʹ͓͚Δ SRE νʔϜͱͯ͠Γ͍ͨ͜ͱ 1. ࣗಈԽͳͲͷࢪࡦΛ௨ͯ͠ɺγεςϜͷ։ൃͱ࣭Λڞʹ্ͤ͞Δ͜ͱ 2. γεςϜͷ৴པੑύϑΥʔϚϯεɺεέʔϥϏϦςΟͷվળ 3. ΑΓ࣋ଓՄೳͳ։ൃɾӡ༻ମ੍ʹ͚ͨDeveloper Experienceͷվળ
4. ϓϩμΫτνʔϜͷΞʔΩςΫνϟઃܭࢧԉΩϟύγςΟϓϥχϯάΛ௨ ͯ͠ɺΑΓ҆ఆͨ͠ϦϦʔεମݧΛఏڙ͢Δ͜ͱ 5. ηΩϡϦςΟνʔϜͷٕज़ࢧԉɾϨϏϡʔΛ௨ͯ͠ɺΑΓηΩϡΞͳࣾ ڥඋ 6. ޮతͳϦάϨογϣϯςετɺٴͼɺͦͷࣗಈԽɺڥඋΛ௨ͨ͡ϓϩμΫ τͷ্࣭ 26 26 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ -
29 1. SREνʔϜઐ a. ͨΓલͱࢥ͏͔͠Εͳ͍͕ɺ্ཱͪ͛ϑΣʔζʹ͓͍ͯɺಛʹॏཁɻ 2. Embedded SRE ͱ Central
SRE ͷߏ a. ։ൃʹదͨ͠ࡉ͔ͳࢧԉ(Embedded SRE)ͱԣஅతͳSREશମઓུ (Central SRE)ͷ྆ྠ͕ͳ͚ΕʮSREͱͯ͠Γ͍ͨ͜ͱʯ࣮ݱͰ͖ͳ͍ɻ ࢦ͍ͯ͠ΔνʔϜߏ ϓϩμΫτνʔϜ Embedded SRE Central SRE SREνʔϜ 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ -
1. ਓһܭըɾϩʔυϚοϓ࡞ a. ʮΓ͍ͨ͜ͱʯͱʮࢦ͍ͯ͠ΔνʔϜߏʯ͔Βٯࢉ 2. SREνʔϜͱͯ͠࠾༻ඪΛઃఆ a. ԿΘ͔Βͳ͍தͰͷ࠾༻ඪෆ࣮֬ੑ͕ߴ͍ɻʢඪະୡͷՄೳੑ͕ߴ͍ b. ͔͠͠ɺνʔϜඪͱͯ͠࠾༻ඪΛઃఆ͠ͳ͍ͱɺ௨ৗۀͷํʹͬͯ͠·
͍ͦ͏ͳ͜ͱ͕༰қʹ૾Ͱ͖ͨɻ c. ඪະୡΑΓɺSREνʔϜ͕த్ʹͳͬͯɺՁఏڙͰ͖ͳ͍͜ͱͷํ͕ݏͩɻ ۩ମతʹͬͨ͜ͱ 31 31 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ -
🌞 Good 32 32 1. ϦΫϧʔςΟϯάνʔϜͱSRE࠾༻ʹ͓͚Δೝࣝͷ͢Γ߹Θ͕ͤͰ͖ͨɻ a. e.g. ຖ30 SRE࠾༻ఆྫΛϦΫϧʔςΟϯάνʔϜͱ࣮ࢪ
2. ࠾༻׆ಈʹܞΘΔલͱޙͰɺ࠾༻ϓϩηεʹ͓͚Δվળ͕ΈΒΕͨɻ ☔ Not Good 1. ࠾༻׆ಈʹ͓͚ΔܧଓతͳධՁɾվળͷΈ͕ͳ͍ 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ -
34 34 ࢀߟ: https://sre.google/books/ త 1. SREͱͯ͠ݪཧݪଇΛཧղ্ͨ͠Ͱɺ৫࠷దԽ͍ͯͨ͘͠Ί 2. SREνʔϜͱͯ͠ͷڞ௨ೝࣝɾڞ௨ݴޠΛ֫ಘ͢ΔͨΊ ରॻ੶
1. Site Reliability Engineering: ݪཧݪଇ 2. The Site Reliability Workbook: ۩ମతͳํ๏ 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ -
35 35 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ ྠಡձͷਐΊํ 1. ςʔϚ୯Ґʢe.g. SLO/SLIɾΠϯγσϯτ etc...ʣʹԣ࣠Ͱɺݪଇͱ࣮ફΛ߹Θͤ ͯಡΉ
a. ݪଇ: Site Reliability Engineering b. ࣮ફ: The Site Reliability Workbook 2. ৫ͷঢ়گʹԠͯ͡ɺςʔϚʹ༏ઌॱҐΛ͚ͭΔ 3. ຖि༵ۚ։࠵ʢ1࣌ؒʣ 4. ಉ͡ςʔϚΛϛʔςΟϯά·ͰʹಡΜͰɺཁɾҙ༁ͯ͠·ͱΊΔ 5. ղऍͷํ͕͍͠෦ɺσΟεΧογϣϯͯ͠ೝࣝ߹Θͤ -
36 36 1. SREͷݪଇͱ࣮ફํ๏Λಉ͡λΠϛϯάͰֶͿ͜ͱͰɺͦΕͧΕಠཱͯ͠ಡΉΑΓɺࣝͱͯ͠ఆண͠ ͍ͯΔؾ͕͢Δɻ 2. ࣗͳΓͷҙ༁ɾղऍ߹Θͤͯཧ͢Δ͜ͱͰɺࣗͷݴ༿Ͱઆ໌Ͱ͖ΔͷͰɺೝࣝ߹Θ͕͔ͤͬ͢͠ ͨɻ 3. ཧͨ͠༰Λͦͷ··ɺEmbedded
SRE ͱͯ͠ͷ֤ϓϩμΫτνʔϜల։Ͱ͖ɺઆ໌ίετ͕Լ ͨ͠ɻ 1. ४උʹ͕͔͔࣌ؒΔɻɻɻ 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ 🌞 Good ☔ Not Good -
ҰൠతͳSREओʹSWྖҬʢՄ༻ੑɾՔಇɾϨΠςϯγʔ...ʣ BitkeySW͚ͩͷձࣾͰͳ͘ɺSW×FW×HW͕͋Δ → PHYSICAL ʴ DIGITAL = PHYSITAL ͷձࣾ SREͷࢹɾ࣮ΛHW/FWʹ֦ு͢Δඞཁ͕͋Δ
→ ͜Ε͕BitkeyͷSRE͕͍͠ཧ༝Ͱɾɾɾʁ 37 37 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ ؾ͖ ࢀߟ: https://bitkey.co.jp/about/connect-vision/ -
• ։ൃΨΠυϥΠϯɾϧʔϧࡦఆ • Πϯγσϯτج४ɾϓϩηεͷඋ͔Βӡ༻·Ͱ • ϏϧυߴԽʢ50%Ҏ্ͷվળ • ΠϯϑϥߏஙɺٴͼɺΞʔΩςΫνϟϨϏϡʔ • Datadog
ಋೖ • E2Eςετج൫ߏங • ΫϥυηΩϡϦςΟஅ • ΦϯϓϨϛεαʔόʔߏཧಋೖ etc... ۩ମతʹ࣮ࢪͨ͠SREࢪࡦ 39 39 3. SREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱ -
41 41 1. ʮSREνʔϜ্ཱͪ͛Ͱͬͨ͜ͱʯΛ࣮ફ͢Δ͜ͱͰɺΤϯδχΞ৫ʹ͓͚Δ SREνʔϜͷଘࡏײ૿͖ͯͨ͠ͱײ͍ͯ͡Δ 2. ϓϩμΫτνʔϜͷ৭ΜͳํʑͱࣄͰ͖Δͷָ͍͠ʂ 3. PHYSITAL ΊͬͪΌ͍͜͠ͱ͕Θ͔ͬͨɻɻɻ
1. Embedded SRE ͱ Central SRE Λ͍݉ͯͨ͠ 4. 3ϲ݄ৼΓฦͬͯΈͯ 🌞 Good ☔ Not Good -
43 43 ·ͩ·ͩΒͳ͖Ό͍͚ͳ͍͜ͱͨ͘͞Μʂ 3. SREνʔϜͷ͜Ε͔Β 1. Embedded SRE ͱ Central
SRE ͦΕͧΕઐ 2. Embedded SRE ͷϩʔςʔγϣϯ 3. SW͚ͩͰͳ͘ɺFW/HWؚΊͨSLOɾSLIͷࡦఆ 4. Ҿ͖ଓ͖ɺ࠾༻׆ಈؤுΔʂʂ etc...