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.6k
ペパボの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
2k
Building a ServiceMap with Service Graph Connector
rnakamine
0
1.3k
10年動くアプリケーションに Embedded SRE を導入した話
rnakamine
3
390
異業種からエンジニアになった僕が憧れの会社に飛び込むまで
rnakamine
1
650
EBILABを支えるクラウド・サーバーレス活用事例とこれから
rnakamine
0
62
Laravel NOVAを使ってみた
rnakamine
0
24
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
Raft: Consensus for Rubyists
vanstee
136
6.6k
How STYLIGHT went responsive
nonsquared
95
5.1k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Adopting Sorbet at Scale
ufuk
73
9k
How GitHub (no longer) Works
holman
311
140k
Being A Developer After 40
akosma
85
590k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Visualization
eitanlees
143
15k
What's new in Ruby 2.0
geeforr
342
31k
Making Projects Easy
brettharned
115
5.9k
The Language of Interfaces
destraynor
154
24k
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! ͬͱͰ͖Δ͜ͱΛ૿ͯ͠ ѹతΛݟ͚ͤͭΔͧʂ