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

アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法

 アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法

[【iCARE Dev Meetup #34】10年続くRailsアプリ開発のために大事なこと - connpass](https://icare.connpass.com/event/250699/) での発表資料です

Shinichi Maeshima

July 26, 2022
Tweet

More Decks by Shinichi Maeshima

Other Decks in Technology

Transcript

  1. !XJMMOFU
    ΞϓϦέʔγϣϯΛ௕ظʹΘͨͬͯແ
    ཧͳ͘ӡ༻͢ΔͨΊͷͨͬͨͻͱͭͷ
    ํ๏

    View Slide

  2. Shinichi Maeshima




    @netwillnet
    @willnet
    https://blog.willnet.in
    Willnet Inc.

    View Slide

  3. ٕज़ސ໰ۀΛ͍ͯ͠·͢

    View Slide

  4. ͓࢓ࣄ4/4తͳ΋ͷΛ։ൃ
    ͍ͯ͠·͢

    View Slide

  5. ༑ୡಉ࢜Ͱ೔ใ΍͓࢓ࣄঢ়گΛڞ༗
    ͯ͠ɺ͓࢓ࣄͷ࿩୊ͰϫΠϫΠ͢Δ

    View Slide

  6. TBWBOOBJP
    w ։ൃॳΊ͔ͯΒ೥͘Β͍
    w SBJMTOFX࣌3BJMT 3VCZ
    w ݱ࣌఺3BJMT 3VCZ
    w গਓ਺ɺখ޻਺Ͱܧଓͯ͠։ൃ͍ͯ͠·͢
    w େମਓ݄݄͘Β͍

    View Slide

  7. View Slide

  8. େମສߦ͘Β͍ͷ
    খ͞ͳΞϓϦέʔγϣϯͰ͢

    View Slide

  9. খωλSBJMTTUBUT͸BQQ഑ԼΛશ෦ग़ͯ͠
    ͘ΕΔΘ͚Ͱ͸ͳ͍ͷͰΰχϣΰχϣ͍ͯ͠·͢

    View Slide

  10. ΞϓϦέʔγϣϯΛ௕ظʹΘͨͬͯແཧ
    ͳ͘ӡ༻͢ΔͨΊͷͨͬͨͻͱͭͷํ๏
    ͱ͸

    View Slide

  11. ;ͭ͏ͷ͜ͱΛ
    ී௨ʹ΍ΔΜͰ͢Α

    View Slide

  12. ;ͭ͏ͷ͜ͱͱ͸
    w ֤छϥΠϒϥϦͷόʔδϣϯΞοϓ
    w ϦϑΝΫλϦϯά
    w ςετΛաෆ଍ͳ͘ॻ͘
    w
    fl
    BLZͳςετͷվम
    w ίϛοτϩάΛஸೡʹॻ͘
    w ։ൃ༻ͷπʔϧΛదٓϝϯςφϯε͢Δ
    w ʮ͋ͱͰ΍ΔʯΛͪΌΜͱ͋ͱͰ΍Δ

    View Slide

  13. ͤ΍ͳ

    View Slide

  14. ͱ͸ࢥ͏͕ͦΕ͕೉͍͠

    View Slide

  15. 2ͳΜͰ೉͍͠ͷ

    View Slide

  16. "Ϗδωε্ͷ੍໿

    View Slide

  17. ແݶʹϦϑΝΫλϦϯά͚͍ͩͯͨ͠
    Βձ͕ࣾͳ͘ͳͬͯ͠·͏ ͦΕ͸ͦ͏

    View Slide

  18. ͳͷͰཁ͸όϥϯεʜͳͷ͚ͩͲɺ࣮
    ࡍʹ͸ඞཁҎ্ʹ;ͭ͏ͷ༏ઌ౓͕௿
    ͘ͳΔέʔε͕ଟ͍͸ͣ

    View Slide

  19. ;ͭ͏Λҡ࣋͢Δͷ͸೉͍͠
    w ػೳΛ௥Ճ͠ͳ͍ͱձ͕ࣾଘଓ͠ͳ͍ͷͰɺ͍ͬͨΜ͜ͷ··ͰɻϦϑΝΫ
    λϦϯά͸ޙͰ΍͍ͬͯͩ͘͞
    w ͦͷʮޙͰʯ͸Ӭٱʹ๚Εͳ͍
    w গ͕࣌ؒ͠औΕͨͱͯ͠΋ϦϑΝΫλϦϯάͲ͏΍ͬͯ΍ͬͨΒ͍͍ͷʁ
    fl
    BLZͳςετͲ͏΍ͬͯͳ͓͢ͷʁͱͳΔ
    w ʮ;ͭ͏ʯΛ͢ΔͨΊʹ͸νʔϜͷٕज़ྗ΋ඞཁ
    w ڭҭ͕ඞཁ͕ͩػೳΛ௥Ճ͠ͳ͍ͱձ͕ࣾ SZ

    View Slide

  20. ฐࣾͷ৔߹͸ച্౓֎ࢹͰ΍Ε͍ͯΔ
    ͷͰ;ͭ͏͕΍Γ΍͍͚͢Ͳɺଟ͘ͷ
    ձࣾͰ͸೉͍͠

    View Slide

  21. ࣾ಺ίϛϡχέʔγϣϯΛ௨ͯ͡ɺ;
    ͭ͏Λී௨ʹͰ͖ΔΑ͏ʹ޻਺֬อ͢
    Δ

    View Slide

  22. ۩ମతʹͲ͏ίϛϡχέʔγϣϯͱΔͷʁͱͳΔ
    ͱձࣾʹΑΓ͚Γͩͱࢥ͏ͷͰɺࠓ೔ͷൃදऀ΍
    ࢀՃऀʹͲ͏औΓ૊ΜͰ͍Δ͔ฉ͖͍ͨʂʂʂʂ

    View Slide

  23. ׬

    View Slide

  24. Ͱ͸ͳ͍

    View Slide

  25. ΋͏ͪΐͬͱ۩ମత͔ͭ೉қ౓ͷ
    ௿͍औΓ૊Έʹ͍ͭͯ঺հ͠·͢

    View Slide

  26. ෛ࠴Λ࡞Γʹ͍͘ઃܭ

    View Slide

  27. ෛ࠴Λ࡞Γʹ͍͘ઃܭ
    w δϡχΞͳΤϯδχΞͰ΋ؒҧ͑ͮΒ͍࢓૊Έ
    w ΋͘͠͸ؒҧ͍ʹؾ͖ͮ΍͍͢࢓૊Έ
    w ن໿ʹ৐ͬऔΔͱࣗવͱಡΈॻ͖͠΍͘͢ͳΔ
    w ֶशίετ΋௿͍ ͱͳ͓ྑ͍

    View Slide

  28. ࠷ॳ͔ΒՄಡੑ͕ߴ͍ɺόάΛຒΊࠐ
    Έʹ͍͘ίʔυͰ͋Ε͹ϦϑΝΫλϦ
    ϯάͷස౓͸௿͘อͯΔ

    View Slide

  29. ;ͭ͏Λ͢Δͷ͕ͪΐͬͱָʹͳ
    Δ

    View Slide

  30. ۩ମྫ

    View Slide

  31. 7JFX$PNQPOFOU

    View Slide

  32. 7JFX$PNQPOFOUͱ͸ʁ
    w (JU)VCࣾ੡ͷHFN
    w ෦෼ςϯϓϨʔτʹରͯ͠ઐ༻ͷίϯτϩʔϥ ίϯϙʔωϯτ
    Λ෇༩Ͱ͖Δ
    ΋ͷ
    w ίϯτϩʔϥ͕୲͍ͬͯͨ੹຿ΛҰ෦ݞ୅ΘΓͰ͖Δ
    w ෦෼ςϯϓϨʔτΛඳը͢Δલఏ৚͕݅Θ͔Γ΍͘͢ͳΔ

    View Slide

  33. ෦෼ςϯϓϨʔτͷ೉͠͞
    w ෦෼ςϯϓϨʔτͰ͸Πϯελϯεม਺ͱϩʔΧϧม਺ʹΞΫηεͰ͖ͯ͠·
    ͬͨΓɺͨ͘͞Μͷϔϧύʔϝιου͕͋ͬͨΓͱɺ෦෼ςϯϓϨʔτΛඳը
    ͢Δલఏ৚͕݅Θ͔ΓͮΒ͍
    w 7JFX$PNQPOFOUͰ͸൥ࡶʹͳΓ͕ͪͳ෦෼ςϯϓϨʔτͷهड़ʹରͯ͠ɺ
    Ұఆͷن໿Λ՝͢͜ͱͰॻ͖΍͘͢ͳΔ

    View Slide

  34. TBWBOOBJPʹ͓͚Δ࢖༻ྫ

    View Slide

  35. View Slide

  36. ϩάΠϯޙͷ֤ϖʔδʹ
    ༑ୡީิΛදࣔ͢Δϑολʔ͕͋Δ

    View Slide

  37. ී௨ʹॻ͘ͱɺ֤ΞΫγϣϯʹ༑ୡީิ༻
    ͷΠϯελϯεม਺Λ༻ҙ͢Δ͜ͱʹͳΔ

    View Slide

  38. CFGPSF@BDUJPOΛ࢖͏ͱ%3:ʹͰ͖Δ͚Ͳɺ
    ͲͷέʔεͰൃՐ͢Δͷ͔Λ؅ཧ͢Δͷ͕େมͩ͠ɺ
    ෦෼ςϯϓϨʔτͷ؅ཧ΋൥ࡶʹͳΓ͕ͪ

    View Slide

  39. 7JFX$PNQPOFOUΛ࢖͏ͱ
    ίϯϙʔωϯτ͝ͱʹϏϡʔʹ౉͢ม਺Λ༻ҙͰ͖Δ

    View Slide

  40. ֤ΞΫγϣϯͷΠϯελϯεม਺
    ׂ౰Λແཧͳ͘࡟আͰ͖Δ

    View Slide

  41. ϔϧύʔϝιου΋͜͜ʹఆٛͰ͖Δ

    View Slide

  42. ϏϡʔϔϧύʔΛ࢖͍͍ͨͱ͖͸
    IFMQFSTܦ༝Ͱ

    View Slide

  43. ίϯϙʔωϯτʹɺςϯϓϨʔτΛඳ
    ը͢ΔͨΊͷ৚͕݅શͯἧ͍ͬͯΔʂ

    View Slide

  44. SFOEFSʹίϯϙʔωϯτͷ
    ΠϯελϯεΛ౉͚ͩ͢Ͱ🆗

    View Slide

  45. ରԠ͢ΔϏϡʔ͸෦෼ςϯϓϨʔτͱ
    ಉ͡Α͏ʹॻ͚Δ

    View Slide

  46. ͱ͜ΖͰ͜͜ͷ෼ذͷςετͬͯ
    ΈΜͳॻ͍ͯ·͔͢ʁ

    View Slide

  47. ͕͜͜ॏཁͳՕॴͳΒ&&ͰςετΛॻ͚͘
    Ͳɺίετ͕ߴ͍ͷͰͳ͔ͳ͔΍Εͳ͍ͷͰ͸

    View Slide

  48. 7JFX$PNQPOFOUͩͱ௿͍ίετͰ
    ίϯϙʔωϯτͷඳը಺༰ͷςετ͕Ͱ͖Δ

    View Slide

  49. 7JFX$PNQPOFOUͷओͩͬͨػ
    ೳʹ͍ͭͯҰ௨Γઆ໌͠·ͨ͠

    View Slide

  50. ଞʹ΋͔Ώ͍ͱ͜Ζʹख͕ಧ͘ػೳ͕͋Δ FY
    ϓϨϏϡʔ
    ͷͰɺڵຯ͕͋Δਓ͸IUUQT
    WJFXDPNQPOFOUPSHΛνΣοΫʂ

    View Slide

  51. HJUIVCDPNͰ͸Ҏ্ͷίϯϙʔωϯτ͕࢖
    ΘΕ͍ͯΔͱͷ͜ͱ IUUQT
    XXXZPVUVCFDPNXBUDI W2PFURT#$TC&

    View Slide

  52. ·ͱΊ
    w ௕ظؒΞϓϦέʔγϣϯΛແཧͳ͘ӡ༻͍ͯ͘͠ʹ͸;ͭ͏ͷ͜ͱΛී௨ʹ΍
    ͍͖ͬͯ·͠ΐ͏
    w ;ͭ͏Λҡ͍͚࣋ͯ͠ΔΑ͏ʹ౒ྗ͍͖ͯ͠·͠ΐ͏
    w ͦ΋ͦ΋ෛ࠴Λ࡞Γʹ͍͘ઃܭΛ࠾༻Ͱ͖Δͱɺ;ͭ͏ͷ͜ͱΛ΍Δͷ͕ͪΐ
    ͬͱָʹͳΓ·͢
    w ྫͱͯ͠7JFX$PNQPOFOUΛ঺հ͠·ͨ͠

    View Slide