Slide 1

Slide 1 text

*NNVUBCMF*OGSBTUSVDUVSF ͜Ε͔Βͷ8FCΫϥ΢υγεςϜ /BPZB*UP ,"*;&/QMBUGPSN*OD ϚΠφϏχϡʔε*5αϛοτ

Slide 2

Slide 2 text

ࣗݾ঺հ •  ҏ౻௚໵ •  ೥χϑςΟ •  ೥͸ͯͳ औక໾ࣥߦ໾һ$50 •  ೥άϦʔ ιʔγϟϧϝσΟΞ౷ׅ෦௕ •  ೥.64&"TTPDJBUFT ϑΣϩʔ •  ೥,"*;&/QMBUGPSN*OD ٕज़ސ໰

Slide 3

Slide 3 text

,"*;&/QMBUGPSN*OD "#ςετΫϥ΢υαʔϏεQMBO#$%Λ։ൃ͢Δ໊ఔ౓ͷελʔτΞοϓ

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

ΞδΣϯμ •  *NNVUBCMF*OGSBTUSVDUVSFͬͯ – ࣮ࡍͷࣄྫ – *NNVCBMFʙΛࢧ͑Δٕज़ •  ׬શԾ૝Խ͔Β04ϨϕϧԾ૝Խ΁ •  Ϗοάσʔλͱ*NNVUBCMFʙ – ͜Ε͔Βͷ8FCΫϥ΢υγεςϜ

Slide 6

Slide 6 text

ಥવͰ͕͢ɺҎԼͷ Ϋϥ΢υαʔϏεΛ͝ଘ஌Ͱ͔͢ •  )FSPLV •  8FSDLFS 5SBWJT$* $JSDMF$*

Slide 7

Slide 7 text

)FSPLV

Slide 8

Slide 8 text

)FSPLV •  (JUͰιʔείʔυΛૹΓࠐΉ͚ͩͰ 8FCΞϓϦέʔγϣϯΛಈ͔ͯ͘͠ΕΔ $  git  push  heroku  master   -­‐-­‐-­‐-­‐-­‐>  Ruby  app  detected   -­‐-­‐-­‐-­‐-­‐>  Compiling  Ruby/Rack   -­‐-­‐-­‐-­‐-­‐>  Using  Ruby  version:  ruby-­‐2.0.0   (snip.)   -­‐-­‐-­‐-­‐-­‐>  Launching...  done,  v14                http://radiant-­‐wildwood-­‐3571.herokuapp.com/  deployed   to  Heroku  

Slide 9

Slide 9 text

http://www.slideshare.net/mokamoto/201117c4-heroku-databasecom

Slide 10

Slide 10 text

%ZOP͸ຖճغͯΒΕΔ •  º্ॻ͖ͰσϓϩΠ •  ˓ຖճ৽͍͠%ZOP͕࡞੒͞ΕΔ – ৽%ZOP͕४උ׬ྃϧʔςΟϯά͕੾Γସ ΘΓݹ͍΋ͷ͸ഇغ

Slide 11

Slide 11 text

$*BTB4FSWJDF

Slide 12

Slide 12 text

$*BTB4FSWJDF •  $POUJOVPVT*OUFHSBUJPOΫϥ΢υ •  8FSDLFSɺ5SBWJT$*ɺ$JSDMF$* – (JU)VCͳͲʹίʔυͷมߋ͕QVTI͞ΕΔ ͱɺಉϨϙδτϦ಺ͷςετΛ࣮ߦ

Slide 13

Slide 13 text

webhook notification

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

ςετͷ౓؀ڥΛ࡞Γग़͢ •  ෳ਺ͷϢʔβʔ͕ෳ਺ͷγεςϜΛςετ ͢Δ •  ςετຖʹ৽͍͠ίϯςφΛ࡞Δ – ଞͷϢʔβʔͱ͸෼཭͞Εͨ؀ڥ͕ཁΔ͔Β – ςετ͕ऴΘͬͨΒغͯΔ

Slide 16

Slide 16 text

%JTQPTBCMF$PNQPOFOU •  ഇغՄೳͳ •  ඞཁʹͳͬͨΒ࡞Δ •  ߋ৽͸্ॻ͖Ͱ͸ͳͯ͘ɺغͯͯ৽͍͠ͷ ࡞Δɻͭ·Γɺมߋ͠ͳ͍ – ˠ*NNVUBCMF*OGSBTUSVDUVSF

Slide 17

Slide 17 text

αʔόʔͷঢ়ଶ •  ͋Δ೔ೲ඼͞Εͨ3BJMTαʔόʔ –  9݄9೔ʹ%/4ΩϟογϡΛઃఆͨ͠ –  :݄:೔ʹϓϩηε਺Λνϡʔχϯάͨ͠ –  ;݄;೔ʹSVCZͷόʔδϣϯΛ্͛ͨ –  ŋŋŋ ͍Ζ͍Ζ܁Γฦ͠ •  ͜ͷαʔόʔʹ൒೥ৼΓʹ3BJMTΞϓϦΛσϓϩ Π –  Ռͨͯ͠σϓϩΠ͸ਖ਼͘͠ऴΘΔͷ͔

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

ঢ়ଶ؅ཧ͕໘౗ͳΒɺঢ়ଶΛ ؅ཧ͠ͳ͚Ε͹ྑ͍ͷͰ͸

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

#MVF(SFFO%FQMPZNFOU

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

*NNVUBCMFʙΛࢧ͑Δٕज़ ίϯςφ

Slide 24

Slide 24 text

׬શԾ૝Խ͔Β 04ϨϕϧԾ૝Խ ίϯςφ ΁

Slide 25

Slide 25 text

*NNVUBCMFʙʹ஫໨͕ू·Δഎܠ •  ςΫχοΫͱͯ͠ͷ*NNVUBCMFʙ – ܧଓతΠϯςάϨʔγϣϯσϦόϦʔ – #MVF(SFFO%FQMPZNFOU •  ཁૉٕज़࣮૷ŋŋŋΫϥ΢υΠϯϑϥͷస ׵ظ – ίϯςφ – %PDLFS

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

׬શԾ૝Խͱ04ϨϕϧԾ૝Խ •  ׬શԾ૝Խ –  Ϛγϯ͝ͱԾ૝Խ͠ಠཱͨ͠؀ڥΛఏڙ –  "84ͷ*BB4΍7.8BSF –  ʮԾ૝Խʯͱݴ͑͹ݱঢ়ࢥ͍ු͔΂Δͷ͸ͪ͜Β •  04ϨϕϧԾ૝Խ –  ͋͘·Ͱ04ͷϓϩηε –  DISPPUɺ+BJMɺ-9$ ίϯςφ 7JSUVBM.BDIJOF 7. WT $POUBJOFS ※厳密にはコンテナ系実装を「仮想化」と言ってよいかどうか# ここではユースケース的の文脈に拡大解釈

Slide 28

Slide 28 text

http://www.slideshare.net/m-bird/ss-38785624

Slide 29

Slide 29 text

-JOVYίϯςφ •  Ϣʔβʔϓϩηεͱͯ͠৽͍͠؀ڥΛ࡞Δ –  ϓϩηεͳͷͰॠ࣌ʹੜ੒͞ΕΔ –  Ϣʔβʔ͔Β͸͔͋ͨ΋৽͍͠04ʹݟ͑Δ •  ίϯςφWT7.ʹ͸τϨʔυΦϑ –  ίϯςφىಈ͕ॠ࣌Φʔόʔϔου͕গͳ͍ϗ ετ04͔Βͷ੍ޚ͕Մೳ –  7.ϗετήετ΋෼཭ɺ

Slide 30

Slide 30 text

%PDLFS

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

$POUBJOFSTBSFBOFXTUBOEBSEJO DMPVEJOGSBTUSVDUVSF

Slide 33

Slide 33 text

https://speakerdeck.com/jbeda/containers-at-scale

Slide 34

Slide 34 text

Ϋϥ΢υʹ͓͚ΔԾ૝Խ •  ϗεςΟϯά΍*BB4 –  Ϣʔβʔ͕ظ଴͍ͯ͠Δͷ͸ʮຊ౰ͷαʔόʔͷ༷ͳ෺ʯͳͷ Ͱ7.ϕʔεͷํ͕๬·͍͠ ͷ͔΋ •  BTB4FSWJDF΍(PPHMF'BDFCPPL –  )FSPLV ("& 8FSDLFS 5SBWJT$* –  ൴Β͕ཉ͔ͬͨ͠΋ͷ͸ʮԾ૝Խ͞ΕͨαʔόʔʯͰ͸ͳ͘ ʮΫϥελϦϯά͞ΕͨΞϓϦέʔγϣϯͷೖΕ෺ʯ ͭ·Γʮಠཱͨ͠؀ڥʯΛखʹ ͍ΕΔखஈͱͯ͠ίϯςφͷํ ͕޲͍ͯΔέʔε΋ଟ͔ͬͨ

Slide 35

Slide 35 text

*NNVUBCMFʙͷྲྀߦͱ Ϋϥ΢υͷকདྷ •  *NNVUBCMF͸ͦΕ୯ମͷ֓೦͕ண໨͞ Ε͍ͯΔΘ͚Ͱ͸ͳ͘ •  Ϋϥ΢υΠϯϑϥ͕ίϯςφܕʹҠߦͯ͠ ͍͘τϨϯυͱ૬·ͬͯͷ͜ͱ ※VMが時代遅れ、という話ではありません。現状VMではなくコンテナの方が向いてるはずの要件も、VMで賄われている場面が多い、とい う話

Slide 36

Slide 36 text

Ϗοάσʔλͱ *NNVUBCMFʙɺίϯςφ

Slide 37

Slide 37 text

ഇغՄೳͳ •  ΞϓϦέʔγϣϯαʔόʔ͸Θ͔Δ – 4IBSFE/PUIJOHʹ͓͚ͯ͠͹Α͍ – ʮεςʔτϨεʯ •  σʔλϕʔεͳͲͷετϨʔδ͸

Slide 38

Slide 38 text

*NNVUBCMFʙͱετϨʔδ •  ഇغՄೳͦ͏Ͱͳ͍෦඼Λ໌֬ʹ͢Δ •  ͦ͏Ͱͳ͍෦඼͸ैདྷ௨Γʹӡ༻ – ͨͩ͠Ϋϥ΢υΛੵۃར༻͢Δ •  3%#ˠ"NB[PO3%4 •  ετϨʔδˠ"NB[PO4

Slide 39

Slide 39 text

*NNVUBCMF૚ ʮΞϓϦέʔγϣϯίʔ υʯ͕Քಇ͢Δ৔ॴ

Slide 40

Slide 40 text

8FCγεςϜͷࡾ૚ߏ଄ ʹ͓͚Δ*NNVUBCMF૚ •  ʮ8FCΞϓϦέʔγϣϯͷίʔυʯ͕Քಇ͢ΔϨΠϠ Λ*NNVUBCMFʹ –  ετϨʔδ૚ͳͲ͸ɺΫϥ΢υతʹந৅Խͭͭ͠ैདྷ௨Γ –  ઀ଓ͸ΦʔέετϨʔγϣϯͰٵऩ͢Δ •  4FFTFSG DPOTVM ,VCFSOFUFTFUD ৄࡉ͸লུ •  *NNVUBCMF૚Ͱಈ͘ΞϓϦʹ͸࠶ݱੑ͕ٻΊΒΕΔ –  5IF5XFMFWF'BDUPS"QQ –  ݁Ռతʹϙʔλϒϧ༷ʑͳӡ༻্ͷϝϦοτ –  ৄ͘͠͸TQFBLFSEFDLDPNOBPZB

Slide 41

Slide 41 text

*NNVUBCMFʙ࣌୅ͷΞʔΩςΫνϟ •  ϑϩϯτΤϯυόοΫΤϯυͷ෼཭Λ໌ ֬ʹߦ͏ •  ݁Ռతʹϩά͸Ϗοάσʔλج൫΁ – )BEPPQΫϥελ – #JH%BUBBTB4FSWJDF

Slide 42

Slide 42 text

Ϗοάσʔλج൫ •  )BEPPQɺ#JH2VFSZ – *0ΛʮεέʔϧΞ΢τʯͰฒྻॲཧ͢Δ͜ ͱʹΑΓϏοάσʔλղੳΛՄೳʹ – 5#Φʔμʔͷσʔλʹର͠਺ेʙ਺ઍ୆ͷΫ ϥελ

Slide 43

Slide 43 text

.11ܥΫΤϦΤϯδϯ •  Ϗοάσʔλج൫ʹରͯ͠খ͍͞Φʔόʔ ϔουͰ42- – )BEPPQ •  1SFTUP •  $MPVEFSB*NQBMB •  "QBDIF%SJMM – (PPHMF#JH2VFSZ •  %SFNFM

Slide 44

Slide 44 text

https://speakerdeck.com/naoya/google-bigquery-falsehua-number-yapcasia

Slide 45

Slide 45 text

Ϗοάσʔλͷฒྻॲཧ •  جຊɺΫϥελϦϯά – ଟ਺ͷαʔόʔͰฒྻॲཧ – Ϧιʔε؅ཧɺδϣϒεέδϡʔϦϯάŋŋŋ •  ΫϥελͱԾ૝Խ – Ծ૝ԽΛט·ͤͨํ͕ӡ༻্ͷར఺͕ଟ͍

Slide 46

Slide 46 text

,VCFSOFUFT https://www.youtube.com/watch?v=tsk0pWf4ipw

Slide 47

Slide 47 text

,VCFSOFUFT •  ,VCFSOFUFT –  (PPHMFɺ*#.ɺ.JDSPTPGUɺ3FE)BUɺ %PDLFS –  ʮ%PDLFSίϯςφʹΑΔΫϥελߏஙͷͨΊͷεέ δϡʔϦϯάαʔϏεʯ •  %PDLFS,VCFSOFUFT –  %PDLFS͸ΫϥελߏஙػߏΛ࣋ͨͳ͍ –  ,VCFSOFUFT͕Ϋϥελ؅ཧ •  ίϯςφ؅ཧͷͨΊͷΦʔέετϨʔγϣϯ૚

Slide 48

Slide 48 text

https://circleci.com/docs/docker#kubernetes

Slide 49

Slide 49 text

ϏοάσʔλͱίϯςφܕΫϥελ •  Ծ૝ԽͰ؅ཧ͢ΔͳΒίϯςφ – *0Φʔόʔϔου͕গͳ͍ •  *0ΛࢄΒͨ͢Ίʹฒྻॲཧ͍ͯ͠ΔϏοάσʔλ ج൫ʹͱͬͯࢧ഑త – தԝ͔Β੍ޚ͠΍͍͢ – #JH2VFSZͷ಺෦ߏ଄ͳͲ͔Β΋ɺͦͷํ޲ ੑ͕֞ؒݟ͑Δ ͜Ε͔ΒϏοάσʔλج൫΋ί ϯςφ*NNVUBCMFʙ͔Β ͷӨڹΛڧ͘ड͚Δ

Slide 50

Slide 50 text

·ͱΊ •  ʮΫϥ΢υΠϯϑϥ͸ίϯςφܕ΁ʯͱ͍͏େ ͖ͳస׵఺ –  ։ൃϓϩηε8FCγεςϜΞʔΩςΫνϟʹӨڹΛ ༩͑\Δ ͨ^݁Ռ͕*NNVUBCMF*OGSBTUSVDUVSF –  Ϗοάσʔλج൫ͷΞʔΩςΫνϟʹ΋ӨڹΛ༩͑Δ •  ଞɺ8FC෼ࢄγεςϜશൠʹӨڹΛ༩͑ΔτϨ ϯυ ͱݸਓతʹ༧૝͍ͯ͠·͢ɻ