Upgrade to Pro — share decks privately, control downloads, hide ads and more …

バックエンド基盤チームのお仕事 / The value of the backend base...

バックエンド基盤チームのお仕事 / The value of the backend base team

Takuya Matsumoto

November 29, 2019
Tweet

More Decks by Takuya Matsumoto

Other Decks in Programming

Transcript

  1. ό ο Ϋ Τ ϯ υ ج ൫ ν ʔϜ

    ͷ ͓ ࢓ ࣄ 2 0 1 9 / 1 1 / 2 9 We b α ʔ Ϗ ε ։ ൃ ͷ ͨ ͷ ͠ Έ ํ - ϕʔ γ ο Ϋ x S T O R E S . j p Ta k u y a M a t s u m o t o @ u p i n e t re e
  2. ఏ ڙ ͯ͠ ͖ ͨ Ձ ஋ ͱ ͱ ΋

    ʹ ੵ Έ ॏ ͳ ͬ ͨ ٕ ज़ త ෛ ࠴ 2012
  3. ڊ େ ͳ Ϟ ϊ Ϧε ɺ ֦ େ ͢

    Δ ν ʔϜ ɺ ݹ ͍ ϥ Π ϒ ϥ Ϧ ɺ བྷ · ͬ ͨ ෳ ࡶ ੑ ɺ ෆ ཁ ͳ ί ʔ υ … 2019 2012
  4. ʮ ό ο Ϋ Τ ϯ υ ج ൫ ʯ

    ν ʔϜ ͷ ొ ৔
  5. S T O R E S . j p ͷ

    Τ ϯ δχΞ ν ʔϜ 2 (+1) ໊ Τ ϯ δχ Ξ Ϧ ϯ ά D i v ج ൫ վ ળ G ϓ ϩ μΫ τ ਪ ਐ G ۀ ຿ վ ળ S R E ό ο Ϋ Τ ϯ υ ج ൫
  6. ό ο Ϋ Τ ϯ υ ج ൫ ν ʔϜ

    ͷ ௚ ۙ ͷ ϛ ο γ ϣ ϯ • ֤छϥΠϒϥϦͷόʔδϣϯΞοϓ • ΞϓϦέʔγϣϯͱσʔλج൫ͷ੔උ • શମͷ։ൃޮ཰ͷ޲্ • νʔϜԣஅͨ͠ϨϏϡʔɺٕज़తͳϝϯλϦϯά
  7. ͜ ͜ ൒ ೥ Ͱ ͷ औ Γ ૊ Έ

    • Ruby 2.3 㱺 2.5 • Rails 5.0 㱺 5.1 • Mongoid (※) 6.1 㱺 6.4 • Dependabot ͷಋೖͱ֤ gem ͷΞοϓσʔτ • ෆཁͳ gem ΍ίʔυͷ͓૟আ • CI ߴ଎Խ • ίʔυঢ়گͷՄࢹԽ ※STORES.jp ͷΞʔΩςΫνϟͷಛ௃తͳ఺͸ɺMongoDB ΛΨοπϦ࢖͍ͬͯΔͱ͜Ζ
  8. ͜ ͜ ൒ ೥ Ͱ ͷ औ Γ ૊ Έ

    • Ruby 2.3 㱺 2.5 • Rails 5.0 㱺 5.1 • Mongoid (※) 6.1 㱺 6.4 • Dependabot ͷಋೖͱ֤ gem ͷΞοϓσʔτ • ෆཁͳ gem ΍ίʔυͷ͓૟আ • CI ߴ଎Խ • ίʔυঢ়گͷՄࢹԽ ※STORES.jp ͷΞʔΩςΫνϟͷಛ௃తͳ఺͸ɺMongoDB ΛΨοπϦ࢖͍ͬͯΔͱ͜Ζ Ξοϓσʔτ ޮ཰Խ ࢓ࠐΈ
  9. · ͩ · ͩ ϨΨ γ ʔ ͳ ෦ ෼

    ͸ ଟ ͘ ͋ Δ ΋ ͷ ͷ ண ࣮ ʹ ྑ ͍ ঢ় ଶ ʹ ͯ͠ ͍ ͬͯ ͍ Δ
  10. · ͩ · ͩ ϨΨ γ ʔ ͳ ෦ ෼

    ͸ ଟ ͘ ͋ Δ ΋ ͷ ͷ ண ࣮ ʹ ྑ ͍ ঢ় ଶ ʹ ͯ͠ ͍ ͬͯ ͍ Δ
  11. ό ο Ϋ Τ ϯ υ ج ൫ ν ʔϜ

    ͱ ͯ͠ Ͳͷ Α ͏ ʹ ʮ ྑ ͍ ঢ় ଶ ʯ ʹ ޲ ͔ ͏ ΂ ͖ ʁ
  12. ό ο Ϋ Τ ϯ υ ج ൫ ν ʔϜ

    ͷ Ձ ஋ Λ ߟ ͑ͯ Έ Δ
  13. ι ϑ τ ΢ Σ Ξ ͷ Ձ ஋ •

    Ϣʔβ͔Β௚઀ݟ͑ΔՁ஋ • ྫʣຬ଍͢Δػೳ͕͋Δ͔ɺ
 ɹɹ͔͍ͭ΍͍͔͢ ֎ ෦ త ͳ Ձ ஋ ಺ ෦ త ͳ Ձ ஋ • Ϣʔβ͔Β௚઀ݟ͑ͳ͍Ձ஋ • ྫʣ҆ఆతʹػೳΛఏڙ͠ଓ͚ ΒΕΔ͔
  14. ι ϑ τ ΢ Σ Ξ ͷ Ձ ஋ ֎

    ෦ త ͳ Ձ ஋ ಺ ෦ త ͳ Ձ ஋ • Ϣʔβ͔Β௚઀ݟ͑ΔՁ஋ • ྫʣຬ଍͢Δػೳ͕͋Δ͔ɺ
 ɹɹ͔͍ͭ΍͍͔͢ • Ϣʔβ͔Β௚઀ݟ͑ͳ͍Ձ஋ • ྫʣ҆ఆతʹػೳΛఏڙ͠ଓ͚ ΒΕΔ͔
  15. ಺ ෦ త ͳ Ձ ஋ Λ ࢧ ͑Δ S

    R E • SRE (Site Reliability Engineer) • ओʹγεςϜͷ৴པੑ޲্ʹऔΓ૊Ή • ۙ೥ͦͷඞཁੑͷཧղ͕༷ʑͳ૊৫ʹ޿͕͖ͬͯͨ
  16. ಺ ෦ త ͳ Ձ ஋ Λ ࢧ ͑Δ ό

    ο Ϋ Τ ϯ υ ج ൫ • ٕज़తෛ࠴Λฦࡁ͠ɺ։ൃ͠΍͘͢͢Δʁ • ٕज़తෛ࠴ͬͯͳΜͩʁ • ۷ΓԼ͛ͯߟ͑ͯΈΔ
  17. I S O / I E C 2 5 0

    1 0 ͷ ੡ ඼ ඼ ࣭ Ϟ σϧ : 8 ͭ ͷ ಛ ੑ ˞*1"ʮͭͳ͕Δੈքͷιϑτ΢ΣΞ඼࣭ΨΠυʯΑΓҾ༻
  18. I S O / I E C 2 5 0

    1 0 ͷ ੡ ඼ ඼ ࣭ Ϟ σϧ : อ क ੑ • ػೳ௥Ճ΍มߋΛɺޮ཰తʹɺطଘΛյͣ͞ ʹͰ͖Δ͔ • յΕͨͱ͖ʹɺͲ͕͜ݪҼͰɺͲ͜·ͰӨڹ ͢Δ͔Λ൑அ͠΍͍͔͢
  19. ಺ ෦ త ͳ Ձ ஋ Λ ࢧ ͑Δ ό

    ο Ϋ Τ ϯ υ ج ൫ • γεςϜͷอकੑ޲্ʹऔΓ૊Ή
  20. อ क ੑ ͱ ͍ ͏ ͱ ʮ क Γ

    ʯ ͷ ҹ ৅ ͕ ͋ Δ
  21. क Γ ͩ ͚ Ͱ ͸ ͳ ͍ ʂ •

    อकੑ͕͋Δ͔Βͦ͜ɺ͢͹΍͘ϦϦʔεͰ͖Δ • ͢͹΍͘ϦϦʔεͰ͖ΔͱɺԾઆݕূΛճ͠΍͘͢ͳΔ • => ϓϩμΫτ͕૸Γଓ͚ɺਐԽ͢ΔͨΊʹٻΊΒΕΔཁૉ ؔ࿈ɿ https://speakerdeck.com/twada/quality-and-speed
  22. อ क ੑ ͸ ߈ Ί ͷ ͨ Ί ͷ

    ඼ ࣭ Ͱ ΋ ͋ Δ
  23. ಺ ෦ త ͳ Ձ ஋ Λ ࢧ ͑Δ ό

    ο Ϋ Τ ϯ υ ج ൫ • γεςϜͷอकੑ޲্ʹऔΓ૊Ή • कΓ͚ͩͰ͸ͳ͍ɺ߈ΊͷͨΊͷऔΓ૊Έ
  24. ઐ ೚ Ͱ ͸ ͳ ͘ ɺ ػ ೳ ։

    ൃ ν ʔϜ Ͱ ΍ Ε ͹ े ෼ Ͱ ͸ ʁ
  25. ػ ೳ ։ ൃ ν ʔϜ ͕ อ क ੑ

    Λ ୲ อ ͢ Δ ʹ ͸ • ܭըతʹඞཁͳอकੑΛఆٛ͠ɺධՁ͠ɺվળ͍ͯ͘͠ • ৽͘͠ॻ͘ίʔυ͸ઓུతʹରॲՄೳ • ͢Ͱʹอकੑʹରͯ͠ଟ͘ͷ՝୊Λ๊͍͑ͯͨ৔߹͸ʁ
  26. ͢ Ͱ ʹ อ क ੑ ͷ ՝ ୊ Λ

    ๊ ͑ͯ ͍ Δ γε ςϜ • STORES.jp ΋ͦ͏͍ͬͨγεςϜͷ̍ͭ • େ͖ͳมߋΛ൐͏՝୊΋͋ΔʢRails ͷόʔδϣϯΞοϓͳͲʣ • ػೳ։ൃͱͷฒߦͩͱΏͬ͘ΓਐΊ͟ΔΛಘͳ͍ • ߴ͍ίϯϑϦΫτϦεΫ΍ௐ੔ίετ • ༏ઌ౓ͷߴׂ͍ΓࠐΈλεΫʹΑΔதஅͷՄೳੑ
  27. ͦ ͜ Ͱɺ ό ο Ϋ Τ ϯ υ ج

    ൫ ν ʔϜ • ݪଇతʹ͸ׂΓࠐΈλεΫͷӨڹΛड͚ͳ͍ɺઐ໳νʔϜͱͯ͠׆ಈ͢Δ • ෼ް͍՝୊ͷนΛɺ੎͍Λ͚ͭͯഁ͍ͬͯ͘
  28. ࢲ ͕ ߟ ͑Δ ό ο Ϋ Τ ϯ υ

    ج ൫ ν ʔϜ ͷ Ձ ஋ • γεςϜͷอकੑ޲্ʹऔΓ૊Ή • कΓ͚ͩͰ͸ͳ͍ɺ߈ΊͷͨΊͷऔΓ૊Έ • ෼ް͍՝୊ͷนΛɺ੎͍Λ͚ͭͯഁ͍ͬͯ͘
  29. ࣗ ෼ ͨ ͪ ͩ ͚ Ͱ ͳ Μ ͱ

    ͔ ͠ Α ͏ ͱ ͠ ͳ ͍
  30. ν ʔϜ ͕ อ क ੑ Λ ֬ อ ͠

    ΍ ͢ ͍ Α ͏ ͳ ߏ ଄ Λ ࡞ ͬͯ ͍ ͖ ͨ ͍
  31. อ क ੑ Λ ֬ อ ͠ ΍ ͢ ͍

    Α ͏ ͳ ߏ ଄ Λ ߟ ͑Δ • => ΞϓϦέʔγϣϯ΍૊৫͕ɺ࣋ଓతʹਐԽͰ͖ΔΑ͏ʹ༠ಋ͢Δߏ଄ Λ͍͔ʹ༩͑Δ͔ • ͲΜͳ஌͕ࣝͲͷΑ͏ʹڞ༗͞ΕͨΒɺશһͰऔΓ૊Έ΍͍͔͢ • ͲΜͳࢦඪ͕ՄࢹԽ͞Ε͍ͯͨΒɺอकੑΛҙࣝ͠΍͍͔͢ • ΞϓϦέʔγϣϯΛͲͷΑ͏ʹ۠੾ͬͨΒอक͠΍͍͔͢ɻͦͷͱ͖ͷ૊ ৫ߏ଄͸Ͳ͏͋Δ΂͖͔
  32. ਺ ೥ ઌ ͷ ཧ ૝ Λ ඳ ͍ͯ ஍

    ಓ ʹ΍ ͬͯ ͍ ͘ • ཧ૝ঢ়ଶʹ͸Ͳ͏ਐΜͰ͍͘ͷ͕Α͍ͩΖ͏͔ʁ • ͦͷաఔͰͲΜͳ͜ͱ͕ো֐ʹͳΓಘΔͩΖ͏͔ʁ • ো֐ΛͳΔ΂͘ճආ͢ΔͨΊʹɺࠓԿΛ΍Δ΂͖ͩΖ͏͔ʁ
  33. ͜ Ε Β ͷ ౴ ͑Λ ୳ ͠ ͳ ͕

    Β ɺ ੒ Ռ ͱ ͠ ͯ ൃ ද Ͱ ͖ Δ Α ͏ ͕Μ ͹ Γ · ͢
  34. I S O / I E C 2 5 0

    1 0 • ιϑτ΢ΣΞͷ඼࣭Λද͢ಛੑΛఆΊͨࠃࡍن֨ • ඼࣭ͷఆٛɺධՁʹࢀߟʹͳΔɻ඼࣭ཁٻͱ͍͏ͷ͸େମಉ͡Α͏ͳ؍఺͕ٻΊΒΕΔ͜ͱ͕ଟ͍ͷ Ͱɺن֨͸଍͕͔Γͱͯ͠ॿ͚ʹͳΔ • JIS X 25010 ͱͯ͠JISԽ • https://www.jisc.go.jp/app/jis/general/GnrJISSearch.html • X25010 Ͱݕࡧͯ͠ӾཡՄೳɻͨͩ͠ɺμ΢ϯϩʔυ͸ෆՄ… • IPAͷࢿྉ΋ࢀߟʹͳΔ • https://www.ipa.go.jp/sec/publish/20150529.html
  35. ι ϑ τ ΢ Σ Ξ ͷ Ձ ஋ ֎

    ෦ త ͳ Ձ ஋ ಺ ෦ త ͳ Ձ ஋ • Ϣʔβ͔Β௚઀ݟ͑ΔՁ஋ • ྫʣຬ଍͢Δػೳ͕͋Δ͔ɺ
 ɹɹ͔͍ͭ΍͍͔͢ • Ϣʔβ͔Β௚઀ݟ͑ͳ͍Ձ஋ • ྫʣ҆ఆతʹػೳΛఏڙ͠ଓ͚ ΒΕΔ͔ Өڹ ཁٻ
  36. ೉ ͠ ͞ 1 : ΍ Γ ͨ ͍ ͜

    ͱ ͕ ͨ ͘ ͞ Μ ͋ Δ • Ϧιʔεʹ͸౰વݶΓ͕͋Δ • ༏ઌ౓෇͚͕೉͍͠ • ͲΕ͕কདྷޮ͍ͯ͘Δ͔ෆ࣮֬ɻ༏ઌ౓શ෦ߴ͘ݟ͑Δ
  37. ೉ ͠ ͞ 2 : ཱ ͪ ޲ ͔ ͏

    ૬ ख ͕ Ͱ ͔ ͍ • ௕೥΋ͷੵΈॏͶ͕͋Δେ͖ͳίʔυϕʔε • 1ͭ͋ͨΓͷ՝୊΋େ͖͍ • গਓ਺Ͱ૬खΛ͍ͯͯ͠͸ɺԿ೥΋͔͔Δ • ରॲ͍ͯ͠Δؒʹ΋ίʔυ͸ࠁʑͱมԽ͢Δ
  38. อ क ੑ ʹ ؔ ͢ Δ ՝ ୊ ͷ

    ੑ ࣭ • ॏཁ౓͕ߴͯ͘ۓٸ౓͕௿͍ • ධՁ͕ਓͦΕͧΕͰɺӨڹΛೝࣝͮ͠Β͍ • ػೳ։ൃͷओཁͳؔ৺ͷ֎ͳͷͰɺޙճ͠ʹͳΓ͕ͪ • ͍ͭͷ·ʹ͔։ൃεϐʔυ͸ݮ଎͠ɺόάΛੜΈ΍͘͢ͳͬͯΔʢා͍ʣ