SREνʔϜ͕Ͱ͖Δ·Ͱͱɺ͜Ε͔Β
ɹ
VOYAGE GROUP, Inc. @_nishigori
SRE LifeCycle in my team - @_nishigori #shinjukugl 1
Slide 2
Slide 2 text
Who are you?
• Twi%er @_nishigori
• fluct SREs Manager
• I love Makefile
SRE LifeCycle in my team - @_nishigori #shinjukugl 2
Slide 3
Slide 3 text
ڈͬͯͨ͜ͱ
"ࣄۀΛࢧ͑ΔPHP"
VOYAGE GROUP ͑Μ͡ʹΌʔͣͰ࿈ࡌ
WEB+DB PRESS - ٕज़ධ༷͔ࣾΒग़൛
• Vol.104 PHPͷܧଓతόʔδϣϯΞοϓ
• Vol.107 ຊʹͬͯΔʁ php.ini
ʢPHPҎ֎ͨ͘͞Μݴޠ৮͍ͬͯΔ
SRE LifeCycle in my team - @_nishigori #shinjukugl 3
Slide 4
Slide 4 text
VOYAGE GROUPͷࣄۀ (2018ݱࡏ)
h"ps:/
/voyagegroup.com/business/
SRE LifeCycle in my team - @_nishigori #shinjukugl 4
Slide 5
Slide 5 text
SRE LifeCycle in my team - @_nishigori #shinjukugl 5
Slide 6
Slide 6 text
Agenda
• What is SRE?
• SRE Book
• case fluct
• class SRE implements DevOps
• Division is not a firewall
SRE LifeCycle in my team - @_nishigori #shinjukugl 6
Slide 7
Slide 7 text
What is SRE?
SRE LifeCycle in my team - @_nishigori #shinjukugl 7
Slide 8
Slide 8 text
SRE LifeCycle in my team - @_nishigori #shinjukugl 8
Slide 9
Slide 9 text
ಡ͏ʂʂʢ֖ͳ͍
SRE LifeCycle in my team - @_nishigori #shinjukugl 9
Slide 10
Slide 10 text
Case fluct SSP
SRE LifeCycle in my team - @_nishigori #shinjukugl 10
Slide 11
Slide 11 text
SRE LifeCycle in my team - @_nishigori #shinjukugl 11
Slide 12
Slide 12 text
࣮ʹෳࡶ ><
SRE LifeCycle in my team - @_nishigori #shinjukugl 12
Slide 13
Slide 13 text
͜ͷதͰɺकΓ͍ͨͷͲ͔͜…
SRE LifeCycle in my team - @_nishigori #shinjukugl 13
Slide 14
Slide 14 text
SLO (αʔϏεϨϕϧඪ)
ࠂ৴෦ͷγεςϜతͳ߹Ͱʮࠂ͕ݟΕͳ͍ʯΛͳ͘͢
SRE LifeCycle in my team - @_nishigori #shinjukugl 14
Slide 15
Slide 15 text
SLO (αʔϏεϨϕϧඪ)
SLOʹؚΊ͍ͯͳ͍ͷ:
• αΠτͷjsࢯࢮ
• NoAd (has many many reason)
ࠂ͕ݟΕͳ͍έʔε࣮ʹ༷ʑɻ
ࢪࡦऔ͍ͬͯͨΓ͢Δ͕SLOʹ͋͘·ͰؚΊ͍ͯͳ͍ɻ
ʢԿඦɾԿઍഔମ͋ΔͱҰ݄Ͱ··͋Δʣ
SRE LifeCycle in my team - @_nishigori #shinjukugl 15
Slide 16
Slide 16 text
SLO (αʔϏεϨϕϧඪ)
ӈਤͷதͰ:
• ৴αʔό͕བྷΉϦΫΤετ -> Ϩ
εϙϯεΛࢭΊͳ͍
• ٯʹͦ͜Ҏ֎ͨ·ʹࢭ·ͬͯ͝Ί
ΜͪΌ͍
• ཧը໘, etc ...
• ʢળॲͯ͠ΔYoʣ
SRE LifeCycle in my team - @_nishigori #shinjukugl 16
Slide 17
Slide 17 text
SLI (αʔϏεϨϕϧࢦඪ)
• Τϥʔ
• ϨΠςϯγ (˚˚ms Ҏʹฦͧ͢ʙ)
SRE LifeCycle in my team - @_nishigori #shinjukugl 17
Slide 18
Slide 18 text
ʮਪଌ͢ΔͳɹܭଌͤΑʯ
— Rob Pike - Notes on Programming in C
ϞχλϦϯάେࣄ
SLI͕ةͿ·Εͨ࣌ʹɺͦΕҎ֎ՄࢹԽ
ͯ͠ͳ͍ͱ݁ہԿ͕ݪҼ͔͔Βͳ͍ɻ
e.g. process͝ͱͷϚγϯϦιʔε༻
ӈਤ sre-book Simplicity Part III - Prac4ces ΑΓ
SRE LifeCycle in my team - @_nishigori #shinjukugl 18
Slide 19
Slide 19 text
fluct SREνʔϜ
SLO / SLA Λҡ࣋͠ଓ͚ΔͨΊͷूஂ
SRE LifeCycle in my team - @_nishigori #shinjukugl 19
Slide 20
Slide 20 text
SRE book 5.3 ΤϯδχΞϦϯάͰ͋ΔͨΊͷ݅
ͪΐͬͱfluct SREνʔϜͰԿͯ͠Δ͔ͯΊͯൈਮͯ͠Έͨ
SRE LifeCycle in my team - @_nishigori #shinjukugl 20
Slide 21
Slide 21 text
ιϑτΣΞΤϯδχΞϦϯά
͍ͩͿίʔυॻ͘ूஂͰ͋Δ
• terraform
• consul and related anything
• puppet manifests
• bot࡞
• etc...
SRE LifeCycle in my team - @_nishigori #shinjukugl 21
Slide 22
Slide 22 text
γεςϜΤϯδχΞϦϯά
• ૉૣ͍ϏϧυγεςϜͷߏஙɾӡ༻ (Makefile)
• σϓϩΠͷ্
• Grafana Monitoring͝ʹΐ͝ʹΐ
• OSΞοϓάϨʔυɾKernelύϥϝʔλ͍͍ͫͫ
• Container Orchestra8on
SRE LifeCycle in my team - @_nishigori #shinjukugl 22
Slide 23
Slide 23 text
τΠϧ
໓͢Δͧʙ
• redashɺରςʔϒϧͷՃ
• ECSͷEC2 Instance drainingϙνοͱͳ
Φʔόʔϔου
ʮ҆○ઌੜɺਓ͕ཉ͍͠Ͱ͢…ʯ
SRE LifeCycle in my team - @_nishigori #shinjukugl 23
Slide 24
Slide 24 text
Χϯόϯ͍ͩͿΏΔ;Θ
SRE LifeCycle in my team - @_nishigori #shinjukugl 24
Slide 25
Slide 25 text
ͳΜͯ͜ͱΛͯͨ͠Β͜ͷͰɺ
• ΊͬͪΌϞχλϦϯά૿͑ͨ
• ϓϩμΫγϣϯϛʔςΟϯάͷස͕૿͑ͨʢSREຊ 31ষ SRE
ʹ͓͚ΔίϛϡχέʔγϣϯͱίϥϘϨʔγϣϯʣ
• blue-green deployment / canary release
SRE LifeCycle in my team - @_nishigori #shinjukugl 25
Slide 26
Slide 26 text
fluct SREνʔϜ is
Not ઐ But ઐ
SRE LifeCycle in my team - @_nishigori #shinjukugl 26
Slide 27
Slide 27 text
SRE LifeCycle in my team - @_nishigori #shinjukugl 27
Slide 28
Slide 28 text
Devision is not a firewall
SRE LifeCycle in my team - @_nishigori #shinjukugl 28
Slide 29
Slide 29 text
class SRE implements DevOps
DevOps as ֶ / จԽ
SRE is prescrip+ve (نൣ)
~ SRE vs. DevOps: compe1ng standards or close friends? ~
SRE LifeCycle in my team - @_nishigori #shinjukugl 29
Slide 30
Slide 30 text
class SRE implements DevOps
fluct SREνʔϜʹͱͬͯ -
• developers͓٬༷Ͱͳ͍ʢͳ͔ʔ·ʣ
• ݏ͍ͳݴ༿: ʮґཔʯ
• ͖ͳݴ༿: ʮ૬ஊʯ ʢ͔Βͷʣ ʮϖΞϓϩʯ
SRE LifeCycle in my team - @_nishigori #shinjukugl 30
Slide 31
Slide 31 text
ϖΞϓϩάϥϛϯάศར!!!
SRE LifeCycle in my team - @_nishigori #shinjukugl 31
Slide 32
Slide 32 text
͋͘·ͰઐͳͷͰ ͿͬͪΌ͚୭͕͍͍ͬͯ
ͦΕͰɺSREνʔϜ͕ಘҙͳྖҬͨ͘͞Μ͋Δ
• AWSपΓͷࣝ
• OSಛ༗ͷ
• CI/CD ࢥߟ
͜͜ΒΜɺ ϖΞϓϩΛܦͯΔͱΊͬͪΌֶͼ͕͋Δͳͱ
SRE LifeCycle in my team - @_nishigori #shinjukugl 32
Slide 33
Slide 33 text
ϖΞϓϩͯ͠ΔͱΑ͘ͿͪͨΔ՝
ʂݖݶ͕ͳ͍ʂ
ʂʂݖݶ͕ͳ͍ʂʂ
ʂʂʂݖݶ͕ͳ͍ʂʂʂ
SRE LifeCycle in my team - @_nishigori #shinjukugl 33
Slide 34
Slide 34 text
దͳݖݶҕৡ
"You are administrator"
AWSͰͳΜͰͰ͖ΔIAM Userੵۃతʹ͢ελΠϧ
SRE LifeCycle in my team - @_nishigori #shinjukugl 34
Slide 35
Slide 35 text
ʮadminͯ͠ΦγϚΠʯ ͡Όͳ͍
ނʹϖΞϓϩάϥϛϯάͯͨ͠Γ
SRE LifeCycle in my team - @_nishigori #shinjukugl 35
Slide 36
Slide 36 text
ٯʹDevelopersʹूதͯ͠΄͍͠ྖҬ͋Δɻ
ͷͰωοτϫʔΫपΓͱ͔ͪ͜Β͕΄΅ઌճΓ͍ͨ͠
• AWS Transit Gateway
• VPN Connec6ons
• EL8 ରԠ
• etc ...**
SRE LifeCycle in my team - @_nishigori #shinjukugl 36
Slide 37
Slide 37 text
นͳͲͳ͍ʢ͋ͬͨΒյͦ͏
SRE LifeCycle in my team - @_nishigori #shinjukugl 37
Slide 38
Slide 38 text
"ͳΜͱͳ͔͑ͨͬͨ͘͜ͱ"
SREΛಋೖ͍ͨ͠
·ͣ SLO / SLI ΛܾΊΑ͏ɺͦΕ͔Βͩ
ʢࠓճͯ͠ͳ͍͚ͲʣΠϯγσϯτपΓͱ͔
Φψψϝ: SRE νʔϜͷධՁʹཱͭϨϕϧผνΣοΫ Ϧετ
SRE LifeCycle in my team - @_nishigori #shinjukugl 38
Slide 39
Slide 39 text
"ͳΜͱͳ͔͑ͨͬͨ͘͜ͱ"
͠SREνʔϜΛͭ͘Γͨ͘ͳͬͨΒ
ʮνʔϜͰ͋Δඞཁ͋Δʁʯߟྀͯ͠ɺɺɺ
෦ॺɾνʔϜน͡Όͳ͍Α
ͦͷͨΊͷ૬ޓྗ੯͠·ͣ
SRE LifeCycle in my team - @_nishigori #shinjukugl 39
Slide 40
Slide 40 text
[nits] Q. ৽نαʔϏεΔͱͨ͠Β
SREνʔϜͭ͘Δʁ
SRE LifeCycle in my team - @_nishigori #shinjukugl 40
Slide 41
Slide 41 text
[nits] Q. ৽نαʔϏεΔͱͨ͠Β
SREνʔϜͭ͘Δʁ
A. No
SRE LifeCycle in my team - @_nishigori #shinjukugl 41
Slide 42
Slide 42 text
[nits] Q. ৽نαʔϏεΔͱͨ͠Β
SREνʔϜͭ͘Δʁ
A. No
• ·ͩͦͷن͡Όͳ͍ͩΖ͏ͱ͔ࢥ͏
• νʔϜɺͭ͘Βͳ͍͔ͳ
SRE LifeCycle in my team - @_nishigori #shinjukugl 42
Slide 43
Slide 43 text
[nits] Q. ৽نαʔϏεΔͱͨ͠Β
SREνʔϜͭ͘Δʁ
Δͱͨ͠ΒɺSLO / SLA ΛܾΊͯ
Full Cycle DevelopersͷूஂΛࢦ͢ɺ
͔ͳ
• Full Cycle Developers at Ne3lix —
Operate What You Build
• Ne3lixʹ͓͚ΔϑϧαΠΫϧ։ൃऀ―։
ൃͨ͠ͷ͕ӡ༻͢Δ
SRE LifeCycle in my team - @_nishigori #shinjukugl 43
Slide 44
Slide 44 text
ଞ͔ͨͬͨ͜͠ͱ
• Releasement Cycle
• Reliable V.S. Speed
• Infrastructure as Code ͷढ͍
• αΠτ৴པੑͷϋϯυϦϯά
Ͳ͔͜ͰͤΔͱخ͍͠ͳ
SRE LifeCycle in my team - @_nishigori #shinjukugl 44
Slide 45
Slide 45 text
thx. !
SRE LifeCycle in my team - @_nishigori #shinjukugl 45