Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ペパボのSREとして 働くきっかけ
Search
Ryo Nakamine
April 26, 2022
0
1.7k
ペパボのSREとして 働くきっかけ
2021.04.26 Pepabo Tech Talk -入社1年以内のメンバーが語る、ペパボのSREチームの取り組み-
Ryo Nakamine
April 26, 2022
Tweet
Share
More Decks by Ryo Nakamine
See All by Ryo Nakamine
Ruby on Rails におけるOpenTelemetry の活用
rnakamine
2
2.3k
Building a ServiceMap with Service Graph Connector
rnakamine
0
1.4k
10年動くアプリケーションに Embedded SRE を導入した話
rnakamine
3
420
異業種からエンジニアになった僕が憧れの会社に飛び込むまで
rnakamine
1
660
EBILABを支えるクラウド・サーバーレス活用事例とこれから
rnakamine
0
63
Laravel NOVAを使ってみた
rnakamine
0
32
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Typedesign – Prime Four
hannesfritz
40
2.4k
Optimising Largest Contentful Paint
csswizardry
33
3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Practical Orchestrator
shlominoach
186
10k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
A designer walks into a library…
pauljervisheath
204
24k
KATA
mclloyd
29
14k
Bash Introduction
62gerente
608
210k
Transcript
ϖύϘͷSREͱͯ͠ ಇ͖͔͚ͬ͘ ྮ ྑ / GMO PEPABO inc. 2021.04.26 Pepabo
Tech Tal k -ೖࣾ1Ҏͷϝϯόʔ͕ޠΔɺϖύϘͷSREνʔϜͷऔΓΈ- 1
2 ࠓ͓͢Δ͜ͱ ϖύϘʹೖࣾͯ͠͏͙͢Ͱ1ɻͱͱະܦݧ͔ Β͜ͷۀքʹඈͼࠐΜͰɺͲΜͳ͖͔͚ͬͰΠϯϑϥ पΓͷ͓ࣄʹڵຯΛ࣋ͬͯɺͳͥࠓϖύϘͰSREͱ ͯ͠ಇ͍͍ͯΔ͔ͱ͍ͬͨͱ͜Ζɺೖ͔ࣾͯ͠Βͷ ۤ࿑ͨ͠ܦݧͳͲΛɺࣗͷ͜Ε·ͰͷΩϟϦΞΛ৫ Γަ͓͍͖͍ͥͯͯͨ͠ͱࢥ͍·͢ɻ
3 ࣗݾհ ٕज़෦ϓϥοτϑΥʔϜάϧʔϓʢSREʣ 2021 த్ೖࣾ ྮɹྑ Ryo Nakamine • ࣾͰ
naryo ͱݺΕ͍ͯΔ • ओʹminneͷΠϯϑϥج൫Λ୲ • ԭೄग़🌴 • झຯ͓স͍ɾόϥΤςΟ൪ΛݟΔ͜ͱ Twitter : @r_nakamin e e
1. ͜Ε·Ͱͷҟ৭ͳܦྺ 4
5 1. ͜Ε·Ͱͷҟ৭ͳܦྺ 25ࡀ͙Β͍·Ͱ͍ΖΜͳ͜ͱͬͯͨ • ֶੜ࣌ΨιϦϯελϯυͰόΠτ • ଔۀޙWeb੍࡞ձࣾͰσβΠϯۀ • αʔλʔΞϯμΪʔ͞ΜͰશࠃΛճͬͨΓ
ָͦ͠͏ͳ͜ͱΛͻͨ͢Β͍ͬͯͨ࣌
1. ͜Ε·Ͱͷҟ৭ͳܦྺ ݁ࠗΛ͖͔ͬʹʹԭೄͰಇ͘͜ͱʹ ͜ͷλΠϛϯάͰࢠڙत͔Γɺࠓ·ͰΈ͍ͨʹ ͍ΖΜͳͱ͜ΖͰಇ͘͜ͱ͕Ͱ͖ͳ͘ͳͬͨɻ 6
7 1. ͜Ε·Ͱͷҟ৭ͳܦྺ SIerͱͯ͠ಇ͘ ωοτϫʔΫΤϯδχΞͱͯ͠ۈ • ߦػؔපӃɺຽؒاۀͳͲͷωοτϫʔΫΛߏஙɾӡ༻ɾอक • جװܥͷαʔόʔɾADαʔόʔͷϦϓϨΠε (
Windows Server ) • େֶிࣷʹPCΛ500~1000نͰΒ·͍ͨΓ͢Δ͜ͱ
1. ͜Ε·Ͱͷҟ৭ͳܦྺ ݩͰ։࠵͞Ε͍ͯͨϓϩάϥϛϯάεΫʔϧʹ௨͏ 8
9 1. ͜Ε·Ͱͷҟ৭ͳܦྺ ϓϩάϥϚͱͯ͠ͷΩϟϦΞΛελʔτ ҿ৯ళ͚ͷελʔτΞοϓͰϓϩάϥϚͱͯ͠ಇ͘ • Microsoft AzureͷαʔόʔϨεΛ༻͍ͨγεςϜͷ։ൃ • PHP(Laravel)
/ PythonͰWebΞϓϦΛվमͨ͠Γ • ੵۃతʹΠϯϑϥΛཧ͢Δਓ͕͍ͳ͔ͬͨ
2. Πϯϑϥͷ͓ࣄʹڵຯΛ࣋ͭ 10
11 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ΤϯδχΞͱͯ͠ͷΩϟϦΞΛελʔτ ҿ৯ళ͚ͷελʔτΞοϓͰΤϯδχΞͱͯ͠ಇ͘ • Microsoft AzureͷαʔόʔϨεΛ༻͍ͨ։ൃ • PHP(Laravel)
/ PythonͰWebΞϓϦΛվमͨ͠Γ • ੵۃతʹΠϯϑϥΛཧ͢Δਓ͕͍ͳ͔ͬͨ
12 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ΤϯδχΞͱͯ͠ͷΩϟϦΞΛελʔτ ҿ৯ళ͚ͷελʔτΞοϓͰΤϯδχΞͱͯ͠ಇ͘ • Microsoft AzureͷαʔόʔϨεΛ༻͍ͨ։ൃ • PHP(Laravel)
/ PythonͰWebΞϓϦΛվमͨ͠Γ • ੵۃతʹΠϯϑϥΛཧ͢Δਓ͕͍ͳ͔ͬͨ
2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ੵۃతʹΠϯϑϥΛཧ͢Δਓ͕͍ͳ͔ͬͨ • ΤϯδχΞશମͷਓ3~5ਓఔ • AzureΛ༻͍ͨϓϥοτϑΥʔϜͷઃఆɾཧCI/CDͷඋ • ͱΓ͋͑ͣɺଞࣾͷࣄྫΛݟͳ͕Β͋Ε͜ΕͬͯΈΔ →
͜ͷࠒ͔ΒΠϯϑϥपΓͷ͓ࣄʹڵຯΛ࣋ͭΑ͏ʹ 13
2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ΠϯϑϥΤϯδχΞͱͯ͠ͷΩϟϦΞ 14 https://speakerdeck.com/udzura/be-infra-engineer
2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ΠϯϑϥΤϯδχΞͱͯ͠ͷΩϟϦΞ 15 https://speakerdeck.com/udzura/be-infra-engineer?slide=23
16 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ •ϖύϘΛΔ͖͔͚ͬʹͳͬͨ •OpenStack༻͍ͯࣗࣾͰϓϥΠϕʔτΫϥυΛ։ൃɾӡ༻ •ιϑτΣΞΤϯδχΞϦϯάΛ༻͍ͨΠϯϑϥͷ։ൃӡ༻ʹڵຯ͕͋ͬͨ
17 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ https://pepabo.connpass.com/event https://tech.pepabo.com
18 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ͜͏͍͏ํʑͷ͍ΔڥͰ ಇ͍ͯΈ͍ͨ
19 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ͜͏͍͏ํʑͷ͍ΔڥͰ ಇ͍ͯΈ͍ͨ ࡢͷ7݄ʹೖࣾ 🎉🎉
3. ೖࣾޙͷΈ 20
21 3. ೖࣾޙͷΈ ͔Βͳ͍͜ͱ ଟ͗͢
ѻ͍ͬͯΔ͜ͱͷઐੑ͕ߴͯ͘ɺશવख͕ग़ͳ͔ͬͨɻ͋Δఔษڧͯ͠ΔͭΓ͕ͩͬͨɺ͜͜ʹ͖ͯ΄ͱΜͲ ԿΘ͔Βͳ͍ঢ়ଶʹɻ 3. ೖࣾޙͷΈ 22 Kubernetes ԿΘ͔Βͳ͍ ϞχλϦϯά ԿΘ͔Βͳ͍ Linux
/ Unix ԿΘ͔Βͳ͍ 22
23 3. ೖࣾޙͷΈ LinuxԿΘ͔Βͳ͍ • ΄ͱΜͲ৮ͬͨ͜ͱͳ͔ͬͨ ◦ cd / ls
/ mkdir / cat ͱ͔جຊతͳͭΛ͍͔ͭ͘... • ϩά͕Ͳ͜Ͱు͔ΕΔͷ͔Θ͔ͬͯͳ͍ • τϥϒϧγϡʔςΟϯάͰ͖ͳ͍ʢํ͕Θ͔ͬͯͳ͍ʣ ◦ োରԠͰશ͘ʹཱͯͳ͍
24 3. ೖࣾޙͷΈ ϞχλϦϯάԿΘ͔Βͳ͍ • ϞχλϦϯάπʔϧ (mackerelɺ grafana) ͷݟํ͕Θ͔Βͳ͍ ◦
ͦͦϝτϦΫεҰͭҰͭͷҙຯΛͪΌΜͱཧղͯ͠ͳ͍ ◦ stealͬͯͳʹʁΈ͍ͨͳϨϕϧ • ϝτϦΫεϩάΛݟͯͲ͏ΞϓϩʔνΛऔΕྑ͍͔Θ͔Βͳ͍ • ϘτϧωοΫʹͳ͍ͬͯΔՕॴΛಛఆ͢Δͷʹ͕͔͔࣌ؒΔ
25 3. ೖࣾޙͷΈ KubernetesԿΘ͔Βͳ͍ • ͦͦશ͘৮ͬͨ͜ͱͳ͍ • KuberenetesࣗମͷΤίγεςϜ͕ڊେ͗ͯ͢ɺͲ͔͜ΒखΛ͚ͨΒྑ͍͔Θ ͔Βͳ͍ •
पลπʔϧͨ͘͞Μ͋ͬͯɺΩϟονΞοϓ͕େม
26 3. ೖࣾޙͷΈ • nginxɺApacheɺMySQLɺPostfixɺPowerDNSɺRedisɺMemcached • php-fpmɺunicorn • AWSɺGCPɺOpenStack •
TerraformɺPuppetɺChefɺ • ConsulɺConsul TemplateɺConsul Alertsɺͦͷଞ.... ଞʹΩϟονΞοϓ͠ͳ͍ͱ͍͚ͳ͍͜ͱ͕ͨ͘͞Μ...
27 3. ೖࣾޙͷΈ ͔Βͳ͍͜ͱ ଟ͗͢
28 3. ೖࣾޙͷΈ पΓͱͷࠩΛ͍͢͝ײ͡Δ
29 3. ೖࣾޙͷΈ • ܦݧٕज़ྗͪΖΜ • Ұ൪ڻ͍ͨͷεϐʔυײ ◦ ͋ͬͱ͍͏ؒʹ՝ͳ͍͗ͯ͘͠ಉ྅ୡ ◦
ҰํͰ՝Λཧղ͢Δͱ͜Ζ͔Β࢝·Δࢲ... • શવ͍͚ͭͳ͍ पΓͱͷࠩΛ͍͢͝ײ͡Δ
30 3. ೖࣾޙͷΈ Ͳ͏ͬͯΓΔ͔
31 3. ೖࣾޙͷΈ ͻͨ͢Βಉ྅ͷਅࣅΛͨ͠ΓɺࣗͷϓϥΠϕʔτͳڥΛཱͯͯݕূ͠·͘Δ • ಉ྅͕ௐࠪʹ༻͍ͯͨ͠ίϚϯυͳͲΛҰͭҰͭਅࣅͯ͠ݕূ • ࣗͷϓϥΠϕʔτͳڥΛߏங (AWS, GCP,
DigtalOcean...) ◦ ۀͰ༻͍ͯ͠ΔιϑτΣΞΛͻͨ͢Βݕূͯ͠ߟͨ͠Γ ◦ k8sΫϥελΛߏஙͯ͠ɺڍಈΛ֬ೝͨ͠ΓʢΫϥυഁ࢈ҙ...ʣ • ಉ྅͕ॻ͍ͨίʔυΛΑ͘؍ͨ͠Γࣸܦͨ͠Γͯ͠σβΠϯύλʔϯͳͲΛ Δ
32 3. ೖࣾޙͷΈ Ͱ͖Δ͜ͱΛগͣͭ͠૿ͯ͠ɺՌग़͍ͯͬͨ͠ ࠷ॳখ͍͞ͱ͜Ζ͔Β • ߏཧπʔϧΛ༻͍ͯΞϥʔτͷᮢΛมߋ͢Δ • nginxͷssl_protocolsͷઃఆΛม͑Δ ◦
σϓϩΠ͕ΊͪΌͪ͘Όා͍... • ݹ͔͘Β՝ͱͳ͍ͬͯΔՕॴͷվળ׆ಈ͔Βੜͯ͠ɺ͍ΖΜͳͱ͜Ζʹऔ ΓΜͰ͍ͬͨ
33 3. ೖࣾޙͷΈ ӡ༻ͷվળʹ͚ͯࣗಈԽΛߦͬͨΓσϓϩΠϑϩʔͷվળͳͲʹऔΓΜͰ͍Δ • ͋ΔαʔϏεͰ୯Ұোͱͳ͍ͬͯͨॏཁͳϩʔϧΛഇࢭͨ͠ ◦ ωοτϫʔΫपΓͷઃܭ͔Β • ӡ༻վળʹ͏ج൫ͷඋ
• ΞϓϦέʔγϣϯΤϯδχΞͷੜ࢈ੑ্ʹ͚ͯ ◦ σϓϩΠϑϩʔͷվળ ◦ ΞϓϦέʔγϣϯͷbuildߴԽ
34 3. ೖࣾޙͷΈ Ͱ͖Δ͜ͱΛ গͣͭ͠૿͍ͯͬͨ͠
35 ࠓͨ͜͠ͱ • ҟ৭ͳܦྺ͔ΒΤϯδχΞʹͳͬͨ • ιϑτΣΞΛ༻͍ͯΠϯϑϥͷ՝ʹཱ͔ͪ ͏͜ͱʹ͘͢͝ڵຯΛ࣋ͬͨ • ೖࣾޙʹนΛײͨ͡ ◦
·ͣڥΛੜ͔ͯ͠पΓͷ༏लͳಉ྅Λ ਅࣅ͢Δͱ͜Ζ͔Β࢝Ίͨ ◦ Ͱ͖Δগͣͭ͠૿͍ͯͬͨ͠
36 Thank You! ͬͱͰ͖Δ͜ͱΛ૿ͯ͠ ѹతΛݟ͚ͤͭΔͧʂ