Slide 1

Slide 1 text

ΠϯϑϥΤϯδχΞͱ ΞϓϦ։ൃ גࣜձࣾΈΜͳͷ΢ΣσΟϯά Πϯϑϥάϧʔϓ ԣࢁ ୡஉ

Slide 2

Slide 2 text

ࣗݾ঺հ • ԣࢁୡஉ(@Yokoyama_tto) • ΈΜͳͷ΢ΣσΟϯάʹೖࣾͯͪ͠ΐ͏Ͳ1೥ • લ৬͸SIerͷαϙʔτσεΫ(2014/04~2016/08) • झຯɿόϯυɺεϊʔϘʔυ

Slide 3

Slide 3 text

1೥લͷࢲ

Slide 4

Slide 4 text

1೥લͷࢲ • ࣗࣾαʔϏεॳΊͯ • RailsॳΊͯ • ԿΛ࣭໰͢Δ΂͖͔΋Θ͔Βͳ͍ • AWSʹ͍ͭͯ͸ͪΐͬͱ஌ͬͯΔ

Slide 5

Slide 5 text

ΠϯϑϥΤϯδχΞͷ࢓ࣄ

Slide 6

Slide 6 text

ΠϯϑϥΤϯδχΞͷ࢓ࣄ(ੲ) • ωοτϫʔΫߏங • αʔόߏங • ߏஙͨ͠γεςϜͷӡ༻ɾ؂ࢹ

Slide 7

Slide 7 text

• ຊ൪ɺ։ൃ؀ڥͷߏ੒؅ཧ • ϩάऩूɺ෼ੳ ΠϯϑϥΤϯδχΞͷ࢓ࣄ(ࠓ)

Slide 8

Slide 8 text

ฐࣾͷ৔߹

Slide 9

Slide 9 text

͍Ζ͍Ζ΍Δ • جຊ͸Πϯϑϥج൫ͷվળ׆ಈ • mobasif(چ)͔ΒRails(৽)΁ͷҠߦظؒ • چΞʔΩςΫνϟ͔Βͷ୤٫΋࢓ࣄͷ͏ͪ • σʔλ෼ੳج൫ӡ༻(fluentdɺRedShift) • CI࣮ݱͷͨΊͷج൫ߏஙӡ༻(ChatBot,CircleCI,CodeDeploy)

Slide 10

Slide 10 text

mobasif • DeNAͰ࢖ΘΕ͍ͯͨΨϥέʔରԠͷϑϨʔϜϫʔΫ • 3ΩϟϦΞͦΕͧΕͷҟͳΔϒϥ΢β࢓༷ʹ߹ΘͤΒΕΔ • PerlͰॻ͔Ε͍ͯΔ • ݟ௨͠ͷྑ͍ബ͍ϑϨʔϜϫʔΫ • ฐࣾ͸΋ͱ΋ͱDeNAͷࣾ಺ϓϩδΣΫτͩͬͨͷͰར༻

Slide 11

Slide 11 text

৺͕͚͍ͯΔ͜ͱ • ಥൃతͳґཔɾτϥϒϧ͕ଟ͍ɻ • ৗʹ͋Δఔ౓ͷόοϑΝʔΛ࣋ͬͯ࢓ࣄ͢Δɻ • ΞϓϦέʔγϣϯΤϯδχΞʹ૬ஊ͞ΕͨΒɺΠϯϑ ϥΤϯδχΞͱͯ͠΍ΓํͷےಓΛ఻͑Δɻ(AWSͷ ͜ΜͳαʔϏε࢖͏ͱΑͦ͞͏ͱ͔) • ͦͷͨΊʹ΋ৗʹ৘ใऩू

Slide 12

Slide 12 text

ΠϯϑϥΤϯδχΞͷ೰Έ

Slide 13

Slide 13 text

ΠϯϑϥΤϯδχΞͷ೰Έ • ໨ʹݟ͑ΔܗͰαʔϏεʹӨڹ͢Δ͜ͱ͕ͳ͍ • ͳʹ΍͍ͬͯΔ͔ཧղ͞Ε͍ͯͳͦ͞͏ • Πϯϑϥ͸ίετηϯλʔ • ಈ͍ͯ౰ͨΓલɻࢭΊͨΒΊͬͪΌౖΒΕΔɻ

Slide 14

Slide 14 text

ͦΜͳঢ়گΛଧഁ͢ΔͨΊʹ

Slide 15

Slide 15 text

ΞϓϦଆʹ΋खΛग़͍ͯ͜͠͏

Slide 16

Slide 16 text

ΞϓϦଆʹ΋खΛग़͍ͯ͜͠͏ • ΞϓϦͷੑೳվળ(εϩʔΫΤϦղফ) • ΞʔΩςΫνϟͷվળ(σʔϞϯͷsupervisor؅ཧ) • RailsΛֶͿ(RailsνϡʔτϦΞϧ΍ͬͯΈΔ)

Slide 17

Slide 17 text

ΞϓϦͷੑೳվળ • εϩʔΫΤϦͷղফ • EXPLAIN͑͞஌Βͳ͍ঢ়گ͔Βελʔτ • ͱʹ͔͘ௐ΂ͯ৭ʑ΍ͬͯΈͨɻ • ݁Ռɺɺɺ

Slide 18

Slide 18 text

Before After ࣮ߦ͕࣌ؒ1/60

Slide 19

Slide 19 text

ΞʔΩςΫνϟͷվળ • mobasifͰ͸ࣗ࡞ͷϓϩάϥϜΛσʔϞϯԽͯ͠ ར༻ • αʔό࠶ىಈ࣌ʹࣗಈىಈ͠ͳ͍&མͪͨΒख ಈͰىಈ͠ͳ͖Ό͍͚ͳ͍ɻ • supervisorΛར༻Ͱ͖ΔΑ͏ʹվमɻsupervisor ͰσʔϞϯԽ͢ΔΑ͏ʹͨ͠ɻ

Slide 20

Slide 20 text

Supervisorͱ͸ • http://supervisord.org/ • PythonͰॻ͔Ε͍ͯΔσʔϞϯԽπʔϧ • foregroundͰಈ͍͍ͯΔඞཁ͕͋Δ • ΋ͱ΋ͱσʔϞϯԽ͞Ε͍ͯΔϓϩάϥϜͳ ͷͰforegroundͰಈ͔ͤΔΑ͏վम

Slide 21

Slide 21 text

RailsΛֶͿ • RailsνϡʔτϦΞϧ΍ͬͯΈΔ • ΞϓϦͷ࢓૊Έ͕Θ͔Δ͜ͱͰCIपΓʹ΋ख Λग़ͤΔΑ͏ʹͳͬͨ

Slide 22

Slide 22 text

Πϯϑϥ͸ΞϓϦΛֶͼ࢝Ίͨ

Slide 23

Slide 23 text

ΞϓϦ͕ΠϯϑϥΛֶͿ൪

Slide 24

Slide 24 text

Ͱ΋Ͳ͏΍ͬͯʁ

Slide 25

Slide 25 text

ΠϯϑϥΛֶͿ • ݕূ༻ʹAWSͷΞΧ΢ϯτΛ࡞੒ • ݄ͷར༻ֹۚΛઃఆ͓ͯ͘͠($500͘Β͍) • AssumeRoleΛར༻͢Δ͜ͱͰ௨ৗͷΞΧ΢ϯ τ͔ΒγʔϜϨεʹར༻Մೳ

Slide 26

Slide 26 text

·ͱΊ

Slide 27

Slide 27 text

·ͱΊ • DevͱOpsͷ૬ޓཧղ͕େ੾ɻ • ΠϯϑϥΤϯδχΞ͸ΞϓϦͷ͜ͱΛֶͿɻ • ΞϓϦέʔγϣϯΤϯδχΞ͸Πϯϑϥͷ͜ͱΛֶͿɻ • ͦͷઌʹ͋Δͷ͸SREͱ͔ϑϧελοΫΤϯδχΞͱ͔ ͳͷͰ͸ʁ • ΈΜͳӽڥ͍ͯ͜͠͏ɻ৭ʑग़དྷͨํָ͕͍͠ɻ

Slide 28

Slide 28 text

͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠