*NNVUBCMF*OGSBTUSVDUVSF͕։ൃϓϩηεʹ༩͑ΔӨڹ Ծ[email protected]*NNVUBCMF*OGSBTUSVDUVSF$POGFSFODF
View Slide
*NNVUBCMF*OGSBTUSVDUVSF• %JTQPTBCMF$PNQPOFOUT• ෆมͳɺঢ়ଶΛ࣋ͨͳ͍ɺഇغՄೳͳ
αʔόʔͷঢ়ଶ• ͋Δೲ͞Εͨ3BJMTαʔόʔ– 9݄9ʹ%/4ΩϟογϡΛઃఆͨ͠– :݄:ʹϓϩηεΛνϡʔχϯάͨ͠– ;݄;ʹSVCZͷόʔδϣϯΛ্͛ͨ– ŋŋŋ ͍Ζ͍Ζ܁Γฦ͠• ͜ͷαʔόʔʹৼΓʹ3BJMTΞϓϦΛσϓϩΠ– Ռͨͯ͠σϓϩΠਖ਼͘͠ऴΘΔͷ͔
αʔόʔͷঢ়ଶΛཧ͢Δ• खॱॻ • ࣗಈԽ • αʔόʔཧσʔλϕʔε • $IFG 1VQQFU
ঢ়ଶཧ͕໘ͳΒɺঢ়ଶΛཧ͠ͳ͚Εྑ͍͡Όͳ͍
h"p://chadfowler.com/blog/2013/06/23/immutable-‐deployments/
#MVF(SFFO%FQMPZNFOU
΄ΒɺΈΜͳ8JOEPXTௐࢠѱ͘ͳΔͱ࠶Πϯετʔϧͯͨ͠͡Όͳ͍Ͱ͔͢ɻ͋ΕͰ͢Α͋Ε
)FSPLV)FSPLVHJUQVTI͢Δຖɺ৽͍͠ڥ ίϯςφΛ࡞Γɺݹ͍ڥΛغͯΔ
5SBWJT$*5SBWJT$*ςετΛ࣮ߦ͢ΔͨͼɺίϯςφΛ࡞ΓऴΘͬͨΒغͯΔ
࣌ؒʹ ճσϓϩΠh"p://www.publickey1.jp/blog/12/amazon11000_aws_reinventday2_am.html
*NNVUBCMF*OGSBTUSVDUVSFΛࢧ͑Δٕज़• ίϯςφ– -JOVYͳΒ-9$ͳͲ• ίϯςφΛӡ༻͢Δपล࣮– FH%PDLFS
%PDLFS
*NNVUBCMF*OGSBTUSVDUVSFͱ ͍ۙকདྷͷ։ൃϓϩηε
ઌʹαϚϦ*NNVUBCMFʹͳΔӨڹ• *NNVUBCMFͳ੍ˠΞϓϦέʔγϣϯΞʔΩςΫνϟ ઃܭଟେͳӨڹ• ʮ࠶ݱՄೳʯͳΞϓϦέʔγϣϯ• ςετ༰қੑͷ্• ্ॻ͖σϓϩΠ͔ΒίϯςφϕʔεσϓϩΠ– ݁ՌɺΑΓਝͳܧଓσϓϩΠ͕ՄೳʹΞϓϦέʔγϣϯ։ൃऀແࢹ͍ͯ͠ΒΕͳ͍ઃܭ։ൃϓϩηεͷมԽ
ΞʔΩςΫνϟͷӨڹ• *NNVUBCMFŋŋŋ͋Δҙຯෆࣗ༝ʹͳΔ– αʔόʔڥ͕ෆࣗ༝ʹͳΔ– ͦͷෆࣗ༝͞ΛΞϓϦέʔγϣϯ͕ड͚༰ΕΔඞཁ͕͋Δ– Ώ͑ʹɺαʔόʔΞʔΩςΫνϟىҼͰΞϓϦέʔγϣϯΞʔΩςΫνϟ੍͕ݶ͞ΕΔ
੍ • ੍ඞͣ͠ѱ͍ͷͰͳ͍– ྫ3&45– ྫεςʔτϨεͳ)551ͱ888
5IF5XFMFWF'BDUPS"QQh"p://twelve-‐factor-‐ja.herokuapp.com/ (オリジナル: h"p://12factor.net/)
• ϓϩηεεςʔτϨε͔ͭ4IBSFE/PUIJOHͰ͋Δ• ઃఆΛίʔυ͔Βݫີʹ͢Δ͜ͱΛཁٻ͢Δ• ͯ͢ͷ ύοέʔδͷґଘؔΛґଘؔએݴϚχϑΣετͰશ͔ͭݫີʹએݴ͢Δ #VOEMFSͳͲͷh"p://twelve-‐factor-‐ja.herokuapp.com/ より引用
݁Ռͱͯ͠ŋŋŋ• ηοτΞοϓࣗಈԽͷͨΊʹએݴతͳϑΥʔϚοτΛ͍ɺϓϩδΣΫτʹ৽͘͠ՃΘͬͨ։ൃऀ͕ཁ͢Δ࣌ؒͱίετΛ࠷খԽ͢Δ• Լͷ04ͷґଘؔΛ໌֬Խ͠ɺ࣮ߦڥؒͰͷҠ২ੑΛ࠷େԽ͢Δ• ϞμϯͳΫϥυϓϥοτϑΥʔϜ্ͷσϓϩΠʹద͓ͯ͠ΓɺαʔόʔཧγεςϜཧΛෆཁͳͷʹ͢Δɻ• ։ൃڥͱຊ൪ڥͷࠩҟΛ࠷খݶʹ͠ɺΞδϦςΟΛ࠷େԽ͢ΔܧଓతσϓϩΠΛՄೳʹ͢Δɻ• πʔϧɺΞʔΩςΫνϟɺ։ൃϓϥΫςΟεΛେ෯ʹมߋ͢Δ͜ͱͳ͘εέʔϧΞοϓͰ͖Δɻh"p://twelve-‐factor-‐ja.herokuapp.com/ より引用
*NNVUBCMFͳ੍͕ͨΒ͢ྑ͍Өڹ• 5XFMFWF'BDUPS"QQ)FSPLVͰϗετ͢Δ4BB4Λഎܠʹهड़͞Εͨจॻ• ੍͕ΞϓϦέʔγϣϯઃܭʹٴ΅͢ ྑ͍Өڹ– ྫεςʔτϨε͔ͭ4IBSFE/PUIJOHˠΞϓϦέʔγϣϯͷ࠶ݱੑ্*NNVUBCMFͰ͋Δͱ͍͏Ұݟෆࣗ༝ͳ੍͕ɺΠϯϑϥӡ༻͚ͩͰͳ͘ɺΞϓϦέʔγϣϯͷઃܭʹ·Ͱྑ͍ӨڹΛٴ΅͢
ʮ࠶ݱՄೳʯͳΞϓϦέʔγϣϯ• Ͳ͜Ͱ࠶ݱͰ͖Δ͔Β– BTB4FSWJDFʹ์ΓࠐΉ͜ͱ͕Ͱ͖Δ• 1MBUGPSNBTB4FSWJDFɺ$*BTB4FSWJDFɺ$%BTB4FSWDJDFŋŋŋ• ΞϓϦέʔγϣϯͷަՄೳੑ– ։ൃڥͱϓϩμΫγϣϯΛಉҰࢹͰ͖Δ– ԣల։ͷεέʔϧ͕༰қʹͳΔ
ςετ༰қੑ• ʮ࠶ݱՄೳʯʮεςʔτϨε͔ͭγΣΞʔυφογϯάʯ– ŋŋŋ͍͔ʹςετ͍͢͠h"p://www.slideshare.net/techblogyahoo/jenkins-‐withdocker-‐131220
্ॻ͖σϓϩΠ͔ΒίϯςφϕʔεͷσϓϩΠ• طଘͷڥΛ্ॻ͖͢ΔͷͰͳ͘ɺΦϯσϚϯυͰ৽͍͠ڥΛ࡞Γग़͢– ࢼߦ༰қੑϒϥϯν͝ͱʹΞϓϦ 2VJQQFSࣾޙड़– Γ͠Մೳੑ#MVF(SFFO%FQMPZNFOU "NB[PO
2VJQQFSࣾͷࣄྫ• GFBUVSFCSBODIͷQVTIͷͨͼɺ)FSPLVͰΞϓϦέʔγϣϯΛ࡞Δ• ඇ։ൃऀͱ63-Λަͯ͠ɺ࣮ڥͰ͙͢ʹϨϏϡʔͰ͖Δ• *NNVUBCMF*OGSBTUSVDUVSFͰಈతɾϙʔλϒϧʹͳ͍ͬͯ͘ͱɺ͜͏͍͏͜ͱ͕Մೳʹͳ͍ͬͯ͘ͱ͍͏ྑ͍ࣄྫh"p://blog.madoro.org/mn/93
*NNVUBCMF*OGSBTUSVDUVSFͷݱࡏ• ։ൃऀ͕ࢼߦࡨޡΛ܁Γସ͍͑ͯ͠Δஈ֊• ͍Ζ͍Ζඞཁͳ෦͕࡞ΒΕ͍ͯΔ– %PDLFSɺNFTPTEPDLFSɺTFSG• ʮ1SJWBUFͳ1BB4͕ཉ͍͠ʯͰͳ͘ʮطଘΠϯϑϥͷҰ෦Λಈతʹ͍ͨ͠ʯͱ͍͏Ϣʔβʔ͕– શ෦)FSPLVͰ0,Ͱͳ͍Ͱ͢͠• ϢʔβʔίϯςφϕʔεͷσϓϩΠͷརӹΛମײ࢝͠Ί͍ͯΔ
͜Ε͔Β• *NNVUBCMF*OGSBTUSVDUVSFʹΑͬͯɺࠓ·Ͱݻఆతͩͱߟ͍͑ͯͨίϯϙʔωϯτ͕ಈతɾΦϯβϑϥΠʹͳ͍ͬͯ͘– ੜ͖ͷΑ͏ʹγεςϜͷܥશମ͕ಈ͘ྖҬ·ͨҰา• ࡢࠓͷαʔόʔΠϯϑϥύϥμΠϜͷूେͱͯ͠ͷ*NNVUBCMF*OGSBTUSVDUVSF– ͍Ζ͍Ζͳ֓೦ɺ࣮͕͜ͷߟ͑ํʹू͞Ε͍ͯ͘– ݁ՌతʹɺΞϓϦέʔγϣϯઃܭ։ൃϓϩηεӨڹΛड͚Δɺͱࢥ͏ɻ