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

Immutable Infrastructureが開発プロセスに与える影響(仮) #immutableinfra

Immutable Infrastructureが開発プロセスに与える影響(仮) #immutableinfra

Naoya Ito

March 25, 2014
Tweet

More Decks by Naoya Ito

Other Decks in Technology

Transcript

  1. *NNVUBCMF*OGSBTUSVDUVSF
    ͕։ൃϓϩηεʹ༩͑ΔӨڹ Ծ

    !OBPZB@JUP
    *NNVUBCMF*OGSBTUSVDUVSF$POGFSFODF

    View full-size slide

  2. *NNVUBCMF*OGSBTUSVDUVSF
    •  %JTQPTBCMF$PNQPOFOUT
    •  ෆมͳɺঢ়ଶΛ࣋ͨͳ͍ɺഇغՄೳͳ

    View full-size slide

  3. αʔόʔͷঢ়ଶ
    •  ͋Δ೔ೲ඼͞Εͨ3BJMTαʔόʔ
    –  9݄9೔ʹ%/4ΩϟογϡΛઃఆͨ͠
    –  :݄:೔ʹϓϩηε਺Λνϡʔχϯάͨ͠
    –  ;݄;೔ʹSVCZͷόʔδϣϯΛ্͛ͨ
    –  ŋŋŋ ͍Ζ͍Ζ܁Γฦ͠

    •  ͜ͷαʔόʔʹ൒೥ৼΓʹ3BJMTΞϓϦΛσϓϩ
    Π
    –  Ռͨͯ͠σϓϩΠ͸ਖ਼͘͠ऴΘΔͷ͔

    View full-size slide

  4. αʔόʔͷঢ়ଶΛ؅ཧ͢Δ
    •  खॱॻ
    •  ࣗಈԽ
    •  αʔόʔ؅ཧσʔλϕʔε
    •  $IFG 1VQQFU

    View full-size slide

  5. ঢ়ଶ؅ཧ͕໘౗ͳΒɺঢ়ଶΛ
    ؅ཧ͠ͳ͚Ε͹ྑ͍͡Όͳ͍

    View full-size slide

  6. h"p://chadfowler.com/blog/2013/06/23/immutable-­‐deployments/

    View full-size slide

  7. #MVF(SFFO%FQMPZNFOU

    View full-size slide

  8. ΄ΒɺΈΜͳ8JOEPXTௐࢠѱ͘ͳΔͱ
    ࠶Πϯετʔϧͯͨ͠͡Όͳ͍Ͱ͔͢ɻ
    ͋ΕͰ͢Α͋Ε

    View full-size slide

  9. )FSPLV
    )FSPLV͸HJUQVTI͢Δຖɺ৽͍͠؀ڥ ίϯςφ
    Λ࡞Γɺݹ͍؀ڥΛغͯΔ

    View full-size slide

  10. 5SBWJT$*
    5SBWJT$*΋ςετΛ࣮ߦ͢ΔͨͼɺίϯςφΛ࡞ΓऴΘͬͨΒغͯΔ

    View full-size slide

  11. ࣌ؒʹ ճσϓϩΠ
    h"p://www.publickey1.jp/blog/12/amazon11000_aws_reinventday2_am.html

    View full-size slide

  12. *NNVUBCMF*OGSBTUSVDUVSF
    Λࢧ͑Δٕज़
    •  ίϯςφ
    – -JOVYͳΒ-9$ͳͲ
    •  ίϯςφΛӡ༻͢Δपล࣮૷
    – FH%PDLFS

    View full-size slide

  13. *NNVUBCMF*OGSBTUSVDUVSF
    ͱ ͍ۙকདྷͷ
    ։ൃϓϩηε

    View full-size slide

  14. ઌʹαϚϦ*NNVUBCMFʹͳΔӨڹ
    •  *NNVUBCMFͳ੍໿ˠΞϓϦέʔγϣϯΞʔΩ
    ςΫνϟ ઃܭ
    ΁΋ଟେͳӨڹ
    •  ʮ࠶ݱՄೳʯͳΞϓϦέʔγϣϯ
    •  ςετ༰қੑͷ޲্
    •  ্ॻ͖σϓϩΠ͔ΒίϯςφϕʔεσϓϩΠ΁
    –  ݁ՌɺΑΓਝ଎ͳܧଓσϓϩΠ͕Մೳʹ

    ΞϓϦέʔγϣϯ։ൃऀ΋ແࢹͯ͠͸͍ΒΕͳ͍
    ઃܭ΍։ൃϓϩηε΁ͷมԽ

    View full-size slide

  15. ΞʔΩςΫνϟ΁ͷӨڹ
    •  *NNVUBCMFŋŋŋ͋Δҙຯෆࣗ༝ʹͳΔ
    – αʔόʔ؀ڥ͕ෆࣗ༝ʹͳΔ
    – ͦͷෆࣗ༝͞ΛΞϓϦέʔγϣϯ͕ड͚༰Ε
    Δඞཁ͕͋Δ
    – Ώ͑ʹɺαʔόʔΞʔΩςΫνϟىҼͰΞϓ
    ϦέʔγϣϯΞʔΩςΫνϟ੍͕ݶ͞ΕΔ

    View full-size slide

  16. ੍໿
    •  ੍໿͸ඞͣ͠΋ѱ͍΋ͷͰ͸ͳ͍
    – ྫ3&45
    – ྫεςʔτϨεͳ)551ͱ888

    View full-size slide

  17. 5IF5XFMFWF'BDUPS"QQ
    h"p://twelve-­‐factor-­‐ja.herokuapp.com/  
    (オリジナル:  h"p://12factor.net/)

    View full-size slide

  18. •  ϓϩηε͸εςʔτϨε͔ͭ4IBSFE
    /PUIJOHͰ͋Δ
    •  ઃఆΛίʔυ͔Βݫີʹ෼཭͢Δ͜ͱΛ
    ཁٻ͢Δ
    •  ͢΂ͯͷ ύοέʔδͷ
    ґଘؔ܎Λґଘ
    ؔ܎એݴϚχϑΣετͰ׬શ͔ͭݫີʹ
    એݴ͢Δ #VOEMFSͳͲͷ࿩

    h"p://twelve-­‐factor-­‐ja.herokuapp.com/  より引用

    View full-size slide

  19. ݁Ռͱͯ͠ŋŋŋ
    •  ηοτΞοϓࣗಈԽͷͨΊʹએݴతͳϑΥʔϚοτΛ࢖͍ɺ
    ϓϩδΣΫτʹ৽͘͠ՃΘͬͨ։ൃऀ͕ཁ͢Δ࣌ؒͱίετ
    Λ࠷খԽ͢Δ
    •  Լ૚ͷ04΁ͷґଘؔ܎Λ໌֬Խ͠ɺ࣮ߦ؀ڥؒͰͷҠ২ੑΛ
    ࠷େԽ͢Δ
    •  ϞμϯͳΫϥ΢υϓϥοτϑΥʔϜ্΁ͷσϓϩΠʹదͯ͠
    ͓Γɺαʔόʔ؅ཧ΍γεςϜ؅ཧΛෆཁͳ΋ͷʹ͢Δɻ
    •  ։ൃ؀ڥͱຊ൪؀ڥͷࠩҟΛ࠷খݶʹ͠ɺΞδϦςΟΛ࠷େ
    Խ͢ΔܧଓతσϓϩΠΛՄೳʹ͢Δɻ
    •  πʔϧɺΞʔΩςΫνϟɺ։ൃϓϥΫςΟεΛେ෯ʹมߋ͢
    Δ͜ͱͳ͘εέʔϧΞοϓͰ͖Δɻ
    h"p://twelve-­‐factor-­‐ja.herokuapp.com/  より引用

    View full-size slide

  20. *NNVUBCMFͳ੍໿͕΋ͨΒ͢ྑ͍Өڹ
    •  5XFMFWF'BDUPS"QQ͸)FSPLVͰϗετ
    ͢Δ4BB4Λഎܠʹهड़͞Εͨจॻ
    •  ੍໿͕ΞϓϦέʔγϣϯઃܭʹٴ΅͢ ྑ͍
    Ө
    ڹ
    –  ྫεςʔτϨε͔ͭ4IBSFE/PUIJOHˠΞϓϦ
    έʔγϣϯͷ࠶ݱੑ޲্
    *NNVUBCMFͰ͋Δͱ͍͏Ұݟෆࣗ༝ͳ੍໿͕ɺΠϯϑϥӡ༻͚ͩ
    Ͱͳ͘ɺΞϓϦέʔγϣϯͷઃܭʹ·Ͱྑ͍ӨڹΛٴ΅͢

    View full-size slide

  21. ʮ࠶ݱՄೳʯͳΞϓϦέʔγϣϯ
    •  Ͳ͜Ͱ΋࠶ݱͰ͖Δ͔Β
    – BTB4FSWJDFʹ์ΓࠐΉ͜ͱ͕Ͱ͖Δ
    •  1MBUGPSNBTB4FSWJDFɺ$*BTB4FSWJDFɺ
    $%BTB4FSWDJDFŋŋŋ
    •  ΞϓϦέʔγϣϯͷަ׵Մೳੑ
    – ։ൃ؀ڥͱϓϩμΫγϣϯΛಉҰࢹͰ͖Δ
    – ԣల։ͷεέʔϧ͕༰қʹͳΔ

    View full-size slide

  22. ςετ༰қੑ
    •  ʮ࠶ݱՄೳʯʮεςʔτϨε͔ͭγΣΞʔυφογϯ
    άʯ
    –  ŋŋŋ͍͔ʹ΋ςετ͠΍͍͢
    h"p://www.slideshare.net/techblogyahoo/jenkins-­‐withdocker-­‐131220

    View full-size slide

  23. ্ॻ͖σϓϩΠ͔Β
    ίϯςφϕʔεͷσϓϩΠ΁
    •  طଘͷ؀ڥΛ্ॻ͖͢ΔͷͰ͸ͳ͘ɺΦϯσϚϯυͰ৽͍͠؀ڥΛ
    ࡞Γग़͢
    –  ࢼߦ༰қੑϒϥϯν͝ͱʹΞϓϦ 2VJQQFSࣾޙड़

    –  ੾Γ໭͠Մೳੑ#MVF(SFFO%FQMPZNFOU "NB[PO

    View full-size slide

  24. 2VJQQFSࣾͷࣄྫ
    •  GFBUVSFCSBODI΁ͷQVTIͷͨͼɺ)FSPLVͰΞϓϦέʔγϣϯ
    Λ࡞Δ
    •  ඇ։ൃऀͱ63-Λަ׵ͯ͠ɺ࣮؀ڥͰ͙͢ʹϨϏϡʔͰ͖Δ
    •  *NNVUBCMF*OGSBTUSVDUVSFͰಈతɾϙʔλϒϧʹͳ͍ͬͯ͘ͱɺ
    ͜͏͍͏͜ͱ͕Մೳʹͳ͍ͬͯ͘ͱ͍͏ྑ͍ࣄྫ
    h"p://blog.madoro.org/mn/93

    View full-size slide

  25. *NNVUBCMF*OGSBTUSVDUVSFͷݱࡏ
    •  ։ൃऀ͕ࢼߦࡨޡΛ܁Γସ͍͑ͯ͠Δஈ֊
    •  ͍Ζ͍Ζඞཁͳ෦඼͕࡞ΒΕ͍ͯΔ
    –  %PDLFSɺNFTPTEPDLFSɺTFSG
    •  ʮ1SJWBUFͳ1BB4͕ཉ͍͠ʯͰ͸ͳ͘ʮطଘΠϯϑϥ
    ͷҰ෦Λಈతʹ͍ͨ͠ʯͱ͍͏Ϣʔβʔ͕஫໨
    –  શ෦)FSPLVͰ0,Ͱ͸ͳ͍Ͱ͢͠
    •  Ϣʔβʔ͸ίϯςφϕʔεͷσϓϩΠͷརӹΛମײ࢝͠
    Ί͍ͯΔ

    View full-size slide

  26. ͜Ε͔Β
    •  *NNVUBCMF*OGSBTUSVDUVSFʹΑͬͯɺࠓ·Ͱݻఆత
    ͩͱߟ͍͑ͯͨίϯϙʔωϯτ͕ಈతɾΦϯβϑϥΠʹ
    ͳ͍ͬͯ͘
    –  ੜ͖෺ͷΑ͏ʹγεςϜͷܥશମ͕ಈ͘ྖҬ΁·ͨҰา
    •  ࡢࠓͷαʔόʔΠϯϑϥύϥμΠϜͷूେ੒ͱͯ͠ͷ
    *NNVUBCMF*OGSBTUSVDUVSF
    –  ͍Ζ͍Ζͳ֓೦ɺ࣮૷͕͜ͷߟ͑ํʹू໿͞Ε͍ͯ͘
    –  ݁ՌతʹɺΞϓϦέʔγϣϯઃܭ΍։ൃϓϩηε΋ӨڹΛड͚
    Δɺͱࢥ͏ɻ

    View full-size slide