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

minne の開発環境の変革と今後

shiro16
October 24, 2019

minne の開発環境の変革と今後

Kubernetes Meetup Tokyo #24

shiro16

October 24, 2019
Tweet

More Decks by shiro16

Other Decks in Technology

Transcript

  1. ޙ౻རത(.01FQBCP *OD
    LVCFSOFUFTNFFUVQUPLZP
    NJOOFͷ։ൃ؀ڥͷมֵͱࠓޙ

    View Slide

  2. νʔϑςΫχΧϧϦʔυ
    5PTIJIJSP([email protected]
    NJOOFࣄۀ෦
    δϣʔδΞͷXFC$.ʹग़ͯΔਓ

    View Slide

  3. View Slide

  4. ࠓճ͢Δ࿩
    wNJOOFͷߏ੒ͷ࿩
    w,VCFSOFUFTಋೖҎલͷ։ൃ؀ڥͷ࿩
    w,VCFSOFUFTಋೖҎޙͷ։ൃ؀ڥͷ࿩
    wࠓޙͷ։ൃ؀ڥͷ࿩

    View Slide

  5. ࠓճ͠ͳ͍࿩
    wͳͥ,VCFSOFUFT΁ͷҠߦΛߦͳ͔ͬͨʁ
    w࣮ࡍͷ,VCFSOFUFTҠߦͷ͓࿩

    View Slide

  6. NJOOFͷͬ͘͟Γͱͨ͠ߏ੒ͷ࿩

    View Slide

  7. View Slide

  8. View Slide

  9. LTಋೖҎલͷ։ൃ؀ڥ

    View Slide

  10. ϩʔΧϧͷ։ൃ؀ڥ
    wEPDLFSͰ֤ίϯςφΛ্ཱ͍ͪ͛ͯΔ
    w֤ϛυϧ΢ΣΞNZTRM&MBTUJDTFBSDISFEJTNFNDBDIFEFUDʜ
    wϚΠΫϩαʔϏεԽ͞Ε֤ͨαʔϏε
    w։ൃ͢ΔαʔϏεࣗମΛ্ཱͪ͛Δࡍ͸ϩʔΧϧͰ্ཱͪ͛ΔPSϩʔ
    ΧϧͷEPDLFS্Ͱ্ཱͪ͛Δ
    wਓʹΑͬͯҧ͏

    View Slide

  11. چϩʔΧϧ։ൃ؀ڥͰͷ՝୊
    wͳΜ͔յΕͨ
    wEPDLFS্Ͱίϯςφ্ཱ͕͕͍ͪͬͯͳ͍͚ͩ
    wίϯςφىಈ͸·ͱΊͯίϚϯυͰ͖ΔΑ͏ʹ͸ͳ͍ͬͯΔ͕ʜ
    wϝϞϦͷ໰୊ͱ͔Ͱࢮ͵ίϯςφ͕͍ͨΓ
    w֤छUPLFO͕ݹ͍
    w࠷৽ͷNBTUFSΛ࢖͓ͬͯΒ֤ͣछUPLFO͕ݹͯ͘ىಈ࣌ʹࢮ͵
    wͦͷ౓ʹਓʑ͕Կ͕յΕͨͷ͔ௐࠪ͢Δඞཁ͕͋Δ

    View Slide

  12. ϦϞʔτͷ։ൃ؀ڥ
    w&$૬౰ͷTFSWFSΛෳ਺୆༻ҙ
    wԿނ͔ಈ෺ͷ໊લͰ؀ڥΛ༻ҙ͍ͯͨ͠
    wϝΠϯͱͳΔαʔϏεҎ֎͸ڞ௨ͷ΋ͷ
    w֤ϛυϧ΢ΣΞ͸ڞ௨ͷ΋ͷ
    wσʔλ͸ຊ൪ͷσʔλΛϚεΫͨ͠΋ͷ

    View Slide

  13. View Slide

  14. ։ൃͷྲྀΕ
    ϩʔΧϧͰ։ൃ
    ͜ͷࡍͷಈ࡞֬ೝ͸MPDBMIPTUͱ͔Ͱߦ͏
    Πϯλʔωοτӽ͠ʹಈ࡞֬ೝ লུՄೳ

    ϦϞʔτͷ։ൃ؀ڥʹEFQMPZΛߦ͏
    ϦϞʔτͷυϝΠϯΛࢦఆͯ͠ΞΫηε͠ಈ࡞֬ೝΛߦ͏

    View Slide

  15. ਓʑ͕૿͑ͨ͜ͱͰ໰୊͕ʜ

    View Slide

  16. چϦϞʔτ։ൃ؀ڥͰͷ՝୊
    wਓʑ͕૿͑ͨ͜ͱͰϦϞʔτ։ൃ؀ڥͷ୆਺͕଍Γͳ͘ͳͬͯདྷͨ
    wCPUʹ୭͕࢖ͬͯΔ͔೺Ѳͯ͠΋Β͏Α͏ʹͳͬͨ
    wۭ͍ͯͳ͚Ε͹୭͔ʹৡͬͯ΋Β͏
    wશ෦࢖͍ͬͯͨΒ଴ͪ
    wͱΓ͋͑ͣ͸୆਺Λ૿΍ͤ͹ղܾ͸͢Δ
    wਓʑ͕૿͑Δͱ·ͨಉ͘͡૿΍͢ඞཁ͕ʜ
    w ৗʹ࢖͏Α͏ͳ؀ڥ͡Όͳ͍ͷͰ
    ίετʜ

    View Slide

  17. View Slide

  18. ͲͷΑ͏ʹ՝୊Λղܾ͔ͨ͠ʁ

    View Slide

  19. LTҠߦ࣌ʹରԠ

    View Slide

  20. View Slide

  21. LTҠߦޙͷ։ൃ؀ڥ

    View Slide

  22. ϩʔΧϧͷ։ൃ؀ڥ
    wҎલͱಉ͡ਓ΋͍Δ
    w৽؀ڥͷਓ͸։ൃ͢ΔαʔϏεͷΈEPDLFS্ʹίϯςφΛىಈ
    wਖ਼֬ʹ͸UFMFQSFTFODFܦ༝Ͱىಈͯ͠΋Β͏
    wΠϯλʔωοτӽ͠ͷΞΫηεΛϩʔΧϧͷEPDLFSʹྲྀ͢͜ͱ͕
    Մೳ
    w֤ϛυϧ΢ΣΞ͸ϦϞʔτ؀ڥͷ΋ͷʹ઀ଓ͕Մೳ

    View Slide

  23. ղܾ͞ΕͨϩʔΧϧͷ։ൃ؀ڥͷ໰୊
    wͳΜ͔յΕͨ
    wEPDLFS্Ͱίϯςφ্ཱ͕͕͍ͪͬͯͳ͍͚ͩ
    wίϯςφىಈ͸·ͱΊͯίϚϯυͰ͖ΔΑ͏ʹ͸ͳ͍ͬͯΔ͕ʜ
    wϝϞϦͷ໰୊ͱ͔Ͱࢮ͵ίϯςφ͕͍ͨΓ
    w֤छUPLFO͕ݹ͍
    w࠷৽ͷNBTUFSΛ࢖͓ͬͯΒ֤ͣछUPLFO͕ݹͯ͘ىಈ࣌ʹࢮ͵
    wͦͷ౓ʹਓʑ͕Կ͕յΕͨͷ͔ௐࠪ͢Δඞཁ͕͋Δ

    View Slide

  24. ݸਓͷ؀ڥ΁ͷґଘ౓͕௿Լ

    View Slide

  25. ϦϞʔτͷ։ൃ؀ڥ
    wݸਓͰQPEΛॴ༗Ͱ͖Δ ਖ਼֬ʹ͸XFCBQJ͕͋ΔͷͰQPE

    wOHJOYJOHSFTTDPOUSPMMFSΛ࢖༻ͯ͠υϝΠϯຖʹΞΫηεΛྲྀ͢
    TWDΛࢦఆ
    w֤ϛυϧ΢ΣΞ͸ڞ௨
    wUFMFQSFTFODFΛ࢖͏ࡍ͸͜ͷQPEΛ࢖͏

    View Slide

  26. ղܾ͞ΕͨϦϞʔτ։ൃ؀ڥͰͷ՝୊
    wਓʑ͕૿͑ͨ͜ͱͰϦϞʔτ։ൃ؀ڥͷ୆਺͕଍Γͳ͘ͳͬͯདྷͨ
    wCPUʹ୭͕࢖ͬͯΔ͔೺Ѳͯ͠΋Β͏Α͏ʹͳͬͨ
    wۭ͍ͯͳ͚Ε͹୭͔ʹৡͬͯ΋Β͏
    wશ෦࢖͍ͬͯͨΒ଴ͪ
    wͱΓ͋͑ͣ͸୆਺Λ૿΍ͤ͹ղܾ͸͢ΔOPEF͸૿΍͔͢΋
    wਓʑ͕૿͑Δͱ·ͨಉ͘͡૿΍͢ඞཁ͕ʜ
    w ৗʹ࢖͏Α͏ͳ؀ڥ͡Όͳ͍ͷͰ
    ίετʜ

    View Slide

  27. ۭ͖ͷ֬ೝ΍଴͕ͪͳ͘ͳΓੜ࢈ੑ61
    ίετ͸%08/

    View Slide

  28. View Slide

  29. ϦϞʔτ։ൃ؀ڥͷߏ੒
    wOHJOYJOHSFTTDPOUSPMMFSΛ࢖༻ͯ͠υϝΠϯຖʹΞΫηεΛྲྀ͢
    TWDΛࢦఆ
    wొ࿥͞ΕͨJOHSFTT͸FYUFSOBMEOTΛ࢖༻ͯ͠3PVUFʹొ࿥ ͠
    ͔͕ͨͬͨʜ

    wTLB⒎PMELBOJLPLVTUPNJ[FΛ࢖༻ͯ͠ϦϞʔτͰͷJNBHF
    CVJME΍ෳ਺؀ڥʹରԠ
    wEFQMPZ͸TMBDLͷ*OUFSBDUJWF.FTTBHFTΛ࢖༻ͨ͠CPU͕ߦ͏

    View Slide

  30. TLB⒎PME
    wJNBHFͷ࡞੒΍EFQMPZΛࣗಈԽ
    wZBNMͰ؅ཧͰ͖Δ
    wLTͷNBOJGFTUT%PDLFSpMFΛ࢖͏
    wEFWϞʔυͩͱίʔυʹมߋ͕͋ͬͨࡍʹࣗಈͰEFQMPZ
    wޙड़͢ΔLVTUPNJ[F΍LBOJLPͱ૊Έ߹ΘͤΔ͜ͱ͕Մೳ

    View Slide

  31. LVTUPNJ[F
    wෳ਺؀ڥʹରԠͨ͠NBOJGFTUΛੜ੒Ͱ͖Δ
    wPWFSMBZΛ࢖͏
    wQSPEVDUJPOTUBHJOHFUDʜ
    wLVTUPNJ[BUJPOZBNMΛ࢖͏
    wKTPOQBUDIΛ࢖͑͹ॊೈʹมߋՄೳ

    View Slide

  32. LBOJLP
    wίϯςφ಺ͰJNBHFCVJMEΛͯ͘͠ΕΔ
    wEPDLFSDPNNBOE͕ෆཁ
    w%PDLFSpMFΛݩʹJNBHFΛCVJME
    wCVJMEͨ͠JNBHF͸ಛఆͷ3FHJTUSZʹQVTIͯ͘͠ΕΔ

    View Slide

  33. FYUFSOBMEOT
    w*OHSFTT΍TFSWJDFͷઃఆΛݩʹ"843PVUF΍(PPHMF
    $MPVE%/4ͷ%/4Ϩίʔυͷߋ৽Λߦ͏
    w3PVUFͰ࢖͏৔߹*".ϙϦγʔͷ௥Ճ͕ඞཁ
    w*OHSFTTTFSWJDFΛফͨ͠ࡍͷڍಈ΋੍ޚՄೳ
    w%/4Ϩίʔυ΋࡟আ͢ΔPS࢒͢
    w͔͠͠NJOOFͰ͸3PVUFͱDMVTUFSͷؒʹSPMFTFSWFS͕ڬ·
    ΔͷͰ࢖༻͍ͯ͠ͳ͍

    View Slide

  34. EFQMPZCPU
    wฐࣾͷPHJEPX͕TMBDLJOUFSBDUJWFNFTTBHFΛ࢖͏CPUͷ
    GSBNFXPSLΛ࢖༻
    wIUUQTHJUIVCDPNPHJEPXHPCPU
    wJOUFSBDUJWFNFTTBHFͷύϥϝʔλΛݩʹίϚϯυΛ࣮ߦ͠࠷ऴతʹ
    TLB⒎PMESVOΛ࣮ߦ͢Δ
    wQPEͷೖΕସ͕͑ऴΘͬͨࡍʹTMBDLʹ௨஌

    View Slide

  35. View Slide

  36. UFMFQSFTFODF
    wϦϞʔτͷLVCFSOFUFTDMVTUFSʹ઀ଓ͠ͳ͕ΒɺαʔϏεΛϩʔΧ
    ϧͰ࣮ߦ͢Δ͜ͱ͕Մೳ
    wϩʔΧϧͷ։ൃϚγϯΛLVCFSOFUFTDMVTUFSͷҰ෦ͷΑ͏ʹಈ࡞͞
    ͤΔ͜ͱ͕Մೳ

    View Slide

  37. ৄࡉ͸ͪ͜Β

    View Slide

  38. ࠓޙͷ࿩

    View Slide

  39. ৽؀ڥͰݟ͑ͯདྷͨ՝୊

    View Slide

  40. ৽؀ڥͰͷ՝୊
    wϩʔΧϧͰͷ։ൃͰ͸Ҏલͱͯ͠EPDLFSίϯςφΛ͍ͭ͘΋্ཱͪ
    ͍͛ͯΔਓ΋͍Δ
    wUFMFQSFTFODF࢖͏ࡍʹEPDLFSTZOD΋࢖͏ͷͰϝϞϦ͕ݫ͍͠ ಛ
    ʹσβΠφʔ

    wJNBHFσΧ͗͢໰୊
    wCVJMEʹ͔͔࣌ؒΔ
    wLTʹ׳Εͯͳ͍ނʹτϥϒϧγϡʔςΟϯάʹ͕͔͔࣌ؒΔ

    View Slide

  41. ࠓޙऔΓ૊Ήඞཁ͕͋Γͦ͏ͳ՝୊

    View Slide

  42. ࠓޙऔΓ૊Ήඞཁ͕͋Γͦ͏ͳ՝୊
    wϚΠΫϩαʔϏεԽ͕ਐΜͩࡍʹͲ͜·Ͱݸਓͷ؀ڥΛ෼͚Δ͔
    w֤αʔϏεͷશQPEΛݸਓຖʹ༻ҙ͢Δ͔ʁ౳
    w্هͱ߹Θ֤ͤͨϛυϧ΢ΣΞΛݸਓຖʹ෼͚Δ͔

    View Slide

  43. ͜ΕΒͷ՝୊Λղܾ͠ͳ͕Β

    ΋ͬͱ໘ന͍͜ͱ͕Ͱ͖ͳ͍͔ʁ

    Λߟ͍͑ͯΔ͕ʜ

    View Slide

  44. ·ͱΊ

    View Slide

  45. ·ͱΊ
    wLTҠߦʹ൐ͬͯچ։ൃ؀ڥͷ՝୊͸ΫϦΞͰ͖ͨ
    wUFMFQSFTFODFΛ࢖͏͜ͱͰچϩʔΧϧͱچϦϞʔτΛϋΠϒϦου
    Խͨ͠Α͏ͳ؀ڥʹͳͬͨ
    w·ͩLTͷԸܙΛ׬શʹड͚Εͯ͸͍ͳ͍ͷ͔΋͠Εͳ͍
    w৽ͨͳ՝୊΋͋ΔͷͰཁվળ
    wϚΠΫϩαʔϏεԽ͕ਐΜͰ͍͘ͱ৽͍͠՝୊͕ൃੜͦ͠͏
    w෭࣍తޮՌͱͯ͠"OESPJEJ04ΞϓϦΤϯδχΞ΁ͷؾܰʹյͤΔ
    Πϯϑϥ؀ڥΛఏڙͰ͖ͨ

    View Slide

  46. ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide