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

マンガチームとDevOps / Hatena Engineer Seminar #11

マンガチームとDevOps / Hatena Engineer Seminar #11

Hatena Engineer Seminar #11 でお話した資料です

https://hatena.connpass.com/event/115458/
https://hatena.connpass.com/event/115460/

Mikio Fujita

January 30, 2019
Tweet

More Decks by Mikio Fujita

Other Decks in Programming

Transcript

  1. ϚϯΨνʔϜͱ%FW0QT
    JENJLJ@CFOF
    )BUFOB&OHJOFFS4FNJOFS
    5PLZP
    ,ZPUP
    !1

    View full-size slide

  2. ࣗݾ঺հ
    w JENJLJ@CFOF !CFOFWPMFOU

    w ϚϯΨνʔϜ
    w 8FCΞϓϦέʔγϣϯΤϯδχΞ
    w ීஈ͸(JHB7JFXFSͷ։ൃʹܞΘ͍ͬͯ·͢
    !2

    View full-size slide

  3. ࠓ೔͓࿩͢Δ͜ͱ
    w ࣾ಺Ͱ͸%FWͱ0QTΛ͚ۙͮΑ͏ͱ͍͏ྲྀΕ͕͋Γ·͢
    w ϚϯΨνʔϜ͸%FWλεΫ͕׆ൃͳνʔϜ
    w %FWλεΫϝΠϯͷνʔϜ͕ɺ

    Ͳ͏΍ͬͯ0QTͷ࡞ۀΛνʔϜ಺Ͱग़དྷΔΑ͏ʹऔΓ૊ΜͰ͍Δ͔঺հ
    w $POOQBTTͷλΠτϧ͋ͬͨΫϥ΢υ׆༻ͷ࿩͸ผͷػձʹ
    !3

    View full-size slide

  4. ϚϯΨνʔϜͷ։ൃ͍ͯ͠Δ΋ͷ
    w ͸ͯͳͰ։ൃɾఏڙ͍ͯ͠Δ8FCϚϯΨ
    Ϗϡʔϫ (JHB7JFXFS

    w 8FCͰϚϯΨΛշదʹಡΉͨΊͷϏϡʔϫ
    ػೳ΍ɺ࡞඼ొ࿥΍ฤ੒؅ཧ౳ͷ؅ཧػೳ
    ΋ؚΊͨ8FCϚϯΨ഑৴αʔϏε
    w 7JFXFSͱ͍͏໊લ͚ͩͲɺϚϯΨΛಡΉ
    Ϗϡʔϫ͚ͩΛࢦ͍ͯ͠ΔΘ͚Ͱ͸ͳ͍
    w ։ൃͷྺ࢙ʹ͍ͭͯ͸ɺલճͷΤϯδχΞ
    ηϛφʔͷࢿྉΛ͝ཡԼ͍͞
    IUUQTTQFBLFSEFDLDPNUL[XULTIBUFOBFOHJOFFSTFNJOBS
    !4

    View full-size slide

  5. ϚϯΨνʔϜͷ։ൃ͍ͯ͠Δ΋ͷ
    w গ೥δϟϯϓʴɾͱͳΓͷϠϯάδϟϯϓ

    ɾίϛοΫ%":4ଞɺશαΠτͰఏڙத
    w ೥ ݅
    ˠ೥ ݅
    ͱ

    ΫϥΠΞϯτ͞Μ͕૿͑ɺઈࢍ੒௕தͷαʔϏε
    !5

    View full-size slide

  6. ϚϯΨνʔϜͱӡ༻
    w γεςϜϓϥοτϑΥʔϜ෦ͱ͍͏ج൫։ൃͷνʔϜ͔ΒɺνʔϜઐ೚43&
    ΛׂΓ౰ͯͯ΋Β͍ɺΠϯϑϥɾӡ༻ͷ໘౗Λݟͯ΋Β͍ͬͯͨ
    w νʔϜʹδϣΠϯ͢ΔͷͰͳ͘ɺ43&νʔϜͷ࢓ࣄͷҰͭͱͯ͠αʔϏε
    ͷӡ༻Λ͢Δܗ
    w ϚϯΨνʔϜ͚ͩͰͳ͘43&νʔϜ͕શαʔϏεΛ͋Δఔ౓ҰׅͰݟΔ
    w ීஈͷαʔϏεӡ༻ɾ18(ͷࢀՃɾ։ൃͰΠϯϑϥ࡞ۀ͕ඞཁʹͳͬͨ
    ͱ͖ͷґཔ΍૬ஊFUDʜ
    !6

    View full-size slide

  7. ϚϯΨνʔϜͱӡ༻
    w 43&νʔϜͰ͸αʔϏεຖͷ஌ݟ΍ෛ୲͕֤ʑͷ43&ʹूத͍ͯ͠Δ໰୊
    w ࣾ಺ͷαʔϏε͕૿͍͑ͯΔ͜ͱ
    w ΞʔΩςΫνϟ͕ଟ༷Խ͍ͯ͠Δ͜ͱ
    w ։ൃνʔϜ͕ӡ༻ʹओମతʹؔΘΕ͍ͯͳ͍
    w αʔϏεʹ߹Θٕͤͨज़બ୒΍ӡ༻
    w ͜ΕΛղܾ͠Α͏ͱ͢Δํ਑͕ϓϩμΫτΦʔφʔγοϓ
    ͜ͷମ੍ʹ΋՝୊͕
    !7

    View full-size slide

  8. ϚϯΨνʔϜͱӡ༻
    w ։ൃͱӡ༻ͷ෼அ͕ਐΜͩݱঢ়͔ΒҰͭͷνʔϜͰߦ͑ΔΑ͏ʹ
    w αʔϏεʹ߹Θͤͨੵۃతͳબ୒΍ޮ཰తͳӡ༻Λߦ͑ΔΑ͏ʹ
    w ॳखͱͯ͠43&νʔϜʹ೚͍ͤͯΔӡ༻Λ֤νʔϜͷΤϯδχΞ͕ߦ͑Δ
    Α͏ʹҠৡ͍ͯ͘͠ஈ֊
    w ͜ͷํ਑Λݩʹ֤νʔϜ͕ಈ͍͍ͯΔ
    ϓϩμΫτΦʔφʔγοϓ
    !8

    View full-size slide

  9. ΦʔφʔγοϓͱνʔϜͷελϯε
    w ։ൃλεΫ༏ઌʹͳ͓ͬͯΓɺνʔϜ΁ͷӡ༻ͷҠৡ͸ਐΜͰ͍ͳ͍ঢ়گ
    w डୗ։ൃͳͷͰεέδϡʔϧతʹػೳ։ൃ༏ઌʹͳͬͯ͠·͏͜ͱ΋
    w ࠾༻ࣄྫ͕૿͓͑ͯΓɺͦ΋ͦ΋λεΫྔ͕૿͍͑ͯΔ
    ϚϯΨνʔϜͰ͸
    !9

    View full-size slide

  10. ΦʔφʔγοϓͱνʔϜͷελϯε
    w ࠓͷঢ়گͰ͍͖ͳΓαʔϏεͷӡ༻ʹೖΔͷ͸೉͍͠
    w ྫ͑͹ϛυϧ΢ΣΞͷΫϥ΢υҠߦͩͬͨΓαʔόߏ੒ʹखΛՃ͍͑ͯ͘ͷ͸
    ݫ͍͠ ॏཁ౓͕ߴ͍ͷͳΒผ

    w ஈ֊Λ౿ΜͰɺܭըΛཱ͍ͯͯ͘ඞཁ͕͋Δ
    w ։ൃʹ͍ۙΠϯϑϥλεΫ͔Β΍͍ͬͯ͜͏ͱ͍͏ͷ͕ϚϯΨνʔϜͷελϯε
    ϚϯΨνʔϜͰ͸
    !10

    View full-size slide

  11. ։ൃʹ͍ۙ0QT͔ΒऔΓ૊Ή
    !11

    View full-size slide

  12. ։ൃʹ͍ۙ΋ͷ͔ΒऔΓ૊Ή
    w ϚϯΨνʔϜಛ༗ͷΠϯϑϥλεΫͱͯ͠ɺ

    ৽نʹαΠτΛ্ཱͪ͛ΔɾϦχϡʔΞϧͯ͠(JHB7JFXFSΛར༻͢Δࡍͷ࡞ۀ
    w αΠτͷυϝΠϯɾূ໌ॻɾ$%/ɾ"-#ɺը૾഑৴༻ͷ4όέοτͳͲͷ༻ҙ
    w શࣗಈԽ͞Ε͍ͯΔΘ͚Ͱ͸ͳ͍ͷͰҊ݅ຖʹൃੜ
    !12

    View full-size slide

  13. ։ൃʹ͍ۙ΋ͷ͔ΒऔΓ૊Ή
    w ͜ͷ࡞ۀ΋େ෦෼Λ43&ʹ͓ئ͍͍ͯͨ͠
    w ࣄલͷௐ੔͸͋ΔʹͤΑएׯޮ཰͸མͪΔ
    w 43&νʔϜ͔ΒΈͨΒׂΓࠐΈίετ
    w ։ൃνʔϜ͔ΒΈͨΒ΍ΓऔΓͷίετ
    w αΠτͷ૿Ճ΍։ൃدΓͷλεΫͰ΋͋Δ͜ͱ͔ΒνʔϜ಺Ͱग़དྷͨํ͕ྑ
    ͍ͱߟ͍͑ͯͨ
    !13

    View full-size slide

  14. ։ൃʹ͍ۙ΋ͷ͔ΒऔΓ૊Ή
    w ಛผͳ͜ͱ͸͍ͯ͠ͳͯ࣍͘ͷ఺
    w ۩ମతͳλεΫΛ43&ͱҰॹʹΦϖϨʔγϣϯΛ͍ͯ͘͠
    w ग़དྷΔ͚ͩख࡞ۀΛແ͍ͯ͘͘͠
    !14

    View full-size slide

  15. 43&ͱҰॹʹΦϖϨʔγϣϯ
    !15

    View full-size slide

  16. 43&ͱҰॹ
    w Φʔφʔγοϓͷํ਑ͱಉ͡ࠒɺ৽نͷαΠτߏஙҊ݅ͷ࿩͕
    w ൺֱతεέδϡʔϧͷ༨༟͕͋Δ͜ͱ΋͋Γ

    Πϯϑϥ࡞ۀΛνʔϜͷΤϯδχΞͱ43&ͰҰॹʹ΍ΔΑ͏ʹ ϖΞΦϖ

    w ΦϖϨʔγϣϯࣗମ43&Ͱ׬݁͢Δ͠ૣ͍͕

    νʔϜͷΤϯδχΞ͕஌ݟΛ֫ಘ͢Δૂ͍
    !16

    View full-size slide

  17. ϖΞΦϖମ੍
    ਓ νʔϜͷΤϯδχΞ 43& νʔϜͷΤϯδχΞ

    ໾ׂ
    ࣮࡞ۀ
    νʔϜ΁ͷڞ༗
    ղઆɾݟकΓ ॻه
    ࢀՃ ݻఆࢀՃ ݻఆࢀՃ ༨༟͕͋Ε͹
    w جຊ͸νʔϜΤϯδχΞ43&ͷਓମ੍
    w ࣮࡞ۀ͸νʔϜͷΤϯδχΞ͕ߦ͏
    w Θ͔Βͳ͍͜ͱ͕͋Ε͹43&ʹฉ͘
    w ॻه܎ͱͯ͠΋͏ਓνʔϜ͔Βग़ͤΔͱ஌ݟ఻त͠΍͍͢ͷͰϕετ
    !17

    View full-size slide

  18. ϖΞΦϖखॱ
    w 43&νʔϜଆͰυΩϡϝϯτ͕͋ͬͨͷͰಡΈ߹ΘͤΛͯ͠࡞ۀ޻ఔΛ֬ೝ
    w ޻ఔΛ֬ೝͨ͠Β޻ఔ೔ϖʔεͰεέδϡʔϧΛ૊Ή
    w ޻ఔͷ࣮࡞ۀ͸෼ఔ౓Ͱ͕͢ɺ43&ͷਓʹղઆ΍આ໌Λͯ͠΋Β͍ͳ͕Βͷ࡞
    ۀʹͳΔͷͰ࣌ؒఔ౓ͷ࣌ؒΛ֬อ
    w ࣮ࡍʹ࡞ۀΛϖΞΦϖ͢Δ
    w ࡞ۀຖʹϝϞΛऔΓɺ࠷ऴతʹνʔϜ޲͚खॱॻΛ࡞Δ͜ͱͰɺ࣍ճ͸νʔ
    Ϝ಺Ͱ࡞ۀΛ׬݁Ͱ͖ΔΑ͏ʹ
    !18

    View full-size slide

  19. ϖΞΦϖ݁Ռɾײ૝
    w 43&ͱҰॹʹ΍Δͷ͸҆৺ײ͕͋Δ
    w खॱΛཧղͯ͠΋ɺ΍͸Γຊ൪ͷίϯιʔϧΛ৮Δͷ͸ۓுײ͕͋ΔͨΊ
    w λεΫͷ࡞ۀ͕νʔϜͰ׬݁͢ΔΑ͏ʹͳͬͨ
    w αʔϏεͷΠϯϑϥʹ͍ͭͯͷཧղ͕ਂ·ͬͨ
    !19

    View full-size slide

  20. ख࡞ۀΛݮΒ͢
    !20

    View full-size slide

  21. ख࡞ۀΛແ͘͢
    w Ͱ͖Δ͚ͩख࡞ۀΛແ͍͖͍ͯͨ͘͠
    w खॱॻݹͼΔ໰୊
    w લʹ࡞ͬͨઃఆΛோΊͯίϐϖ
    !21

    View full-size slide

  22. ख࡞ۀΛແ͘͢
    w ৽نαΠτߏங࣌ͷΠϯϑϥ࡞ۀͷҰ෦4όέοτͷ࡞੒
    w ͜Ε͸νʔϜ಺Ͱߦ͍ͬͯͨ
    w खॱॻͷΈͰຖճ4ͷίϯιʔϧΛ৮Δঢ়ଶͩͬͨ
    w ͜Ε·Ͱ͸࡞੒ͷස౓͕গͳ͍ͱ͍͏͜ͱͰࣗಈԽ౳ͷ༏ઌ౓͕ߴ͘ͳ͔ͬ
    ͨঢ়ଶ
    w ࠓճͷϖΞΦϖͷ݅΋͋ΔͷͰɺҰؾʹ$MPVE'PSNBUJPOԽͨ͠
    !22

    View full-size slide

  23. $MPVE'PSNBUJPO
    w "84ͷϦιʔεͷͨΊͷϓϩϏδϣχϯάαʔϏε
    w :".-ͷઃఆϑΝΠϧʹॻ͖ग़ͤΔͷͰ։ൃνʔϜతʹ΋خ͍͠
    w ࣾ಺Ͱ͸͜Ε͕Ұൠͩͬͨ
    w ࡞੒͢ΔϦιʔε΋4όέοτɾ*".ϙϦγʔͱ"84Ͱ׬͍݁ͯͨ͠
    !23

    View full-size slide

  24. $MPVE'PSNBUJPOԽ
    w ϦιʔεఆٛΛॻ͘ͷ͸νʔϜ಺Ͱ
    w νʔϜ಺ͷϨϏϡʔ͚ͩͰͳ͘43&ͷਓʹ΋ϨϏϡʔͯ͠΋Β͏
    w ઃఆ஋͸νʔϜ಺Ͱ
    w ઃఆͷ࢓ํ͸43&ʹ
    !24

    View full-size slide

  25. $MPVE'PSNBUJPOԽײ૝
    w ҙ֎ͱ؆୯ʹग़དྷͨ
    w ࡞ۀࣗମ͸υΩϡϝϯτΛݟͳ͕Β:".-ॻ͚ͩ͘
    w ࡞ۀ࣌ؒͷ୹ॖ
    w ࣾ಺ͷඪ४ʹ৐Δ͜ͱ͕ग़དྷͨ
    !25

    View full-size slide

  26. ϚϯΨνʔϜͱӡ༻͜Ε͔Β
    w νʔϜ಺Ͱӡ༻Ͱ͖Δ͜ͱ͸·ͩ·ͩগͳ͍
    w ঃʑʹαʔϏεӡ༻΋νʔϜ಺Ͱग़དྷΔΑ͏ʹͳ͍͖͍ͬͯͨ
    w ػձ͕͋ΔͨͼʹϖΞΦϖΛͯ͠΋ΒͬͨΓ
    w ։ൃαʔόͷߏஙͳͲຊ൪ʹӨڹͷແ͍ൣғ͔Β࿅शத
    !27

    View full-size slide

  27. ·ͱΊ
    w ϚϯΨαʔϏε͸ઈࢍ੒௕த
    w ։ൃλεΫ͕ϝΠϯͷதɺͳΔ΂͘ӡ༻ΛνʔϜʹدͤΑ͏ͱ͍ͯ͠Δ
    w ·ͣ͸։ൃλεΫʹ͍ۙͱ͜Ζ͔Β
    w ࡉ͔͍λεΫ͔ΒͰ΋νʔϜʹҠৡ͢Δ͜ͱͰӡ༻Ͱ͖͖͍ͯͯΔ͜ͱΛ
    ࣮ײͰ͖Δ
    !28

    View full-size slide