Slide 1

Slide 1 text

8FCαʔϏε։ൃτϨϯυͷ มભͱݱࡏ /BPZB*UP ,"*;&/QMBUGPSN*OD )BDLFST$IBNQMPP

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

ԭೄͷΈͳ͞Μ͜Μʹͪ͸

Slide 9

Slide 9 text

ΞδΣϯμ •  ೥͘Β͍ͷ8FC։ൃΛৼΓฦΔ •  ࡢࠓͷ8FCαʔϏε։ൃϓϩηε •  ߟ࡯

Slide 10

Slide 10 text

͜ͷ೥ͷ8FC։ൃͷมભ

Slide 11

Slide 11 text

ΤϙοΫϝΠΩϯάͩͬͨࣄ •  +&& •  ΞδϟΠϧ։ൃ •  044 •  -".1 •  3BJMT"KBY •  εϚʔτϑΥϯ •  Ϋϥ΢υ •  Ϗοάσʔλ •  (JU)VC ೥ࠒ ೥୅த൫ Ҏ߱

Slide 12

Slide 12 text

ͬ͘͟Γ෼͚Δͱ •  ೥લޙ –  +&&ɺΞδϟΠϧ։ൃ •  ೥୅த൫ –  044ɺ-".1ɺ3BJMT"KBY •  Ҏ߱ –  εϚʔτϑΥϯ –  Ϋϥ΢υɺϏοάσʔλ –  (JU)VC

Slide 13

Slide 13 text

ࣗ෼ͷλΠϜϥΠϯͱॏͶΔ •  ೥લޙ –  +&&ɺΞδϟΠϧ։ൃ •  ೥୅த൫ –  044ɺ-".1ɺ3BJMT"KBY •  Ҏ߱ –  εϚʔτϑΥϯ –  Ϋϥ΢υɺϏοάσʔλ –  (JU)VC χϑςΟ ʙ ͸ͯͳ ʙ (3&& ʙ ,"*;&/QMBUGPSN*OD ʙ

Slide 14

Slide 14 text

೥લޙ •  +&&ɺΞδϟΠϧ։ൃ –  4USVUTɺ91 •  ʮ8FCΞϓϦέʔγϣϯʯͱ͍͏֓೦͕ఆண͠ ͨ •  ΤϯλʔϓϥΠζͰੜ·Εͨ։ൃख๏ɾιϑτ ΢ΣΞ͕ίϯγϡʔϚ։ൃʹ –  4PMBSJTɺ0SBDMFɺ+BWBɺ/FUTDBQF&OUFSQSJTF 4FSWFS ࣮ࡍʹۀ຿Ͱ࢖ͬͯ·ͨ͠

Slide 15

Slide 15 text

౰࣌ͷงғؾ •  ݸਓ͕ద౰ʹॻ͍ͨεΫϦϓτͰ͸μϝ •  Ұํɺ+&&΍ΤϯλʔϓϥΠζख๏͸ɺ΍ͬ ͯΈΔͱ8FCʹ͸ॏ͍ •  ঃʑʹεΫϦϓτݴޠ 1FSM 1)1 Ͱͷ8FC ։ൃ΍ɺΞδϟΠϧ։ൃ͕੝Γ্͕Γ࢝ΊΔ ʮ1FSM͸+BWBΑΓ஗͍͔ Βμϝʯͱ՝௕ʹݴΘΕ ͨͷ΋ࠓͰ͸Α͍ࢥ͍ग़ Ͱ͢

Slide 16

Slide 16 text

(PPHMFͷ୆಄ ςΫϊϩδʔ͕ۀքΛݗ Ҿ͢Δɺͱ͍͏ைྲྀ

Slide 17

Slide 17 text

೥୅த൫ •  044ɺ-".1 – εΫϦϓτݴޠͰ։ൃ͢ΔࣄʹҟΛএ͑Δਓ ͸͍ͳ͘ͳͬͨ – -JOVYɺ.Z42-ͳͲ͕࣮༻తͳ඼࣭ʹ •  Χʔωϧ΍.Z42-ͷϨϓϦέʔγϣϯػ ೳ

Slide 18

Slide 18 text

౰࣌ͷงғؾ •  8FCΞϓϦέʔγϣϯ͸ɺ΋ͬͱΧδϡΞϧʹ࡞ΕΔ ͸ͣ –  -".1΍044ʹ৐͔ͬΓɺݸਓ΍খ͞ͳूஂ͕8FCαʔϏ εΛੜΈग़࣌͢୅ʹ –  ˠ8FC –  ։ൃϓϩηε΋ɺͦΕʹ߹ΘͤͯϥΠτ΢ΣΠτʹ ͸ͯͳɺͱ͍͏ͷ͸·͞ ʹͦΕΛମݱͨ͠Α͏ͳ ूஂͰͨ͠

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

8FC •  (PPHMFͷϋοΧʔΧϧνϟʔ •  044΍-".1ʹΑͬͯɺΤϯύϫʔϝϯτ͞Εͨݸਓ ΍খ͞ͳूஂ •  ͦ͏͍͏த͔Βग़͖ͯͨ৽͍͠8FCاۀ

Slide 21

Slide 21 text

3BJMTͱ"KBY •  ͦͷޙͷ8FCΞϓϦέʔγϣϯ։ൃͷ ํ޲ੑΛܾఆ͚ͮͨͭͷτϨϯυ – 8FC͸จࣈ௨ΓʮΞϓϦέʔγϣϯʯʹͳ Δ – ෳࡶͳ͜ͱΛ؆୯ʹˠ8FCΞϓϦέʔγϣ ϯ͕ߴ౓Խ͍ͯ͘͠ͱ͍͏લஹ

Slide 22

Slide 22 text

h"p://www.slideshare.net/yohei/webapi-­‐36871915

Slide 23

Slide 23 text

Ҏ߱ •  Ϋϥ΢υɺϏοάσʔλɺ(JU)VC –  *5ͷத৺ͱͳͬͨ8FC •  5IFDPOTVNFSJ[BUJPOPG*5ᴷίϯγϡʔϚ͔ΒΤϯ λʔϓϥΠζ΁ɻߏ଄ͷٯస –  Ϋϥ΢υ *BB41BB4 ŋŋŋෳࡶԽ͍ͯ͘͠8FCΞ ϓϦέʔγϣϯ։ൃͷ෦඼ΛʮαʔϏεʯʹ –  খ͞ͳूஂͰ΋ߴ౓ͳΞϓϦέʔγϣϯɻେ͖ͳूஂ ͸ΑΓෳࡶ׌ͭߴ౓ͳγεςϜ ଓ͚ͯɺ͜ͷลΛΈ ͍͖ͯ·͢

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

(JU)VCͱΫϥ΢υͷ࣌୅ ΠϚίί

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

8FC։ൃͷӈཌྷɾࠨཌྷ •  ϥΠτ΢Οϯά – ܧଓతΠϯςάϨʔγϣϯɺܧଓతσϦό ϦʔɺςετࣗಈԽFUD •  Ϩϑτ΢Οϯά – εΫϥϜɺேձɺࣗݾ૊৫ԽFUD cf.  h"p://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-­‐and-­‐leDwing-­‐of-­‐agile.html

Slide 30

Slide 30 text

։ൃϓϩηε •  ϥΠτ΢Οϯά ٕज़తϓϥΫςΟε –  (JU)VCɺίʔυϨϏϡʔ –  ܧଓతΠϯςάϨʔγϣϯσϦόϦʔ –  $IBU0QT –  Ϋϥ΢υͷ׆༻ •  Ϩϑτ΢Οϯά νʔϜ؀ڥ –  ϦϞʔτϫʔΫ –  ேձɺ,15 –  2JJUB5FBNʹΑΔ৘ใڞ༗ –  ࣗݾ૊৫Խ ओʹͬͪ͜ͷ࿩Λ͠ ·͢

Slide 31

Slide 31 text

(JU)VC •  (JUSFQPTJUPSZIPTUJOHˠ4PDJBM $PEJOH – (JUͷͨΊͷதԝϨϙδτϦݟ͑ΔԽ – ίϛϡχέʔγϣϯ 044։ൃͳͲʹ࢖͏ɺ͔ Βɺ͜ͷʙ೥Ͱʮا ۀ಺Ͱ΋࢖͏ʯ΁

Slide 32

Slide 32 text

(JU)VCͰϓϧϦΫ։ൃ ͢΂ͯͷมߋ͸1VMM 3FRVFTUͰ

Slide 33

Slide 33 text

ϓϧϦΫ։ൃͷ࣮ࡍ •  Ұߦͷมߋ΋ϓϧϦΫͰ – Ϛʔδૢ࡞ʹϫʔΫϑϩʔ͕ඥ෇͍ͯΔ͔Β ޙड़ – Ұߦͷมߋɺͱ͔ͷ࣌΄Ͳো֐͕͓͖΍͍͢ $PPLQBEஊ

Slide 34

Slide 34 text

ʮ(JU)VC্Ͱ࿩͢ʯͷ ͕Α͍࡞๏ ձ࿩ͷݟ͑ ΔԽ ίʔυϨϏϡʔ

Slide 35

Slide 35 text

ίʔυϨϏϡϫʔͷࣗಈΞαΠϯ

Slide 36

Slide 36 text

8*1 8PSL*O1SPHSFTT ʮऴΘ͔ͬͯΒ1VMM 3FRVFTUʯͰ͸ͳ͘ ʮ࢝ΊΔͱ͖ʹ1VMM 3FRVFTUʯ

Slide 37

Slide 37 text

ܧଓతΠϯςάϨʔγϣϯ $JSDMF$*

Slide 38

Slide 38 text

1VMM3FRVFTUͱ$* •  มߋͷͨͼʹςετ •  ςετ݁Ռ͸1VMM3FRVFTU্ͰՄࢹԽ

Slide 39

Slide 39 text

Ϛʔδͨ͠ΒσϓϩΠ •  $JSDMF$*ͰσϓϩΠ –  ಛఆͷϒϥϯνʹมߋ͕͋ͬͨΒσϓϩΠ –  1VMM3FRVFTUΛϚʔδ͢ΔσϓϩΠ͢Δ    production:          branch:  deployment/production          commands:              -­‐  ./script/assets_precompile.sh:              -­‐  bundle  exec  cap  production  deploy:migrations:      qa:          branch:  deployment/qa          commands:              -­‐  ./script/assets_precompile.sh:              -­‐  bundle  exec  cap  qa  deploy:migrations:  

Slide 40

Slide 40 text

ܧଓతσϦόϦʔ master deployment/ edge deployment/ qa มߋ͸NBTUFS ΁QVMMSFRVFTU NFSHFͨ͠ ΒࣗಈͰ FEHF΁ɻ (開発環境) ຊ൪ϦϦʔε͸ NBTUFS͔ΒRB΁ QVMMSFRVFTU RB΁NFSHF͞ ΕΔͱ2"؀ڥ΁ࣗ ಈσϓϩΠ FEHF΁QVTI ͞ΕΔͱ։ൃػ΁ ࣗಈσϓϩΠ deployment/ production 2"ऴΘͬͨ ΒQSPEVDUJPO ΁ಉ༷ʹ

Slide 41

Slide 41 text

1VMM3FRVFTUσϓϩΠ •  σϓϩΠλεΫ͸1VMM3FRVFTUͰ࣮ߦ –  σϓϩΠͷݟ͑ΔԽ –  NFSHFϘλϯΛԡ͢ͱ$JSDMF$*ܦ༝ͰσϓϩΠ͕૸Δ

Slide 42

Slide 42 text

͜Εԡ͢ɻҎ্ ݁ՌɺσϓϩΠͷํ๏

Slide 43

Slide 43 text

$IBU0QT •  IVCPU •  CPUʹ͓ئ͍ͯ͠ΦϖϨʔγϣϯ

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

ϦϦʔε࣌ͷνΣοΫϦετΛ IVCPU͕ࣗಈ࡞੒

Slide 47

Slide 47 text

࠷ۙ͸CPU͕CPUΛಈ͔ͯ͠Δ ʮ͓લͷมߋؒ΋ͳ͘Ͱ Δ͔Β࠷ऴ֬ೝ͠ΖΑʯ ͱ͍͏ͷ΋IVCPU͕ఆظ తʹݺͼ͔͚ͯ͘Δ CPU͕IVCPUʹ ໋ྩΛग़͢

Slide 48

Slide 48 text

(JU)VCͰมΘͬͨ͜ͱ •  044։ൃͷΑ͏ͳ΍ΓํΛɺاۀ΍νʔ Ϝ։ൃʹ΋ ͦ͏͍͑͹(PPHMF͕ɺͦ Μͳ΍ΓํΛͯ͠Δͱ͍ͣ ͿΜલʹݴͬͯͨ

Slide 49

Slide 49 text

(JU)VCͰมΘͬͨ͜ͱ •  1VMM3FRVFTUʹϫʔΫϑϩʔΛू໿͞ ͤΔɺͱ͍͏ߟ͑ํ – ίʔυϨϏϡʔɺςετɺ2"ɺσϓϩΠŋŋŋ – ؔ࿈λεΫ͕ɺͭͷ1VMM3FRVFTUͷจ຺ Ͱ·ͱΊΒΕΔ ʮ˓˓ͱ͍͏ػೳΛ௥Ճ͢ΔͨΊ ʹߦΘΕͨίϛοτ܈ɺσΟε ΧογϣϯɺϨϏϡʔ݁Ռɺςɹ ετͷཤྺŋŋŋʯͰҰͭͷ1VMM 3FRVFTU

Slide 50

Slide 50 text

Ϋϥ΢υαʔϏεͷ࣌୅ •  ࣗ෼ͨͪͷϑΥʔΧεͰͳ͍ͱ͜Ζ͸ɺ ੵۃతʹΫϥ΢υ΁Ξ΢τιʔε

Slide 51

Slide 51 text

"84 QMBO#$%ͷαʔόʔΠ ϯϑϥ͸શͯ"84Ͱ

Slide 52

Slide 52 text

)FSPLV •  IVCPU΍QMBO#$%ͷαϒγεςϜͷӡ ༻ʹར༻

Slide 53

Slide 53 text

$JSDMF$* $JBTB4FSWJDF ςετ࣮ߦ͚ͩͰͳ͘ɺ σϓϩΠͳͲ(JU)VC ϫʔΫϑϩʔͷ΋͏ͻͱ ͭͷཁʹͳ͍ͬͯ·͢

Slide 54

Slide 54 text

$BTQFS+4Ͱ&&

Slide 55

Slide 55 text

&&Λ$JSDMF$*Ͱ

Slide 56

Slide 56 text

4USJQF ܾࡁ

Slide 57

Slide 57 text

.BOESJMM ϝʔϧૹ৴

Slide 58

Slide 58 text

#VHTOBH ྫ֎؅ཧ

Slide 59

Slide 59 text

#SPXTFS4UBDL Ϋϩεϒϥ΢βςετ

Slide 60

Slide 60 text

IVCPUͰΫϩεϒϥ΢βͷ εΫγϣࡱӨ

Slide 61

Slide 61 text

.BDLFSFM ϞχλϦϯά

Slide 62

Slide 62 text

/FX3FMJD ϞχλϦϯάͱ؂ࢹ

Slide 63

Slide 63 text

1BHFS%VUZ Ξϥʔτ TFOTV͕ҟৗΛݕ஌͢ Δͱ1BHFS%VUZ͕ࣗ ಈͰ୲౰ʹ ి࿩

Slide 64

Slide 64 text

#JH2VFSZ σʔλղੳ ԯϨίʔυΛ਺ඵͰ 42- .11

Slide 65

Slide 65 text

%FWFMPQFS1SPEVDUJWJUZ •  2ʮ͜ͷखͷಋೖͷۀ຿࣌ؒͲ͏΍ͬͯ࡞ΔΜͰ͔͢ ʯ •  "ʮͦΕΛϛογϣϯʹͯ͠ΔνʔϜ͕͋Γ·͢ʯ ଞࣾͰ΋ࣅͨΑ͏ͳ࿩Λ ͱ͖Ͳ͖ฉ͘

Slide 66

Slide 66 text

ࢥͬͨ͜ͱ

Slide 67

Slide 67 text

8FCͷਐԽ͸ࢭ·Βͳ͍ •  ೥ؒɺԿ౓΋͜ΕͰܾఆ൛͔ͱࢥͬͨ ͜ͱ͕͋ͬͨ – ࣮ࡍ͸ɺͦ͜Ͱࢭ·Δ͜ͱ͸ͳ͔ͬͨ •  (PPHMFɺ'BDFCPPLɺ5XJUUFS •  3BJMTɺ/PEFKTɺJ04"OESPJEɺ(PMBOH •  ͲΜͲΜߴ౓ԽɾෳࡶԽ͢Δ8FCΞϓϦέʔγϣ ϯεϚʔτϑΥϯ։ൃ ͍ͭ·Ͱཱͬͯ΋མͪ ண͔ͳ͍

Slide 68

Slide 68 text

ະདྷ༧ଌ͸೉͍͠ •  (JU)VC͕ɺΫϥ΢υ͕ɺΈ͍ͨͳ௚͙ۙΒ͍ ͸͋Δఔ౓ݟ͑Δ •  େ͖ͳมԽ͸ಥવ΍ͬͯ͘Δɻ༧ଌͰ͖ͳ͍ –  3VCZPO3BJMTͷϦϦʔεɺ"84ɺ(JU)VCͷا ۀ಺Ͱͷར༻ŋŋŋFUD –  όζϫʔυͱݴΘΕ͍ͯͨ΋ͷ΋ɺؾͮ͘ͱఆணͨ͠ Γ͢Δ ྫΫϥ΢υɺϏοάσʔλ

Slide 69

Slide 69 text

ະདྷ༧ଌΑΓɺมԽ΁ͷదԠ •  มԽ͢Δ͜ͱΛલఏʹɺదԠ͠ଓ͚Δ͔͠ͳ͍ –  ܧଓతʹ –  ΞδϦςΟͷ޲্ •  ໘ന͍͜ͱ͕ىͬͨ͜ͱ͖ɺͬ͞ͱඈͼ͔͔Ε Δ͔Ͳ͏͔ –  ݸਓతʹ΋ɺνʔϜతʹ΋ –  จԽॏཁ

Slide 70

Slide 70 text

อकతPSਐาత ೉͍͠ŋŋŋ •  ผʹɺ৽͍͜͠ͱ͕ॏཁͳͷͰ͸ͳ͍ –  ྡͷࣳ͸ৗʹ੨͍ –  ྲྀߦΛऔΓೖΕΔ͜ͱ͕ඞͣ͠΋ਖ਼ղͱ͸ݴ͑ͳ͍ •  ݴޠΛ৐Γ׵͑ͨΒ࣍ͷݴޠ͕དྷͨɺͱ͔ɻӬٱʹϑΥʔΧεͰ͖ ͳ͍ •  อकత͗ͯ͢΋औΓ࢒͞ΕΔ –  ʮखஈͱ໨తΛཤ͖ҧ͑Δͳʯ͓͡͞Μ –  खஈΛ໨తԽͯ͠Ͱ΋৐͔ͬͬͨํ͕݁Ռతʹྑ͍͜ͱ΋͋Δ

Slide 71

Slide 71 text

ͳͥখ͞ͳνʔϜ͕༗ར͔ খ͞ͳνʔϜ͸มԽ΁ ͷ఍߅ྗ͕খ͍͞

Slide 72

Slide 72 text

اۀ͸੒௕͢΂͖͔ •  Α͘Θ͔Βͳ͍ – ιϑτ΢ΣΞ։ൃʹ͓͍ͯ͸ େہతʹ͸ খ ͞ͳνʔϜͷํ͕༗ར – (PPHMF΍'BDFCPPLͷΑ͏ͳ)BDLFS 8BZ͕εέʔϧ͢Δ૊৫ͷͨΊͷཁૉɺ͔ ΋ •  େ͖͘ͳͬͯ΋յͤΔจԽ •  ϗϥΫϥγʔ

Slide 73

Slide 73 text

݁࿦͸ŋŋŋͳ͠ •  ͳͥͳΒɺ͜Ε͔Β΋มԽ͠ଓ͚Δ͔Β •  େࣄʹ͍ͯ͠Δ͜ͱ – ʮͦͷ࣌ͦͷ࣌Ͱɺೲಘͯ͠΍Ε͍ͯΔ͔ʯ •  ࠓࣗ෼͕΍͍ͬͯΔ͜ͱ͕ɺେ࿮Ͱ͸ؒҧ͍ͬͯ ͳ͍ͱࢥ͑Δ͜ͱ •  ೲಘͰ͖͍ͯΕ͹ɺ޾ͤʹ։ൃͰ͖ΔɻೲಘͰ͖ ͳ͍ͳΒյ͢

Slide 74

Slide 74 text

·ͱΊ •  8FC։ൃͷ೥ͱࠓΛΈͨ •  (JU)VCɺΫϥ΢υͷ࣌୅ •  ͜Ε͔Β΋8FC։ൃ͸8FCͱڞʹมԽ͠ ଓ͚Δ •  มԽʹదԠ •  ೲಘ͸ތΓ

Slide 75

Slide 75 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ण࢘Ώ͖CZBXBZVLJ $$#:/$/%