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 ΞϓϦέʔγϣϯΛ௕ظʹΘͨͬͯແ ཧͳ͘ӡ༻͢ΔͨΊͷͨͬͨͻͱͭͷ ํ๏

  2. Shinichi Maeshima @netwillnet @willnet https://blog.willnet.in Willnet Inc.

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

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

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

  6. TBWBOOBJP w ։ൃॳΊ͔ͯΒ೥͘Β͍ w SBJMTOFX࣌3BJMT 3VCZ w ݱ࣌఺3BJMT 3VCZ w

    গਓ਺ɺখ޻਺Ͱܧଓͯ͠։ൃ͍ͯ͠·͢ w େମਓ݄݄͘Β͍
  7. None
  8. େମສߦ͘Β͍ͷ খ͞ͳΞϓϦέʔγϣϯͰ͢

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

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

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

  12. ;ͭ͏ͷ͜ͱͱ͸ w ֤छϥΠϒϥϦͷόʔδϣϯΞοϓ w ϦϑΝΫλϦϯά w ςετΛաෆ଍ͳ͘ॻ͘ w fl BLZͳςετͷվम

    w ίϛοτϩάΛஸೡʹॻ͘ w ։ൃ༻ͷπʔϧΛదٓϝϯςφϯε͢Δ w ʮ͋ͱͰ΍ΔʯΛͪΌΜͱ͋ͱͰ΍Δ
  13. ͤ΍ͳ

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

  15. 2ͳΜͰ೉͍͠ͷ

  16. "Ϗδωε্ͷ੍໿

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

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

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

    w ʮ;ͭ͏ʯΛ͢ΔͨΊʹ͸νʔϜͷٕज़ྗ΋ඞཁ w ڭҭ͕ඞཁ͕ͩػೳΛ௥Ճ͠ͳ͍ͱձ͕ࣾ SZ
  20. ฐࣾͷ৔߹͸ച্౓֎ࢹͰ΍Ε͍ͯΔ ͷͰ;ͭ͏͕΍Γ΍͍͚͢Ͳɺଟ͘ͷ ձࣾͰ͸೉͍͠

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

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

  23. ׬

  24. Ͱ͸ͳ͍

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

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

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

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

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

  30. ۩ମྫ

  31. 7JFX$PNQPOFOU

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

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

  34. TBWBOOBJPʹ͓͚Δ࢖༻ྫ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ྫͱͯ͠7JFX$PNQPOFOUΛ঺հ͠·ͨ͠