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.8k
ペパボの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
3k
Building a ServiceMap with Service Graph Connector
rnakamine
0
1.7k
10年動くアプリケーションに Embedded SRE を導入した話
rnakamine
3
540
異業種からエンジニアになった僕が憧れの会社に飛び込むまで
rnakamine
1
690
EBILABを支えるクラウド・サーバーレス活用事例とこれから
rnakamine
0
68
Laravel NOVAを使ってみた
rnakamine
0
41
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Code Review Best Practice
trishagee
68
18k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Embracing the Ebb and Flow
colly
86
4.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
Speed Design
sergeychernyshev
32
1k
Code Reviewing Like a Champion
maltzj
524
40k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
KATA
mclloyd
29
14k
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! ͬͱͰ͖Δ͜ͱΛ૿ͯ͠ ѹతΛݟ͚ͤͭΔͧʂ