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

コンテナをフル活用した現場 / #devsumiE

Kodai Sakabe
February 17, 2017

コンテナをフル活用した現場 / #devsumiE

コンテナをフル活用した現場はどういった成長をたどるのか、出てきた課題に対してどう対処していったかについて話をしました。

Kodai Sakabe

February 17, 2017
Tweet

More Decks by Kodai Sakabe

Other Decks in Technology

Transcript

  1. ,PEBJ4BLBCF!LPVEBJJJ8BOUFEMZ *OD
    ίϯςφΛϑϧ׆༻ͨ͠ݱ৔
    EFWTVNJ&&

    View Slide

  2. ABOUT ME
    — Software Engineer —
    2010/4- TIS
    ࡔ෦ ޿େ (KODAI SAKABE)
    2015/8- Wantedly
    @koudaiii
    Site: https://koudaiii.com

    View Slide

  3. WANTEDLY
    — γΰτͰίίϩΦυϧͻͱΛ;΍͢—

    View Slide

  4. View Slide

  5. View Slide

  6. Ϗδωε4/4΁ͷਐԽ
    εΩϧɾධ൑ɾͭͳ͕Γͷ̏ͭࢿ࢈Λॆ࣮ͤ͞ΔΠϯϑϥ
    Visit

    Case
    ʢϙʔτϑΥϦΦʣ
    Tools
    ʢπʔϧϨϏϡʔʣ
    Chat
    ʢϏδωενϟοτʣ
    ✓ σʔλ஝ੵ
    ✓ ίϯςϯπ֦ॆ
    ✓ ϓϩμΫτؒɾ֎෦࿈ܞڧԽ
    σʔλ
    • ϢʔβʔɾاۀͷϓϩϑΟʔ
    ϧɾؔ৺৘ใ
    • Ϣʔβʔ΍اۀͷؒͷͭͳ
    ͕Γ৘ใ
    • ߦಈ৘ใ΍ίϯςϯπ
    ֎෦ύʔτφʔ
    Chat
    Visit
    Tools
    Case
    People
    ʢϚονϯάʣ
    ίϯςϯπ
    Feed
    ϝσΟΞ
    πʔϧ

    View Slide

  7. ίϯςφΛϑϧ׆༻ͨ͠ݱ৔

    View Slide

  8. ίϯςφΛϑϧ׆༻ͨ͠ݱ৔Ͱىͬͨ͜͜ͱ
    w ΞϓϦέʔγϣϯͷϧʔϧ5IF5XFMWF'BDUPS"QQ
    w ίʔυԽɺπʔϧԽXBOUFEMZNJDSPTFSWJDFT
    w มԽʹڧ͍Πϯϑϥ,VCFSOFUFT

    View Slide

  9. ΞϓϦέʔγϣϯͷϧʔϧ
    5IF5XFMWF'BDUPS"QQ

    View Slide

  10. IUUQTGBDUPSOFUKB

    View Slide

  11. ίʔυϕʔε $PEFCBTF

    w όʔδϣϯ؅ཧ͞Ε͍ͯΔͭͷίʔυϕʔεͱෳ਺ͷσϓϩΠ
    ґଘؔ܎ %FQFOEFODJFT

    w ґଘؔ܎Λ໌ࣔతʹએݴ͠෼཭͢Δ
    ઃఆ $POpH

    w ઃఆΛ؀ڥม਺ʹ֨ೲ͢Δ
    IUUQTGBDUPSOFUKB

    View Slide

  12. όοΫΤϯυαʔϏε #BDLJOH4FSWJDFT

    w όοΫΤϯυαʔϏεΛΞλον͞ΕͨϦιʔεͱͯ͠ѻ͏
    IUUQTGBDUPSOFUKB

    View Slide

  13. ϏϧυɺϦϦʔεɺ࣮ߦ #VJME SFMFBTF SVO

    w ϏϧυɺϦϦʔεɺ࣮ߦͷͭͷεςʔδΛݫີʹ෼཭͢Δ
    ϓϩηε 1SPDFTTFT

    w ΞϓϦέʔγϣϯΛͭ΋͘͠͸ෳ਺ͷεςʔτϨεͳϓϩηεͱ࣮ͯ͠ߦ͢Δ
    ϙʔτόΠϯσΟϯά 1PSUCJOEJOH

    w ϙʔτόΠϯσΟϯάΛ௨ͯ͠αʔϏεΛެ։͢Δ
    ฒߦੑ $PODVSSFODZ

    w ϓϩηεϞσϧʹΑͬͯεέʔϧΞ΢τ͢Δ
    IUUQTGBDUPSOFUKB

    View Slide

  14. ഇغ༰қੑ %JTQPTBCJMJUZ

    w ߴ଎ͳىಈͱάϨʔεϑϧγϟοτμ΢ϯͰݎ࿚ੑΛ࠷େԽ͢Δ
    ։ൃຊ൪Ұக %FWQSPEQBSJUZ

    w ։ൃɺεςʔδϯάɺຊ൪؀ڥΛͰ͖Δ͚ͩҰகͤͨ͞ঢ়ଶΛอͭ
    ϩά -PHT

    w ϩάΛΠϕϯτετϦʔϜͱͯ͠ѻ͏
    ؅ཧϓϩηε "ENJOQSPDFTTFT

    w ؅ཧλεΫ ϚΠάϨʔγϣϯ౳
    ΛճݶΓͷϓϩηεͱ࣮ͯ͠ߦ
    IUUQTGBDUPSOFUKB

    View Slide

  15. ΞϓϦέʔγϣϯͷϧʔϧ
    w %PDLFSΛ࢖ͬͨ৔߹ɺجຊతʹGBDUPSBQQʹԊͬͨΞʔΩςΫνϟ
    w ઃఆ͸؀ڥม਺Ͱࢦఆ͢Δ
    w ϩάΛϑΝΠϧग़ྗͰ͸ͳ͘ɺ45%065ʹ͢Δ
    w εςʔτϨεͳঢ়ଶʹ͢Δ σʔλΛஔ͔ͳ͍

    w ༻్ͷҧ͏ϓϩηεΛෳ਺ىಈͤ͞ͳ͍ TFSG౳ͰͲ͏ͯ͠΋ඞཁͳ৔߹
    ΋͋ΔɻΦϑΟγϟϧͷLPOH౳

    View Slide

  16. ίʔυԽɺπʔϧԽ
    XBOUFEMZNJDSPTFSWJDFT

    View Slide

  17. View Slide

  18. ίʔυԽ
    w %PDLFSԽGBDUPSBQQͰ͍ͭͰ΋ग़ͤΔঢ়ଶ
    w TDSJQUCPPTUSBQ TDSJQUTFSWFSͲͷݴޠͰ΋ڞ௨ͷ࣮ߦํ๏
    w EPDυΩϡϝϯτஔ͖৔
    w IFBMUIDIFDLڞ௨ͷࢮ׆؂ࢹ༻ΤϯυϙΠϯτ
    w ΠϯϑϥΛૢ࡞͢Δ΋ͷ͸$-*πʔϧʹ͢Δ

    View Slide

  19. TDSJQU
    DIFDL@FOWJSPONFOU؀ڥνΣοΫ
    CPPUTUSBQΞϓϦέʔγϣϯઃఆ
    $ curl https://xxxx/xxxx/check_environment | bash
    Wantedly
    γΰτͰίίϩΦυϧਓΛ;΍͢
    + sufficient processor speed.
    + sufficient memory size.
    + sufficient disk space.
    + ruby x.x.x fonud.
    + yarn found.
    + node x.x.x fonud.
    + PostgreSQL found.
    + No error raised.
    We are ready to setup environment.
    Ask your supervisor for further installation.

    View Slide

  20. ΠϯϑϥΛૢ࡞͢Δπʔϧ
    w %FQMPZɺ%PDLFSɺ"84ɺ%/4JNQMFΛૢ࡞Ͱ͖ΔXBOUFEMZDBQTBQ
    w $* XFSDLFS
    ͷ݁ՌΛऔಘͰ͖ΔXLXL
    w "1*ʹೝূ΍εϩοτϧͳͲΛϒϥ΢βͰઃఆͰ͖ΔXBOUFEMZLPOHGSPOUFOE
    w ඞཁͳTZTUFNEͷTFSWJDFΛ&$ͷUBH͔Βొ࿥Ͱ͖ΔDFMM
    w 4Λ࢖ͬͯϑΝΠϧΛؾܰʹڞ༗Ͱ͖ΔEUBOTVSM
    w &$ͷ৘ใΛऔಘͨ͠Γૢ࡞Ͱ͖ΔEUBOFDD
    w ؀ڥม਺ΛνʔϜͰ؅ཧͰ͖ΔEUBOWBMFD
    w "84%/4JNQMF%BUB%PHΛநग़ͨ͠Γૢ࡞Ͱ͖ΔEUBOUFSSBGPSNJOH XBOUFEMZUFSSBGPSN

    View Slide

  21. มԽʹڧ͍Πϯϑϥ
    8BOUFEMZ1FPQMFࣄྫ

    View Slide

  22. େ͖ͳ՝୊

    View Slide

  23. ϦϦʔε·Ͱʹֻ͕͔࣌ؒΔ
    w %PDLFSpMFΛΞϓϦέʔγϣϯΤϯδχΞ͕ॻ͘ͷ͕େม
    w ίϯςφΛαʔόʔʹࡌͤΔ·Ͱͷ४උ͕ଟ͍
    w "4( .POJUPS -PHHJOH "-# %/4FUD

    w ΠϯϑϥνʔϜͷ࡞ۀ଴ͪ
    w ΠϯϑϥνʔϜ͕༻ҙ͔ͯ͠Β΋ߋʹमਖ਼͕ඞཁ

    View Slide

  24. ೉ղͳखॱ

    View Slide

  25. ,VCFSOFUFTಋೖ
    ΑΓݕূΑΓຊ൪ಋೖ

    View Slide

  26. ,VCFSOFUFT
    w ʮΞϓϦέʔγϣϯ͕ԿॲͰಈ͍͍ͯΔ͔Λҙࣝ͢Δʯੈք͔ΒʮΞϓϦέʔγϣϯ͕Ͳ͏ಈ͍͍ͯ
    Δ͔͚ͩΛҙ͍ࣝͯ͠Ε͹ྑ͍ʯੈքʹͰ͖Δ
    w ෳ਺୆ͷϗετΛΫϥελϦϯάͯ͠େ͖ͳϦιʔεͱͯ͠ݟͤΔɻΫϥελ಺ͰɺΞϓϦέʔγϣϯ
    ͷ%FQMPZ 4DBMF 0QFSBUJPOΛࣗಈతʹߦ͏
    w ۭ͍͍ͯΔϦιʔε্ʹΞϓϦέʔγϣϯΛ࣮ߦ
    w ΞϓϦέʔγϣϯ୯ҐͰࣗಈ·ͨखಈͰεέʔϧ
    w ৽͍͠ػೳΛϦϦʔε͢ΔࡍʹɺγʔϜϨεʹσϓϩΠ
    w ඞཁͳϦιʔε͚ͩΛ࢖༻ͯ͠ϋʔυ΢ΣΞͷ࢖༻Λ࠷దԽ
    w ར༻ऀ͸ɺΞϓϦέʔγϣϯ ਺ ϚγϯεϖοΫ σϓϩΠํ๏ ؀ڥม਺ͳͲΛఆٛ͢Δ͚ͩͰ
    ,VCFSOFUFT͸ఆ͔ٛΒۭ͍͍ͯΔϦιʔε্ʹ࣮ߦ͢Δ
    IUUQTLVCFSOFUFTJPEPDTXIBUJTLT

    View Slide

  27. ৽͘͠αʔϏεΛ࡞Δ࣌ʹɺ
    طଘͷϦϙδτϦʹίʔυΛ௥Ճ͢ΔΑΓ
    ৽͘͠ϦϙδτϦΛ࡞Δํ͕ྑ͍ͱ͍͏งғؾΛ࡞Δ

    View Slide

  28. IUUQTXXXXBOUFEMZDPNDPNQBOJFTXBOUFEMZQPTU@BSUJDMFT
    $*$%ڞ௨ͷϧʔϧ
    IUUQTXXXXBOUFEMZDPNDPNQBOJFTXBOUFEMZQPTU@BSUJDMFT

    View Slide

  29. .FSHF%FQMPZ

    View Slide

  30. %BTICPBSE
    ڞ௨ͷμογϡϘʔυ
    %"5"%0(LVCFEBTICPSE-PHFOUSJFT

    View Slide

  31. ৽͘͠αʔϏεΛ࢝ΊΔͨΊͷυΩϡϝϯτ

    View Slide

  32. ܕ͕ܗ੒͞Εͨޙɺ3VCZҎ֎ͷϓϩμΫτ͕૿Ճ
    w $BQJTUSBOPͰͷEFQMPZํ๏͔Β,VCFSOFUFTΛ࢖ͬͨEFQMPZํ๏ʹมΘΓɺଞͷ
    ݴޠ͕ೖΓ΍͘͢ͳͬͨ
    w ΞϓϦέʔγϣϯͷϧʔϧͱίʔυԽ TDSJQUIFBMUIDIFDL౳
    ͷ͓͔͛Ͱɺଞͷݴޠʹ
    ͳͬͯ΋ӡ༻͕جຊมΘΒͣɺଞͷΤϯδχΞ͸োน͕গͳࣗ͘෼ͷ؀ڥͰ࣮ߦͰ͖Δ
    w ΠϯϑϥνʔϜͷ࡞ۀ଴͕ͪݮΓɺ·ͨϦϦʔεͷ؆ུԽ͔ΒγϯϓϧͳΞϓϦέʔγϣ
    ϯΛͲΜͲΜ࡞Δͷ͕૿͑ɺΤϯδχΞଆͰγϯϓϧͳ%PDLFSpMF౳Λॻ͘Α͏ʹ
    ͳ͖ͬͯͨ
    w ,VCFSOFUFTΛར༻͢ΔͨΊͷΠϯϑϥΛૢ࡞͢Δ$-*͕ٸ຿ʹͳΔ

    View Slide

  33. .JDSPTFSWJDFTΛࢧ͑Δ.JDSPUPPMT

    View Slide

  34. 5IF6/*9QIJMPTPQIZ
    w 4NBMMJTCFBVUJGVMখ͍͞΋ͷ͸ඒ͍͠
    w .BLFFBDIQSPHSBNEPPOFUIJOHXFMMͭͷϓϩάϥϜʹ͸ͭͷ͜ͱΛ͏·
    ͘΍ΒͤΔ
    w $IPPTFQPSUBCJMJUZPWFSF⒏DJFODZޮ཰ΑΓҠ২ੑΛ༏ઌ͢Δ
    w 6TFTPGUXBSFMFWFSBHFUPZPVSBEWBOUBHFιϑτ΢ΣΞΛᑏࢠ ͯ͜
    ͱͯ͠
    ࢖͏
    w "WPJEDBQUJWFVTFSJOUFSGBDFTա౉ͷର࿩తΠϯλʔϑΣʔεΛආ͚Δ

    View Slide

  35. .JDSPTFSWJDFTΛࢧ͑Δ.JDSPUPPMT
    w LVCFԼهπʔϧΛ࣮ߦ͢ΔͨΊͷXSBQQFS
    w LVCFDUMLVCFSOFUFTͷެࣜ$-*
    w XBOUFEMZEPDLFSUBHTEPDLFSSFHJTUSZʹ͋ΔJNBHFUBHΛҰཡͰऔಘ͢Δ
    w LPVEBJJJLVCFQTQPE͕ಈ͍͍ͯΔਖ਼֬ͳىಈ࣌ؒͱ࢖ΘΕ͍ͯΔJNBHFUBHΛऔಘͰ͖Δ
    w EUBOLTUBJMOBNFTQBDFͱMBCFMͰ·ͱΊͯMPHΛUBJMग़དྷΔ
    w EUBOLTFDTFDSFUTΛૢ࡞Ͱ͖Δ
    w LPVEBJJJRVDMJ2VBZJPΛૢ࡞Ͱ͖Δ
    w OBNFTQBDFΛIFSPLV$-*ͷΑ͏ʹͦͷσΟϨΫτϦʹҠಈͨ͠Β෇༩͢Δ

    View Slide

  36. .JDSPUPPMT
    LVCFίϚϯυ͔Βͨ͘͞ΜͷπʔϧΛར༻͠ɺҰͭͷ$-*αʔϏεΛ࡞Δ

    View Slide

  37. IPNFCSFX
    ࣾ಺πʔϧΛIPNFCSFXͰCJOBSZΛ഑৴
    3VCZ౳ͷݴޠΛೖΕͯແͯ͘΋πʔϧ͕࢖͑ΔΑ͏ʹ

    View Slide

  38. ಇ͖ํͷมԽͱαʔϏε਺ͷਪҠ
    8BOUFEMZ1FPQMF

    View Slide

  39. ελʔτظ
    ΞϓϦέʔγϣϯΤϯδχΞଆͰGBDUPSBQQͳߏ੒Λ࡞ΓɺΠϯϑϥνʔϜʹґཔ
    Developer ΠϯϑϥνʔϜ
    λεΫґཔ

    View Slide

  40. ϧʔϧͱηϧϑαʔϏεظ
    w طଘαʔϏεͷΠϯϑϥΛૢ࡞͢Δπʔϧ࡞੒ͱTDSJQUͳͲ͕ϧʔϧԽ
    ΠϯϑϥνʔϜ
    API and Tool
    Developer

    View Slide

  41. ΫϥελϦϯάظ
    w େ͖ͳϦιʔεΛΈΜͳͰࣗ༝ʹ࢖͍ɺ৽نαʔϏεΛཱͯ΍͘͢͢Δ
    Developer
    ΠϯϑϥνʔϜ
    API and Tool

    View Slide

  42. 8BOUFEMZ1FPQMFҎ֎ͷνʔϜʹ೾ٴͯ͠
    ࣍ʑͱαʔϏε͕࡞ΒΕ͍ͯΔ
    8BOUFEMZ1FPQMF

    View Slide

  43. w $$0CK$4XJGU+BWB3VCZ1ZUIPO(P/PEFͭͷݴޠ
    w ͭͷ.JDSPTFSWJDF
    w ߴ଎ͳΦϯϝϞϦݕࡧɺը૾ॲཧɺػցֶश
    w ͢΂ͯͷαʔϏε͕ಉ͡ӡ༻ํ๏
    w 5FTU#VJME%FQMPZ4DBMF$POTPMF-PH
    w ϦϦʔεํ๏΍2"؀ڥͳͲΛॊೈʹߏ੒Λม͑ͨΓ௥Ճग़དྷΔ
    w 8BOUFEMZͷJOUFSOBM"1*͕ར༻Ͱ͖Δ

    View Slide

  44. View Slide

  45. ΫϥελϦϯάظ ,VCFSOFUFTಋೖ

    ελʔτظ
    ϧʔϧͱηϧϑαʔϏεظ

    View Slide

  46. ίϯςφΛϑϧ׆༻ͨ͠ݱ৔Ͱىͬͨ͜͜ͱ
    w ΞϓϦέʔγϣϯͷϧʔϧ5IF5XFMWF'BDUPS"QQ
    w ίʔυԽɺπʔϧԽXBOUFEMZNJDSPTFSWJDFT
    w มԽʹڧ͍Πϯϑϥ,VCFSOFUFT
    ΠϯϑϥΤϯδχΞ͸ӡ༻อक͚ͩ͡Όͳ͘ɺ
    ੵۃతʹίʔυΛॻ͍ͯશମ࠷దԽͱͳΔ࢓૊Έʹूத͢Δ

    View Slide

  47. IUUQTXXXXBOUFEMZDPNQSPKFDUT

    View Slide

  48. NEXT
    — ڵຯΛ࣋ͬͨํ͸ؾܰʹҙݟަ׵Λ͍ͤͯͩ͘͞͞!! —

    View Slide