Slide 1

Slide 1 text

43&WTϥϚμϯ DIVLFOXFC

Slide 2

Slide 2 text

• ౉ลڤ೭ [Takayuki Watanabe] • takanabe • @takanabe_w • ΫοΫύουגࣜձࣾ • ΠϯϑϥετϥΫνϟʔ෦ SRE άϧʔϓ • ओʹGlobal αʔϏεͷΠϯϑϥͷ։ൃͱӡ༻Λ୲౰ ࣗݾ঺հ

Slide 3

Slide 3 text

ΫοΫύουͷάϩʔόϧల։ʹͯ SRE ͕ܦݧͨ͠ ”ϥϚμϯ”ͱ͍͏Πϕϯτ͕ΫοΫύουͷαʔϏε Πϯϑϥʹ༩͑ΔӨڹʹ͍ͭͯ ࠓ೔ͷ͓࿩

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

https://cookpad.com ࠃ಺ͷΫοΫύουͷτοϓϖʔδ

Slide 6

Slide 6 text

(MPCBMαʔϏεͷઆ໌

Slide 7

Slide 7 text

(MPCBMαʔϏεͷઆ໌ ΫοΫύουͷ Global αʔϏε
 (ҎԼ Global αʔϏε)

Slide 8

Slide 8 text

(MPCBMαʔϏεͷઆ໌ 21 ݴޠɾ67 ΧࠃҎ্Λର৅ʹ αʔϏεΛల։ https://cookpad.com/us https://cookpad.com/id ɾ ɾ ɾ

Slide 9

Slide 9 text

(MPCBMαʔϏεͷઆ໌ ੈքதͷΠϕϯτͷӨڹΛड͚Δ

Slide 10

Slide 10 text

(MPCBMαʔϏεͷઆ໌ Global αʔϏεʹͱͬͯҰେΠϕϯτ ͷҰͭʹͳ͍ͬͯΔͷ͕ɺ

Slide 11

Slide 11 text

Ramadan

Slide 12

Slide 12 text

ϥϚμϯͬͯͳʹʁ • ώδϡϥྐྵͱ͸ΠεϥϜࣾձͰ࢖ΘΕΔྺ๚ • ϥϚμϯ͸ώδϡϥྐྵʹ͓͚Δ9݄ͷ͜ͱ • அ৯ͷ͜ͱͰ͸ͳ͍ • ϥϚμϯظؒத͸ ೔ͷग़͔Β೔຅·ͰͷؒɺϜεϦϜ ͷٛ຿ͷҰͭͱͯ͠அ৯͕ߦΘΕΔ • ΠεϥϜྐྵ͸ଠӄྐྵ • ϥϚμϯ͸ଠཅྐྵ͔ΒݟΔͱຖ೥11೔΄Ͳૣ·Δ

Slide 13

Slide 13 text

ϥϚμϯظؒதͷϢʔβϦΫΤετ਺ͷมԽ

Slide 14

Slide 14 text

ظؒதͷϦΫΤετ਺ͷมԽ ϥϚμϯظؒதͷϢʔβϦΫΤετ਺ͷมԽ !!

Slide 15

Slide 15 text

ΫοΫύουʹͱͬͯͷϥϚμϯ • ϥϚμϯظؒதɺ೔຅ޙ͸ՈͰීஈΑΓྉཧΛ͢Δਓ͕૿͑Δ • ΫοΫύουΛ஌Βͳ͍ΠεϥϜݍͷਓʑ͕αʔϏεΛར༻ • ৽نϢʔβ֫ಘͷػձ • ΞΫςΟϒϢʔβ਺૿Ճ • ϨγϐͷӾཡ਺ɾ౤ߘ਺͕૿Ճ • ϓϥοτϑΥʔϜͱͯ͠ͷັྗUP • ϓϨϛΞϜαʔϏεར༻ऀͷ૿Ճ • ऩӹͷ૿Ճ

Slide 16

Slide 16 text

43&ʹͱͬͯͷϥϚμϯ • զʑ͸அ৯Λ͠ͳ͍ • Ϣʔβ͔ΒͷϦΫΤετ਺͕͋Δ೔ಥવ਺ഒʹͳΓͦΕ͕Ұϲ݄ଓ͘ • αʔόͷෛՙ૿Ճ • ීஈ૝ఆ͍ͯ͠ͳ͍ࣄ৅ͷൃੜ • ෛՙ͕֬อ͍ͯ͠ΔαʔόϦιʔεΛ৯͍ਚ͘͢ • αʔόͷϩά͕ٸ૿ͯ͠σΟεΫΛຒΊਚ͘͢ • ීஈ໰୊ͳ͍εϩʔΫΤϦͰDB͕٧·Δ • etc …

Slide 17

Slide 17 text

ීஈൃੜ͠ͳ͍αʔόΞϥʔτ͕ൃੜ͕ͪ͠

Slide 18

Slide 18 text

43&WTϥϚμϯ • ϥϚμϯΛ • Ұ෦ͷٕज़ελοΫͷೖΕସ͑ • खಈͰରԠ͍ͯͨ͠ΦϖϨʔγϣϯΛࣗಈԽ • αʔό܈ͷΩϟύγςΟͷݟ௚͠ • ܭըతʹϓϩμΫτ։ൃνʔϜͱ࿈ܞ • ύϑΥʔϚϯεͷվળґཔ • ظؒதʹ࣮ࢪ͢Δ͖ΘͲ͍ࢪࡦͷαϙʔτ • Ϣʔβʹීஈͱಉ͡ʹΑ͏ʹαʔϏεΛఏڙ͢ΔͨΊʹͨ͜͠ͱ • ͜ΕΒΛ࣮ࢪ͢Δ͜ͱͰظؒதͷ on call ରԠΛݮΒ͢

Slide 19

Slide 19 text

Ұ෦ͷٕज़ελοΫͷೖΕସ͑ • Database • MySQL on Amazon RDS (Magnetic) ͔ΒAmazon Aurora ʹશ໘ೖΕସ͑ • CDN • Akamai͔Β Fastly ΁ͷ੾Γସ͑ • ΞϓϦέʔγϣϯͷ։ൃ؀ڥ • ৽نΞϓϦͷ։ൃ͸ Docker + ECS Λར༻ ˠαʔϏεͷϨεϙϯελΠϜ΍Մ༻ੑͷվળ

Slide 20

Slide 20 text

ΦϖϨʔγϣϯͷࣗಈԽ • αʔόϦιʔεͷෆ଍Λճආ͢Δ • Φʔτεέʔϧର৅ͷαʔόΛ֦େ • ෛՙʹԠͯࣗ͡ಈతʹαʔόΛεέʔϧΞ΢τ • haproxy ΍ nginx ͳͲͷίϯϑΟά΋αʔόͷݱঢ়ʹ ߹Θͤͯࣗಈߋ৽(consul + consul-template) • ϩάͷٸ૿ʹΑΔσΟεΫͷṧഭͱͦͷରԠΛճආ • logrotate Λ࢖ͬͯσΟεΫʹϩάΛ࢒ͣ͞ɺ೔࣌Ͱ S3 ʹ͢ ͙ʹόοΫΞοϓ͢ΔํࣜΛ࠾༻

Slide 21

Slide 21 text

αʔό܈ͷΩϟύγςΟͷݟ௚͠

Slide 22

Slide 22 text

ϓϩμΫτ։ൃνʔϜͱͷ࿈ܞ

Slide 23

Slide 23 text

ϓϩμΫτ։ൃνʔϜͱͷ࿈ܞ • ύϑΥʔϚϯεͷϘτϧωοΫΛ෼ੳͯ͠վળ • μογϡϘʔυͷڞ༗ • ίʔυϨϕϧͰϘτϧωοΫͷڞ༗ɺվળ

Slide 24

Slide 24 text

ظؒதʹ࣮ࢪ͢Δ͖ΘͲ͍ࢪࡦͷαϙʔτ • ྫ͑͹ɺങऩͨ͠αΠτͷσʔλΛΫοΫύουͷσʔλϕʔεʹϝ ϯςφϯεແ͠ͰϚΠάϨʔγϣϯ͢Δ࣌ • 2016೥͸͜ΕʹΑΓϥϚμϯظؒதʹ௕࣌ؒͷαʔϏεఀࢭ͕2 ճൃੜ • ࠓ೥΋ϥϚμϯظؒʹσʔλϚΠάϨʔγϣϯͷ༧ఆ͕͋ͬͨ • σʔλҠߦํ๏ͷܭը΍ίʔυϨϏϡʔʹ΋ࢀՃ • αʔόϦιʔε΍εϩʔΫΤϦϩάͳͲͷ֤छ৘ใΛϞχλϦϯ ά͢ΔμογϡϘʔυͷఏڙ 4FFBMTPIUUQTXXXZPVUVCFDPNXBUDI WQ&9;QV),Z+D

Slide 25

Slide 25 text

43&WTϥϚμϯͷ݁Ռ

Slide 26

Slide 26 text

43&WTϥϚμϯͷ݁Ռ େ͖ͳ໰୊΋ͳ͘ϥϚμϯظؒऴྃ!

Slide 27

Slide 27 text

ॴײ • ϥϚμϯΛ࢝Ίͱͯ͠αʔϏεͷ Global ల։ͳΒͰ͸ͷ՝ ୊΍໘ന͞ͱૺ۰͢Δ • େมͳ͜ͱ΋ଟ͍͕ɺֶͼ΋ଟ͍ • ָ͠Έͳ͕Β৐Γӽ͍͑ͨ • XXX ʹ޲͚ͯΩϟύγςΟͷݟ௚͕͠ඞཁΈ͍ͨͳՔಇ͕ ൃੜ͠ͳ͍Α͏ʹγεςϜΛߏஙɾվળ͍ͯ͘͜͠ͱ͕ٻ ΊΒΕ͍ͯΔ(౰ͨΓલ͕ͩ)

Slide 28

Slide 28 text

·ͱΊ • GlobalαʔϏεʹͱͬͯϥϚμϯ͸େࣄͳΠϕϯτ • ීஈͱൺֱͯ͠਺ഒͷن໛ͰϢʔβ਺͕૿͑Δ • SRE͸1ϲ݄ଓ͘ߴෛՙΛ৐Γ੾ΔͨΊͷࢪࡦΛଧͭ • ෆ଍͍ͯ͠ΔϦιʔε͸଍͢ • ࣗಈԽ • ϓϩμΫτ։ൃνʔϜͱͷ࿈ܞ • ࠓޙ͸ಛʹରࡦΛ͠ͳ͍Ͱ৐Γ੾ΕΔΑ͏ʹ͢Δͷ͕ॏཁ