Slide 1

Slide 1 text

Monolithic Architecture is Dead

Slide 2

Slide 2 text

ƺȉǕ✣ǣǙǞƑԚ௹ HTTPD Browser • μΠΞϧΞοϓ઀ଓ • ίϯςϯπ͸ςΩετத৺ • ςΩετΛฦ͚ͩ͢ͷγϯϓϧͳΞʔΩςΫνϟ

Slide 3

Slide 3 text

1990೥ޙ൒ʙυοτίϜόϒϧ่յޙ PHP Browser • ܝࣔ൘ɺϒϩάɺECαΠτɺνϟοτͱ͔ • ͱΓ͋͑ͣPHPͱ͔MySQL͋Ε͹ͳΜͱ͔ͳͬͨ MySQL

Slide 4

Slide 4 text

Web2.0 ʙ 2000೥ޙ൒ Rails Browser • SNSɺCGMɺಈըαʔϏε ʙ ͳΜ͔͍ͬͺ͍ • AjaxɺFlash ! • Rails ͕͋Ε͹ͳΜͱ͔ͳͬͨ • PHP ͰϑϨʔϜϫʔΫΛ࡞ΔͱḿͬͨΒ͍͠ • ͳ͔ͥɺΈΜͳ࡞ͬͯͨ MySQL Memcached

Slide 5

Slide 5 text

࠷ۙ Rails Browser MySQL Redis Elasticsearch Fluenttd Hadoop Android iOS ϓογϡ௨஌ɺWebSocketͰϦΞϧλΠϜ௨৴ɺϒϥ΢β༻ʹ HTMLͭͬͨ͘ΓɺεϚϗΞϓϦ༻ʹAPIͭͬͨ͘Γɺݕࡧػೳ ఏڙͨ͠ΓɺϏοΫσʔλ࣌୅ͩ͠ϩΪϯάͨ͠Γɺະొ࿥ͷ Ϣʔβʔʹ΋IDৼͬͯ؅ཧͨ͠ΓɺOpenIDɺ2ཁૉೝূɺ WebRTCɺࣾ಺γεςϜͱ௨৴ͨ͠Γɺɺɺɺɺɺɺɺɺ

Slide 6

Slide 6 text

࠷ۙ Rails Browser MySQL Redis Elasticsearch Fluenttd Hadoop Android iOS ϓογϡ௨஌ɺWebSocketͰϦΞϧλΠϜ௨৴ɺϒϥ΢β༻ʹ HTMLͭͬͨ͘ΓɺεϚϗΞϓϦ༻ʹAPIͭͬͨ͘Γɺݕࡧػೳ ఏڙͨ͠ΓɺϏοΫσʔλ࣌୅ͩ͠ϩΪϯάͨ͠Γɺະొ࿥ͷ Ϣʔβʔʹ΋IDৼͬͯ؅ཧͨ͠ΓɺOpenIDɺ2ཁૉೝূɺ WebRTCɺࣾ಺γεςϜͱ௨৴ͨ͠Γɺɺɺɺɺɺɺɺɺ

Slide 7

Slide 7 text

ະདྷ Rails Browser MySQL Redis Elasticsearch Fluenttd Hadoop Android iOS Robot

Slide 8

Slide 8 text

ະདྷ Rails Browser MySQL Redis Elasticsearch Fluenttd Hadoop Android iOS Robot ϩϘοτɺ΢ΣΞϥϒϧσόΠεɺWindows  PhoneɺFire  OSɺ! Firefox  OS  Έ͍ͨͳ৽͍͠σόΠεͨͪͷొ৔ɺطଘOSͷΞο ϓάϨʔυ(iOS,  Android)ɺطଘٕज़࢓༷ͷ֦ு(HTMLɺ JavaScriptɺHTTP)ɺ৽ٕज़ɺ৽धཁɺ΋ͬͱ΋ͬͱάϩʔόϦ θʔγϣϯɺɺɺɺɺɺɺɺɺ  

Slide 9

Slide 9 text

Rails! Browser MySQL Redis Elasticsearch Fluenttd Hadoop Android iOS Robot ϩϘοτɺ΢ΣΞϥϒϧσόΠεɺWindows  PhoneɺFire  OSɺ! Firefox  OS  Έ͍ͨͳ৽͍͠σόΠεͨͪͷొ৔ɺطଘOSͷΞο ϓάϨʔυ(iOS,  Android)ɺطଘٕज़࢓༷ͷ֦ு(HTMLɺ JavaScriptɺHTTP)ɺ৽ٕज़ɺ৽धཁɺ΋ͬͱ΋ͬͱάϩʔόϦ θʔγϣϯɺɺɺɺɺɺɺɺɺ   ະདྷ

Slide 10

Slide 10 text

ιϑτ΢ΣΞ͸ෳࡶԽ͍ͯ͘͠!

Slide 11

Slide 11 text

• ΞʔΩςΫνϟ͸ෳࡶԽ͍͚ͯ͘͠ͲɺৗʹมԽ΁ ͷରԠ͕ٻΊΒΕΔ ! ! ! ! ! • ͔͠͠ංେԽͨ͠ΞϓϦέʔγϣϯ͸มԽʹऑ͍ • มԽʹऑ͍ͱɺαʔϏε͸੒௕͕ಷ͘ͳΔ

Slide 12

Slide 12 text

੒௕͢ΔαʔϏεͷαΠΫϧ ࣮૷ ֶश Ծઆ

Slide 13

Slide 13 text

! ! ! ! • αʔϏε΋ϓϩάϥϛϯάͱಉ͡ • ϓϩάϥϜ΋1ճͰॻ͍ͯɺ׬ᘳͳΜͯͳ͍ • ίʔυॻ͍ͯɺΤϥʔग़ͯɺमਖ਼ͯ͠ɺֶशͯ͠ɺΛ܁Γฦ͠ਖ਼͍͠ίʔ υʹ͍ͯ͘͠ • αʔϏε΋มߋͯ͠Έͯɺܭଌͯ͠ɺֶशͯ͠ɺ܁Γฦ ͯ͠੒௕͍ͯ͘͠ ࣮૷ ֶश Ծઆ

Slide 14

Slide 14 text

! ! ! ! • ϓϥάϥϛϯάͰίʔυॻ͍ͯɺΤϥʔग़ͯɺमਖ਼ ͯ͠ɺֶश ! • ͔͠͠ɺԾʹίϯύΠϧ͕1͔͔࣌ؒΔͱɺमਖ਼ͷα ΠΫϧ͕ಷΓɺ׬੒ʹͱͯ΋͕͔͔࣌ؒΔ ࣮૷ ֶश Ծઆ

Slide 15

Slide 15 text

αʔϏε΋ಉ͡ զʑ͸αʔϏεΛ੒௕ͤ͞ΔͨΊɺมߋʹ ڧ͍ΞʔΩςΫνϟ͕ඞཁ ࣮૷ ֶश Ծઆ αΠΫϧΛԿ౓΋ɺૉૣ͘ճ͢͜ͱͰɺૉ ૣ͘੒௕͢Δ

Slide 16

Slide 16 text

ΞʔΩςΫνϟͷ͜Ε͔Β! Microservices

Slide 17

Slide 17 text

͜Ε·Ͱ΋ɺෳࡶԽʹରԠ͖ͯͨ͠ • lߦͷίʔυΛόάແ͠Ͱॻ͘͜ͱ͸؆୯͚ͩͲɺສߦͷίʔ υΛόάແ͠Ͱॻ͘͜ͱ͸೉͍͠ɻz ( by Matsumoto Yukihiro ) ! • ؔ৺ࣄΛؔ਺ɺΫϥεɺϞδϡʔϧʹ෼཭ͯ͠ૄ݁ ߹ʹ͖ͯͨ͠

Slide 18

Slide 18 text

ΞʔΩςΫνϟΛɺؔ৺ࣄͰ෼཭͢Δ App API Notification! Service Search Service Browser Android iOS Browser Android iOS

Slide 19

Slide 19 text

Microservices • খ͍͞ΞϓϦέʔγϣϯʹ෼ׂ͢Δߟ͑ํ͸ɺੲ͔Β͋Δ • αʔϏεࢦ޲ΞʔΩςΫνϟ • AmazonɺTwitterɺCookpadɺฐࣾͷ๭ϓϩδΣΫτͳͲ • ௝͍͜͠ͱͰ͸ͳ͍ ! • ͦ͜ʹ࠷ۙɺϚʔςΟϯɾϑΝ΢ϥʔ໊͕લΛ ͚ͭͨ

Slide 20

Slide 20 text

API Browser MySQL Redis Elasticsearch Android iOS Notification Service Search Service খ͍͞ΞϓϦέʔγϣϯʹ෼ׂ

Slide 21

Slide 21 text

• ৽ਓ΋೺Ѳ͢Δ͜ͱ͕গͳ͘ɺ͙͢։ൃࢀՃͰ͖Δ • ೔ʑͷ git ϩά΋Ώͬ͘ΓͰ೺Ѳ͠΍͍͢ ! • ಠཱ͓ͯ͠Γɺখ͘͞อͨΕΔ͜ͱͰมߋΛڪΕͳ͍ ֤ʑΛখ͍͞νʔϜͰಠཱͯ͠։ൃͰ͖Δ API Notification! Service Search Service

Slide 22

Slide 22 text

API Browser MySQL Redis Elasticsearch Android iOS Notification Service Search Service ֤ʑʹద࣮ͨ͠૷Λબ୒ HTML Render WebSocket

Slide 23

Slide 23 text

API Notification Service Search Service ֤ʑʹݴޠɺϑϨʔϜϫʔΫͷ! όʔδϣϯΞοϓ͕Մೳ • ංେԽͨ͠ιϑτ΢ΣΞͷόʔδϣϯΞοϓ͸ਏ͍ • εϞʔϧεςοϓͰਫ਼ਆతʹ΋΍͍͞͠

Slide 24

Slide 24 text

͋ͷ ϚʔςΟϯɾϑΝ΢ϥʔ ͕஫໨ • ϚʔςΟϯɾϑΝ΢ϥʔ͕هࣄʹͯ͠ɺݴ༿Λఆٛ ! • ΤϯλʔϓϥΠζΞϓϦέʔγϣϯύλʔϯຊ • ϦϑΝΫλϦϯάຊ • Agile Manifesto • ͱ͔ͷਓ

Slide 25

Slide 25 text

͋ͷ ThoughtWorks ΋஫໨ • ٕज़ಈ޲Λ·ͱΊͨ Technology Radar (JULY 2014) Ͱ঺հ • ͋ͷ ϚʔςΟϯɾϑΝ΢ϥʔ ΋ࡏ੶

Slide 26

Slide 26 text

ٕज़͸ੈքΛม͖͑ͯͨ • पғʹ͋Δ΋ͷɺ͢΂ٕͯज़Ͱ࡞ΒΕ͍ͯΔ ! • ٕज़ɺٕज़ऀ͸ੈքΛม͖͑ͯͨ ! • ٕज़ʹҰ൪ৄ͍͠ΤϯδχΞ͕ɺෳࡶԽɺංେԽͨ͠ ιϑτ΢ΣΞͷมߋΛڪΕͯ͸ɺੈքΛม͑ΒΕͳ͍ ! • มԽʹڧ͍ΞʔΩςΫνϟ͸ɺαʔϏεΛ੒௕ͤ͞ɺ ੈքΛม͍͑ͯ͘ୈҰาͰ͢

Slide 27

Slide 27 text

·ͱΊ • ະདྷ͸ෳࡶԽ͍ͯ͘͠ ! • ͜Ε·ͰΫϥεɺϞδϡʔϧʹؔ৺ࣄΛ෼཭͖ͯ͠ ͨΑ͏ʹɺΞʔΩςΫνϟͰ෼཭͢Δ ! • มߋʹڧ͍ΞʔΩςΫνϟΛ࡞ΓɺੈքΛม͍͑ͯ ͘

Slide 28

Slide 28 text

Thank you

Slide 29

Slide 29 text

Photos • https://www.flickr.com/photos/sophiadphotography/7585744722/in/photolist-68dujb-46W9RR-bRCPZM-iA2uir-4715E7-sPYJ8-tbUSE-471ePb-cyjVC7- gpKtiB-8vDKm8-oTUvZ-4rKrMD-6RroHF-BJuEk-46W9vM-56u5fn-iA2HmQ-dPjyLR-cm77s-iA2Vmn-4JC1fH-iA3cPU-689o3H-46W9hk-guANK3-2Qm8A5- hXvYqd-8vGMsE-2usKdV-nRWxvT-dz4vQ5-8vGNuA-A5eo-5yF9qU-bRCPBr-iA3eUH-8vDLzB-6f878H-6fch8J-6f87rz-6f87Jz-eeg1i9-46Zy7J- imrYkz-2Qm7Ku-5bj1Uf-5wLEJg-5GMyZV-iA3qH6 ! • https://www.flickr.com/photos/26335052@N06/14182713587/in/photolist-cFzfnJ-nBh7CB-nEf5rr-gkk69-9py3t-b7ynoa-dvN574-5syy- nzCAmh-69rkbP-6wmUYN ! • https://www.flickr.com/photos/rtarga/93573864/in/photolist-9gAfu-5BKjGR-bqjC46-apxGy8-4JjgYK-6WBQhd-8KZeDC-cA4NMm-j9fm-71Jvbc-8P5iQ8- y5Z88-cA4Pz5-7xgMsZ-8vRV3A-5nJkm9-6r8Vx4-8P5iPX-cA4PK7-5rvCYK-92Eao-mEbvW-adswkD-7GP2Eq-cXMkF-8Dww5Q- e4vrS1-8DtpUk-8DwwBN-8DtpMv-9qu92s-cA4Ni7-L1Bm7-97t61R-7TpmiZ-7xgMs8-ouUHe-c3V8sC-hPsU8w-cA4Q8E-5rvCWM-71NvsC-eSpCSL- buCJsa-5yzYaW-3BtQGi-fGhDM-uTKQj-4HPHHB-8Hwdfy