Slide 1

Slide 1 text

CFJOHIFBMUIZEFWBOEPQT ໎ͬͨΒ݈શͳํ dΫοΫύουͷ%FWͱ0QTd ੒ాҰੜ

Slide 2

Slide 2 text

"CPVUNF

Slide 3

Slide 3 text

੒ా Ұੜ ͳΔͨ ͍͍ͬͤ @mirakui photo by sora_h VP Infrastructure at Cookpad Inc. Ϡϑʔ৽ଔೖࣾ ϝʔϧαʔϏεͷόοΫΤϯυ։ൃ ΫοΫύουೖࣾ αʔϏε։ൃΤϯδχΞͱͯ͠ೖࣾޙɺ ։ൃج൫νʔϜΛܦͯΠϯϑϥνʔϜʹ

Slide 4

Slide 4 text

"CPVU$PPLQBE

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

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

0VS1IBTF

Slide 15

Slide 15 text

2013೥݄̐ظ ܾࢉઆ໌ձࢿྉ ΑΓ https://info.cookpad.com/wp-content/uploads/13.4_s.pdf

Slide 16

Slide 16 text

ྺ࢙

Slide 17

Slide 17 text

1997 ૑ۀ 2008 Coldfusion → Ruby on Rails ΁Ҡߦ 2013 2009 2010 2011 2012 ݱࡏ 2007 2002 2003 2004 2005 2006 2001 2000 1999 1998 ౦ূϚβʔζ্৔ ੒ా JOIN ౦ূҰ෦΁্৔มߋ ΤϯδχΞͷਓ਺: 3 10~20 ໿60 1

Slide 18

Slide 18 text

ਓ ਓ͕։ൃ΋ӡ༻΋શ෦΍Δ ਓ ͏ͪdਓ͕։ൃͭͭ͠ӡ༻ ਓ ਺ਓن໛ͷӡ༻νʔϜొ৔ ਓ ӡ༻νʔϜͷ֦େɾઐ໳ผͷࡉ෼Խ ΤϯδχΞͷن໛ ͜ͷ͋ͨΓͰ JOIN ͍·͜͜

Slide 19

Slide 19 text

αʔϏε։ൃܥΤϯδχΞ (໿40ਓ) ٕज़෦ΤϯδχΞ (12ਓ) Πϯϑϥ෦ ΤϯδχΞ (5ਓ) 2013 %FW 0QT %FW

Slide 20

Slide 20 text

ࠓ೔ͷ࿩ • ૊৫͕େ͖͘ͳ͖ͬͯͨ • Dev ͱ Ops ͷؔ܎͸ Ͳ͏ͳ͍ͬͯ͘ͷ͔ʁ DevOps Dev Ops

Slide 21

Slide 21 text

σϓϩΠ

Slide 22

Slide 22 text

σϓϩΠ 5~10 deploy / day

Slide 23

Slide 23 text

σϓϩΠϧʔϧʢҰ෦ʣ • CI Λύεͨ͠ϦϏδϣϯͷΈ σϓϩΠͯ͠Α͍ • σϓϩΠ͸ίʔυΛ push ͨ͠։ൃऀࣗ਎͕ ߦ͏ • Ӧۀ࣌ؒ಺ͷΈσϓϩΠՄೳ • σϓϩΠޙ͸։ൃऀ͕ಈ࡞֬ೝ͠ɺ ෆ۩߹Λݟ͚ͭͨΒ͙͢ʹϩʔϧόοΫ͢Δ

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

ࣦഊ

Slide 26

Slide 26 text

ϦϦʔε೔͕ࠓ೔ͩͬͨ • DevʮϦϦʔεࠓ೔Ͱ͢ʯ • Opsʮʂʁʯ

Slide 27

Slide 27 text

ϦϦʔεલͷ0QTͷ࡞ۀ • ຊ൪αʔόηοτΞοϓ • ؂ࢹઃఆ • ΩϟύγςΟଌఆ • ৑௕Խ • ͳͲͳͲ…

Slide 28

Slide 28 text

%FWͷࣄ৘ • ιʔείʔυ͸ ϦϦʔε௚લ·Ͱ fix ͠ͳ͍ • ʮϦϦʔε೔ʯ͸ॏཁ • Dev ͕σϓϩΠՄೳ ʹʢٕज़తʹ͸ʣউखʹϦϦʔεՄೳ • ඇެ։→Ϣʔβݶఆެ։→શମެ։

Slide 29

Slide 29 text

developing setup servers SFMFBTF ✔source code fix ✔ fixtures fix Dev Ops

Slide 30

Slide 30 text

ຊ࣭తͳ໰୊ Dev - Ops ؒίϛϡχέʔγϣϯ

Slide 31

Slide 31 text

Ͳ͏͢Δ͔ʁ • ϦϦʔε೔ͷܾఆʹ Ops ͷঝೝ͕ ඞཁͳϧʔϧʹ͢Δʁ • Opsʮιʔείʔυ fix ͔ͯ͠Β ϦϦʔε·Ͱʹ3Ӧۀ೔ඞཁͰ͢ʯʁʁ

Slide 32

Slide 32 text

ݖҖతʹͳΒͳ͍

Slide 33

Slide 33 text

ঝೝϑϩʔͷ૿Ճ • ݸਓͷΦʔφʔγοϓ͕ݮਰ ࢓ࣄָ͕͘͠ͳ͘ͳΔ • ঝೝΛ௨͢ςΫχοΫ΍੓࣏͕ൃੜ • ίϛϡχέʔγϣϯͰղܾͰ͖Δ෦෼͸ ΪϦΪϦ·Ͱͦ͏͢Δ΂͖

Slide 34

Slide 34 text

ϓϩμΫτͷϦϦʔεΛ 0QT͕ࢭΊͳ͍

Slide 35

Slide 35 text

developing setup servers SFMFBTF ✔source code fix ✔ fixtures fix Dev Ops #"%

Slide 36

Slide 36 text

developing setup servers SFMFBTF ✔source code fix ✔ fixtures fix Dev Ops DPNNVOJDBUJPO (00%

Slide 37

Slide 37 text

׬ᘳ͞Λ௥ٻ͠ͳ͍

Slide 38

Slide 38 text

0QT͕׬ᘳ͞ΛٻΊΔͱʜ • ϦϦʔεલʹɺ׬શʹpY͞Εͨ ιʔείʔυͰΩϟύγςΟܭଌ͍ͨ͠ • ύϑΥʔϚϯεʹ໰୊ͷ͋ΔίʔυΛ Ұ੾ڐͨ͘͠ͳ͍

Slide 39

Slide 39 text

Dev Ops $PSQPSBUJPO Customers

Slide 40

Slide 40 text

%FWͱ͔0QTͱ͔ͷલʹ ૊৫΍ސ٬ʢϢʔβʔʣʹͱͬͯ ༗ӹͳ൑அ͔Ͳ͏͔େࣄ

Slide 41

Slide 41 text

ٻΊΔ΂͖͸ ʮ׬ᘳ͞ʯͰ͸ͳ͘ʮ݈શ͞ʯ

Slide 42

Slide 42 text

݈શ͞ͷͨΊʹ ࣌ʹ͸ Ops ʹͱͬͯෆརӹͳબ୒Λڐ͢ ➡ ૉ੖Β͍͠ΞʔΩςΫνϟ vs ϦϦʔε೔ ➡ αʔό૿΍ͯ͠ղܾ vs ίετ ➡ ΦϖϨʔγϣϯ׬શࣗಈԽ vs ਓ݅අ

Slide 43

Slide 43 text

/PU׬ᘳCVU݈શ ϦϦʔεલɺ׬શʹ fix ͞Εͨ ιʔείʔυͰΩϟύγςΟܭଌ͍ͨ͠ ➡ ։ൃॳظ͔ΒύϑΥʔϚϯεʹ͍ͭͯ࿩͠߹͏ ➡ ΩϟύγςΟܭଌ͢Δͷʹे෼ͳ ϨϕϧͷίʔυΛૣΊʹग़ͯ͠΋Β͏ Α͏ʹίϛϡχέʔγϣϯ

Slide 44

Slide 44 text

/PU׬ᘳCVU݈શ ύϑΥʔϚϯεʹ໰୊ͷ͋ΔίʔυΛ Ұ੾ڐͨ͘͠ͳ͍ ➡ αʔό૿΍ͯ͠ղܾ͢ΔͳΒ ͦΕͰ͍͍৔߹΋͋ΔͷͰ͸ʁ Ϣʔβ/૊৫ʹརӹ͕͋Δํ͸ʁ

Slide 45

Slide 45 text

าΈدΓͷͨΊʹ

Slide 46

Slide 46 text

%FWͷ͜ͱΛΑ͘ཧղ͢Δ • Ops ͕αʔϏεͷ࠷৽ͷ ιʔείʔυΛ௥͏ • Dev ಉ࢜ͷٞ࿦ʹࣖΛ܏͚Δ • ։ൃͷॳظ͔ΒྠʹೖΕͯ΋Β͏

Slide 47

Slide 47 text

0QTʹٻΊΒΕΔ΋ͷ αʔόͰಈ͍͍ͯΔ΋ͷΛ ιʔείʔυϨϕϧͰཧղ͢Δ ➡ ϛυϧ΢ΣΞ ➡ ΞϓϦέʔγϣϯ

Slide 48

Slide 48 text

%FWʹٻΊΔ΋ͷ • αʔόαΠυͷηϯε • ͦͷίʔυʹେྔͷτϥϑΟοΫ͕ དྷͨΒͲ͏ͳΔ͔ • ΩϟογϡͳͲ

Slide 49

Slide 49 text

ྫύϑΥʔϚϯε͕ग़ͳ͍ × Ops ͕໧ͬͯνϡʔχϯά ○ Dev ͱ Ops Ұॹʹ௚͍ͯ͘͠

Slide 50

Slide 50 text

ύϑΥʔϚϯεʹӨڹ͕ग़ͦ͏ͳίʔυ ඞͣ pull-request Ͱ mention ͯ͠΋Β͏ ͱ͍͏ϧʔϧ

Slide 51

Slide 51 text

0QT΋αʔϏεͷίʔυʹ QVMMSFRVFTUΛग़͢

Slide 52

Slide 52 text

ΘΓͱͰ͖͍ͯΔ͜ͱ Ops → Dev ͷཧղ ➡ ݩ Dev ͕ Ops Λ཰͍͍ͯΔ ➡ Ops ͕શһίʔυಡΈॻ͖Ͱ͖Δ ➡ Dev ΁ͷޱग़͠ ιʔείʔυϨϕϧͰͷͭͬ͜Έ

Slide 53

Slide 53 text

No content

Slide 54

Slide 54 text

ࠓޙͷ՝୊

Slide 55

Slide 55 text

૊৫͕͞ΒʹڊେʹͳΔͱ ΤϯδχΞݸਓ͕ࣗ෼Ͱ ҙࢥܾఆ͢Δػձ͕গͳ͘ͳ͍ͬͯ͘ʁ ➡ ਓ͕૿͑Δͱࣗ෼ΑΓ্ͷࢹ఺Λ ࣋ͪʹ͘͘ͳΔ ➡ ϧʔϧ΍ϑϩʔΛ৴ͯٙ͡Θͳ͍ঢ়ଶʹؕΓ΍͍͢ ➡ ݱ৔ͷࡋྔΛҡ࣋Ͱ͖Δ͔͕伴

Slide 56

Slide 56 text

͓ΘΓʹ

Slide 57

Slide 57 text

ϕϯνϟʔاۀͷ%FW0QT • ͸͡Ί͸ΈΜͳ DevOps • ૊৫͕֦େ͢ΔͱɺͦΕ·Ͱ౰ͨΓલ ͩͬͨ͜ͱ͕΍Γʹ͘͘ͳΔ • Dev ͱOps ͕཭Ε͍ͯ͘ͷΛ Ͳ͜·Ͱ৯͍ࢭΊΒΕΔ͔ • 伴͸ʮ݈શͳํΛબ୒͠ଓ͚Δ͜ͱʯ • Dev Ops ؒͷ݈શ͞ʹ૊৫ͷ݈શ͞

Slide 58

Slide 58 text

໎ͬͨΒ݈શͳํ • ׬ᘳ͞Ͱ͸ͳ݈͘શ͞ • τϨʔυΦϑʹͿ͔ͭͬͨΒ ʮ͜ͷબ୒͸݈શͩΖ͏͔ʁʯ ͱࣗ෼ʹ໰͍͔͚Δ • ࣌ʹ͸టष͍ํ๏ΛબͿ • ࣗ෼ͷཱ৔ʹͱͬͯͷ౎߹ͷΑ͞Ͱ͸ͳ͘ɺ શମʹͱ݈ͬͯશͳํΛબͿ

Slide 59

Slide 59 text

13

Slide 60

Slide 60 text

8F`SFIJSJOH https://info.cookpad.com/jobs/ [en, ja]

Slide 61

Slide 61 text

5IBOLZPVGPSMJTUFOJOH