$30 off During Our Annual Pro Sale. View Details »

ペパボのSREとして 働くきっかけ

Ryo Nakamine
April 26, 2022
830

ペパボのSREとして 働くきっかけ

2021.04.26 Pepabo Tech Talk -入社1年以内のメンバーが語る、ペパボのSREチームの取り組み-

Ryo Nakamine

April 26, 2022
Tweet

Transcript

  1. ϖύϘͷSREͱͯ͠ ಇ͖͔͚ͬ͘ ஥ྮ ྑ / GMO PEPABO inc. 2021.04.26 Pepabo

    Tech Tal k -ೖࣾ1೥Ҏ಺ͷϝϯόʔ͕ޠΔɺϖύϘͷSREνʔϜͷऔΓ૊Έ- 1
  2. 2 ࠓ೔͓࿩͢Δ͜ͱ ϖύϘʹೖࣾͯ͠΋͏͙͢Ͱ1೥ɻ΋ͱ΋ͱະܦݧ͔ Β͜ͷۀքʹඈͼࠐΜͰɺͲΜͳ͖͔͚ͬͰΠϯϑϥ पΓͷ͓࢓ࣄʹڵຯΛ࣋ͬͯɺͳͥࠓϖύϘͰSREͱ ͯ͠ಇ͍͍ͯΔ͔ͱ͍ͬͨͱ͜Ζ΍ɺೖ͔ࣾͯ͠Βͷ ۤ࿑ͨ͠ܦݧͳͲΛɺࣗ਎ͷ͜Ε·ͰͷΩϟϦΞΛ৫ Γަ͓ͥͯ࿩͍͖͍ͯͨ͠ͱࢥ͍·͢ɻ

  3. 3 ࣗݾ঺հ ٕज़෦ϓϥοτϑΥʔϜάϧʔϓʢSREʣ 2021೥ த్ೖࣾ ஥ྮɹྑ Ryo Nakamine • ࣾ಺Ͱ͸

    naryo ͱݺ͹Ε͍ͯΔ • ओʹminneͷΠϯϑϥج൫Λ୲౰ • ԭೄग़਎🌴 • झຯ͸͓স͍ɾόϥΤςΟ൪૊ΛݟΔ͜ͱ Twitter : @r_nakamin e e
  4. 1. ͜Ε·Ͱͷҟ৭ͳܦྺ 4

  5. 5 1. ͜Ε·Ͱͷҟ৭ͳܦྺ 25ࡀ͙Β͍·Ͱ͍ΖΜͳ͜ͱ΍ͬͯͨ • ֶੜ࣌୅͸ΨιϦϯελϯυͰόΠτ • ଔۀޙ͸Web੍࡞ձࣾͰσβΠϯۀ • αʔλʔΞϯμΪʔ԰͞ΜͰશࠃΛճͬͨΓ

    ָͦ͠͏ͳ͜ͱΛͻͨ͢Β΍͍ͬͯͨ࣌୅
  6. 1. ͜Ε·Ͱͷҟ৭ͳܦྺ ݁ࠗΛ͖͔ͬʹʹԭೄͰಇ͘͜ͱʹ ͜ͷλΠϛϯάͰࢠڙ΋त͔Γɺࠓ·ͰΈ͍ͨʹ ͍ΖΜͳͱ͜ΖͰಇ͘͜ͱ͕Ͱ͖ͳ͘ͳͬͨɻ 6

  7. 7 1. ͜Ε·Ͱͷҟ৭ͳܦྺ SIerͱͯ͠ಇ͘ ωοτϫʔΫΤϯδχΞͱͯ͠ۈ຿ • ߦ੓ػؔ΍පӃɺຽؒاۀͳͲͷωοτϫʔΫΛߏஙɾӡ༻ɾอक • جװܥͷαʔόʔɾADαʔόʔͷϦϓϨΠε (

    Windows Server ) • େֶ΍ிࣷʹPCΛ500୆~1000୆ن໛Ͱ͹Β·͍ͨΓ͢Δ͜ͱ΋
  8. 1. ͜Ε·Ͱͷҟ৭ͳܦྺ ஍ݩͰ։࠵͞Ε͍ͯͨϓϩάϥϛϯάεΫʔϧʹ௨͏ 8

  9. 9 1. ͜Ε·Ͱͷҟ৭ͳܦྺ ϓϩάϥϚͱͯ͠ͷΩϟϦΞΛελʔτ ҿ৯ళ޲͚ͷελʔτΞοϓͰϓϩάϥϚͱͯ͠ಇ͘ • Microsoft AzureͷαʔόʔϨεΛ༻͍ͨγεςϜͷ։ൃ • PHP(Laravel)

    / PythonͰWebΞϓϦΛվमͨ͠Γ • ੵۃతʹΠϯϑϥΛ؅ཧ͢Δਓ͕͍ͳ͔ͬͨ
  10. 2. Πϯϑϥͷ͓࢓ࣄʹڵຯΛ࣋ͭ 10

  11. 11 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ΤϯδχΞͱͯ͠ͷΩϟϦΞΛελʔτ ҿ৯ళ޲͚ͷελʔτΞοϓͰΤϯδχΞͱͯ͠ಇ͘ • Microsoft AzureͷαʔόʔϨεΛ༻͍ͨ։ൃ • PHP(Laravel)

    / PythonͰWebΞϓϦΛվमͨ͠Γ • ੵۃతʹΠϯϑϥΛ؅ཧ͢Δਓ͕͍ͳ͔ͬͨ
  12. 12 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ΤϯδχΞͱͯ͠ͷΩϟϦΞΛελʔτ ҿ৯ళ޲͚ͷελʔτΞοϓͰΤϯδχΞͱͯ͠ಇ͘ • Microsoft AzureͷαʔόʔϨεΛ༻͍ͨ։ൃ • PHP(Laravel)

    / PythonͰWebΞϓϦΛվमͨ͠Γ • ੵۃతʹΠϯϑϥΛ؅ཧ͢Δਓ͕͍ͳ͔ͬͨ
  13. 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ੵۃతʹΠϯϑϥΛ؅ཧ͢Δਓ͕͍ͳ͔ͬͨ • ΤϯδχΞશମͷਓ਺͸3~5ਓఔ౓ • AzureΛ༻͍ͨϓϥοτϑΥʔϜͷઃఆɾ؅ཧ΍CI/CDͷ੔උ • ͱΓ͋͑ͣɺଞࣾͷࣄྫΛݟͳ͕Β͋Ε͜Ε΍ͬͯΈΔ →

    ͜ͷࠒ͔ΒΠϯϑϥपΓͷ͓࢓ࣄʹڵຯΛ࣋ͭΑ͏ʹ 13
  14. 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ΠϯϑϥΤϯδχΞͱͯ͠ͷΩϟϦΞ 14 https://speakerdeck.com/udzura/be-infra-engineer

  15. 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ΠϯϑϥΤϯδχΞͱͯ͠ͷΩϟϦΞ 15 https://speakerdeck.com/udzura/be-infra-engineer?slide=23

  16. 16 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ •ϖύϘΛ஌Δ͖͔͚ͬʹͳͬͨ •OpenStack༻͍ͯࣗࣾͰϓϥΠϕʔτΫϥ΢υΛ։ൃɾӡ༻ •ιϑτ΢ΣΞΤϯδχΞϦϯάΛ༻͍ͨΠϯϑϥͷ։ൃ΍ӡ༻ʹڵຯ͕͋ͬͨ

  17. 17 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ https://pepabo.connpass.com/event https://tech.pepabo.com

  18. 18 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ͜͏͍͏ํʑͷ͍Δ؀ڥͰ ಇ͍ͯΈ͍ͨ

  19. 19 2. ϖύϘͷΠϯϑϥʹڵຯΛ࣋ͭ ͜͏͍͏ํʑͷ͍Δ؀ڥͰ ಇ͍ͯΈ͍ͨ ࡢ೥ͷ7݄ʹೖࣾ 🎉🎉

  20. 3. ೖࣾ௚ޙͷ೰Έ 20

  21. 21 3. ೖࣾ௚ޙͷ೰Έ ෼͔Βͳ͍͜ͱ ଟ͗͢໰୊

  22. ѻ͍ͬͯΔ͜ͱͷઐ໳ੑ͕ߴͯ͘ɺશવख͕ग़ͳ͔ͬͨɻ͋Δఔ౓͸ษڧͯ͠Δͭ΋Γ͕ͩͬͨɺ͜͜ʹ͖ͯ΄ͱΜͲ Կ΋Θ͔Βͳ͍ঢ়ଶʹɻ 3. ೖࣾ௚ޙͷ೰Έ 22 Kubernetes Կ΋Θ͔Βͳ͍ ϞχλϦϯά Կ΋Θ͔Βͳ͍ Linux

    / Unix Կ΋Θ͔Βͳ͍ 22
  23. 23 3. ೖࣾ௚ޙͷ೰Έ LinuxԿ΋Θ͔Βͳ͍ • ΄ͱΜͲ৮ͬͨ͜ͱͳ͔ͬͨ ◦ cd / ls

    / mkdir / cat ͱ͔جຊతͳ΍ͭΛ͍͔ͭ͘... • ϩά͕Ͳ͜Ͱు͔ΕΔͷ͔Θ͔ͬͯͳ͍ • τϥϒϧγϡʔςΟϯάͰ͖ͳ͍ʢ࢓ํ͕Θ͔ͬͯͳ͍ʣ ◦ ো֐ରԠ౳Ͱશ͘໾ʹཱͯͳ͍
  24. 24 3. ೖࣾ௚ޙͷ೰Έ ϞχλϦϯάԿ΋Θ͔Βͳ͍ • ϞχλϦϯάπʔϧ (mackerelɺ grafana౳) ͷݟํ͕Θ͔Βͳ͍ ◦

    ͦ΋ͦ΋ϝτϦΫεҰͭҰͭͷҙຯΛͪΌΜͱཧղͯ͠ͳ͍ ◦ stealͬͯͳʹʁΈ͍ͨͳϨϕϧ • ϝτϦΫε΍ϩάΛݟͯͲ͏ΞϓϩʔνΛऔΕ͹ྑ͍͔Θ͔Βͳ͍ • ϘτϧωοΫʹͳ͍ͬͯΔՕॴΛಛఆ͢Δͷʹ͕͔͔࣌ؒΔ
  25. 25 3. ೖࣾ௚ޙͷ೰Έ KubernetesԿ΋Θ͔Βͳ͍ • ͦ΋ͦ΋શ͘৮ͬͨ͜ͱͳ͍ • KuberenetesࣗମͷΤίγεςϜ͕ڊେ͗ͯ͢ɺͲ͔͜ΒखΛ෇͚ͨΒྑ͍͔Θ ͔Βͳ͍ •

    पลπʔϧ΋ͨ͘͞Μ͋ͬͯɺΩϟονΞοϓ͕େม
  26. 26 3. ೖࣾ௚ޙͷ೰Έ • nginxɺApacheɺMySQLɺPostfixɺPowerDNSɺRedisɺMemcached • php-fpmɺunicorn • AWSɺGCPɺOpenStack •

    TerraformɺPuppetɺChefɺ • ConsulɺConsul TemplateɺConsul Alertsɺͦͷଞ.... ଞʹ΋ΩϟονΞοϓ͠ͳ͍ͱ͍͚ͳ͍͜ͱ͕ͨ͘͞Μ...
  27. 27 3. ೖࣾ௚ޙͷ೰Έ ෼͔Βͳ͍͜ͱ ଟ͗͢໰୊

  28. 28 3. ೖࣾ௚ޙͷ೰Έ पΓͱͷࠩΛ͍͢͝ײ͡Δ

  29. 29 3. ೖࣾ௚ޙͷ೰Έ • ܦݧ΍ٕज़ྗ͸΋ͪΖΜ • Ұ൪ڻ͍ͨͷ͸εϐʔυײ ◦ ͋ͬͱ͍͏ؒʹ՝୊ͳ͗౗͍ͯ͘͠ಉ྅ୡ ◦

    ҰํͰ՝୊Λཧղ͢Δͱ͜Ζ͔Β࢝·Δࢲ... • શવ௥͍͚ͭͳ͍ पΓͱͷࠩΛ͍͢͝ײ͡Δ
  30. 30 3. ೖࣾ௚ޙͷ೰Έ Ͳ͏΍ͬͯ৐Γ੾Δ͔

  31. 31 3. ೖࣾ௚ޙͷ೰Έ ͻͨ͢Βಉ྅ͷਅࣅΛͨ͠Γɺࣗ෼ͷϓϥΠϕʔτͳ؀ڥΛཱͯͯݕূ͠·͘Δ • ಉ྅͕ௐࠪʹ࢖༻͍ͯͨ͠ίϚϯυͳͲΛҰͭҰͭਅࣅͯ͠ݕূ • ࣗ਎ͷϓϥΠϕʔτͳ؀ڥΛߏங (AWS, GCP,

    DigtalOcean౳...) ◦ ۀ຿Ͱ࢖༻͍ͯ͠Διϑτ΢ΣΞΛͻͨ͢Βݕূͯ͠ߟ࡯ͨ͠Γ ◦ k8sΫϥελΛߏஙͯ͠ɺڍಈΛ֬ೝͨ͠ΓʢΫϥ΢υഁ࢈஫ҙ...ʣ • ಉ྅͕ॻ͍ͨίʔυΛΑ͘؍࡯ͨ͠Γࣸܦͨ͠Γͯ͠σβΠϯύλʔϯͳͲΛ ஌Δ
  32. 32 3. ೖࣾ௚ޙͷ೰Έ Ͱ͖Δ͜ͱΛগͣͭ͠૿΍ͯ͠ɺ੒Ռग़͍ͯͬͨ͠ ࠷ॳ͸খ͍͞ͱ͜Ζ͔Β • ߏ੒؅ཧπʔϧΛ༻͍ͯΞϥʔτͷᮢ஋Λมߋ͢Δ • nginxͷssl_protocolsͷઃఆΛม͑Δ ◦

    σϓϩΠ͕ΊͪΌͪ͘Όා͍... • ݹ͔͘Β՝୊ͱͳ͍ͬͯΔՕॴͷվળ׆ಈ͔Β೿ੜͯ͠ɺ͍ΖΜͳͱ͜Ζʹऔ Γ૊ΜͰ͍ͬͨ
  33. 33 3. ೖࣾ௚ޙͷ೰Έ ӡ༻ͷվળʹ޲͚ͯࣗಈԽΛߦͬͨΓσϓϩΠϑϩʔͷվળͳͲʹऔΓ૊ΜͰ͍Δ • ͋ΔαʔϏεͰ୯Ұো֐఺ͱͳ͍ͬͯͨॏཁͳϩʔϧΛഇࢭͨ͠ ◦ ωοτϫʔΫपΓͷઃܭ͔Β • ӡ༻վળʹ൐͏ج൫ͷ੔උ

    • ΞϓϦέʔγϣϯΤϯδχΞͷੜ࢈ੑ޲্ʹ޲͚ͯ ◦ σϓϩΠϑϩʔͷվળ ◦ ΞϓϦέʔγϣϯͷbuildߴ଎Խ
  34. 34 3. ೖࣾ௚ޙͷ೰Έ Ͱ͖Δ͜ͱΛ গͣͭ͠૿΍͍ͯͬͨ͠

  35. 35 ࠓ೔࿩ͨ͜͠ͱ • ҟ৭ͳܦྺ͔ΒΤϯδχΞʹͳͬͨ • ιϑτ΢ΣΞΛ༻͍ͯΠϯϑϥͷ՝୊ʹཱͪ޲͔ ͏͜ͱʹ͘͢͝ڵຯΛ࣋ͬͨ • ೖࣾ௚ޙʹนΛײͨ͡ ◦

    ·ͣ͸؀ڥΛੜ͔ͯ͠पΓͷ༏लͳಉ྅Λ ਅࣅ͢Δͱ͜Ζ͔Β࢝Ίͨ ◦ Ͱ͖Δগͣͭ͠૿΍͍ͯͬͨ͠
  36. 36 Thank You! ΋ͬͱͰ͖Δ͜ͱΛ૿΍ͯ͠ ѹ౗త੒௕Λݟ͚ͤͭΔͧʂ