Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Monolithic Architecture is Dead
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
potato2003
August 29, 2014
Technology
4
770
Monolithic Architecture is Dead
社内 TeckTalk 資料 - Microservices の紹介
potato2003
August 29, 2014
Tweet
Share
Other Decks in Technology
See All in Technology
人はいかにして 確率的な挙動を 受け入れていくのか
vaaaaanquish
4
2.5k
Databricks Free Edition講座 データエンジニアリング編
taka_aki
0
2.8k
ドキュメントからはじめる未来のソフトウェア
pkshadeck
3
1k
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
0
130
VRTと真面目に向き合う
hiragram
1
480
書籍執筆での生成AIの活用
sat
PRO
1
210
AI アクセラレータチップ AWS Trainium/Inferentia に 今こそ入門
yoshimi0227
1
320
プロダクトエンジニアこそ必要なPMスキル 〜デリバリー力を最大化し、価値を届け続けるために〜
layerx
PRO
0
130
SwiftDataを覗き見る
akidon0000
0
310
20260120 Amazon VPC のパブリックサブネットを無くしたい!
masaruogura
2
160
The Engineer with a Three-Year Cycle - 2
e99h2121
0
190
OCI技術資料 : OS管理ハブ 概要
ocise
2
4.2k
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
43
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Balancing Empowerment & Direction
lara
5
850
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
52
Skip the Path - Find Your Career Trail
mkilby
0
48
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
It's Worth the Effort
3n
188
29k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Transcript
Monolithic Architecture is Dead
ƺȉǕ✣ǣǙǞƑԚ௹ HTTPD Browser • μΠΞϧΞοϓଓ • ίϯςϯπςΩετத৺ • ςΩετΛฦ͚ͩ͢ͷγϯϓϧͳΞʔΩςΫνϟ
1990ޙʙυοτίϜόϒϧ่յޙ PHP Browser • ܝࣔ൘ɺϒϩάɺECαΠτɺνϟοτͱ͔ • ͱΓ͋͑ͣPHPͱ͔MySQL͋ΕͳΜͱ͔ͳͬͨ MySQL
Web2.0 ʙ 2000ޙ Rails Browser • SNSɺCGMɺಈըαʔϏε ʙ ͳΜ͔͍ͬͺ͍ •
AjaxɺFlash ! • Rails ͕͋ΕͳΜͱ͔ͳͬͨ • PHP ͰϑϨʔϜϫʔΫΛ࡞ΔͱḿͬͨΒ͍͠ • ͳ͔ͥɺΈΜͳ࡞ͬͯͨ MySQL Memcached
࠷ۙ Rails Browser MySQL Redis Elasticsearch Fluenttd Hadoop Android iOS
ϓογϡ௨ɺWebSocketͰϦΞϧλΠϜ௨৴ɺϒϥβ༻ʹ HTMLͭͬͨ͘ΓɺεϚϗΞϓϦ༻ʹAPIͭͬͨ͘Γɺݕࡧػೳ ఏڙͨ͠ΓɺϏοΫσʔλ࣌ͩ͠ϩΪϯάͨ͠Γɺະొͷ ϢʔβʔʹIDৼͬͯཧͨ͠ΓɺOpenIDɺ2ཁૉೝূɺ WebRTCɺࣾγεςϜͱ௨৴ͨ͠Γɺɺɺɺɺɺɺɺɺ
࠷ۙ Rails Browser MySQL Redis Elasticsearch Fluenttd Hadoop Android iOS
ϓογϡ௨ɺWebSocketͰϦΞϧλΠϜ௨৴ɺϒϥβ༻ʹ HTMLͭͬͨ͘ΓɺεϚϗΞϓϦ༻ʹAPIͭͬͨ͘Γɺݕࡧػೳ ఏڙͨ͠ΓɺϏοΫσʔλ࣌ͩ͠ϩΪϯάͨ͠Γɺະొͷ ϢʔβʔʹIDৼͬͯཧͨ͠ΓɺOpenIDɺ2ཁૉೝূɺ WebRTCɺࣾγεςϜͱ௨৴ͨ͠Γɺɺɺɺɺɺɺɺɺ
ະདྷ Rails Browser MySQL Redis Elasticsearch Fluenttd Hadoop Android iOS
Robot
ະདྷ Rails Browser MySQL Redis Elasticsearch Fluenttd Hadoop Android iOS
Robot ϩϘοτɺΣΞϥϒϧσόΠεɺWindows PhoneɺFire OSɺ! Firefox OS Έ͍ͨͳ৽͍͠σόΠεͨͪͷొɺطଘOSͷΞο ϓάϨʔυ(iOS, Android)ɺطଘٕज़༷ͷ֦ு(HTMLɺ JavaScriptɺHTTP)ɺ৽ٕज़ɺ৽धཁɺͬͱͬͱάϩʔόϦ θʔγϣϯɺɺɺɺɺɺɺɺɺ
Rails! Browser MySQL Redis Elasticsearch Fluenttd Hadoop Android iOS Robot
ϩϘοτɺΣΞϥϒϧσόΠεɺWindows PhoneɺFire OSɺ! Firefox OS Έ͍ͨͳ৽͍͠σόΠεͨͪͷొɺطଘOSͷΞο ϓάϨʔυ(iOS, Android)ɺطଘٕज़༷ͷ֦ு(HTMLɺ JavaScriptɺHTTP)ɺ৽ٕज़ɺ৽धཁɺͬͱͬͱάϩʔόϦ θʔγϣϯɺɺɺɺɺɺɺɺɺ ະདྷ
ιϑτΣΞෳࡶԽ͍ͯ͘͠!
• ΞʔΩςΫνϟෳࡶԽ͍͚ͯ͘͠ͲɺৗʹมԽ ͷରԠ͕ٻΊΒΕΔ ! ! ! ! ! • ͔͠͠ංେԽͨ͠ΞϓϦέʔγϣϯมԽʹऑ͍
• มԽʹऑ͍ͱɺαʔϏε͕ಷ͘ͳΔ
͢ΔαʔϏεͷαΠΫϧ ࣮ ֶश Ծઆ
! ! ! ! • αʔϏεϓϩάϥϛϯάͱಉ͡ • ϓϩάϥϜ1ճͰॻ͍ͯɺᘳͳΜͯͳ͍ • ίʔυॻ͍ͯɺΤϥʔग़ͯɺमਖ਼ͯ͠ɺֶशͯ͠ɺΛ܁Γฦ͠ਖ਼͍͠ίʔ
υʹ͍ͯ͘͠ • αʔϏεมߋͯ͠Έͯɺܭଌͯ͠ɺֶशͯ͠ɺ܁Γฦ ͍ͯͯ͘͠͠ ࣮ ֶश Ծઆ
! ! ! ! • ϓϥάϥϛϯάͰίʔυॻ͍ͯɺΤϥʔग़ͯɺमਖ਼ ͯ͠ɺֶश ! • ͔͠͠ɺԾʹίϯύΠϧ͕1͔͔࣌ؒΔͱɺमਖ਼ͷα
ΠΫϧ͕ಷΓɺʹͱ͕͔͔ͯ࣌ؒΔ ࣮ ֶश Ծઆ
αʔϏεಉ͡ զʑαʔϏεΛͤ͞ΔͨΊɺมߋʹ ڧ͍ΞʔΩςΫνϟ͕ඞཁ ࣮ ֶश Ծઆ αΠΫϧΛԿɺૉૣ͘ճ͢͜ͱͰɺૉ ૣ͘͢Δ
ΞʔΩςΫνϟͷ͜Ε͔Β! Microservices
͜Ε·ͰɺෳࡶԽʹରԠ͖ͯͨ͠ • lߦͷίʔυΛόάແ͠Ͱॻ͘͜ͱ؆୯͚ͩͲɺສߦͷίʔ υΛόάແ͠Ͱॻ͘͜ͱ͍͠ɻz ( by Matsumoto Yukihiro ) !
• ؔ৺ࣄΛؔɺΫϥεɺϞδϡʔϧʹͯ͠ૄ݁ ߹ʹ͖ͯͨ͠
ΞʔΩςΫνϟΛɺؔ৺ࣄͰ͢Δ App API Notification! Service Search Service Browser Android iOS
Browser Android iOS
Microservices • খ͍͞ΞϓϦέʔγϣϯʹׂ͢Δߟ͑ํɺੲ͔Β͋Δ • αʔϏεࢦΞʔΩςΫνϟ • AmazonɺTwitterɺCookpadɺฐࣾͷϓϩδΣΫτͳͲ • ͍͜͠ͱͰͳ͍ !
• ͦ͜ʹ࠷ۙɺϚʔςΟϯɾϑΝϥʔ໊͕લΛ ͚ͭͨ
API Browser MySQL Redis Elasticsearch Android iOS Notification Service Search
Service খ͍͞ΞϓϦέʔγϣϯʹׂ
• ৽ਓѲ͢Δ͜ͱ͕গͳ͘ɺ͙͢։ൃࢀՃͰ͖Δ • ʑͷ git ϩάΏͬ͘ΓͰѲ͍͢͠ ! • ಠཱ͓ͯ͠Γɺখ͘͞อͨΕΔ͜ͱͰมߋΛڪΕͳ͍ ֤ʑΛখ͍͞νʔϜͰಠཱͯ͠։ൃͰ͖Δ
API Notification! Service Search Service
API Browser MySQL Redis Elasticsearch Android iOS Notification Service Search
Service ֤ʑʹద࣮ͨ͠Λબ HTML Render WebSocket
API Notification Service Search Service ֤ʑʹݴޠɺϑϨʔϜϫʔΫͷ! όʔδϣϯΞοϓ͕Մೳ • ංେԽͨ͠ιϑτΣΞͷόʔδϣϯΞοϓਏ͍ •
εϞʔϧεςοϓͰਫ਼ਆతʹ͍͞͠
͋ͷ ϚʔςΟϯɾϑΝϥʔ ͕ • ϚʔςΟϯɾϑΝϥʔ͕هࣄʹͯ͠ɺݴ༿Λఆٛ ! • ΤϯλʔϓϥΠζΞϓϦέʔγϣϯύλʔϯຊ • ϦϑΝΫλϦϯάຊ
• Agile Manifesto • ͱ͔ͷਓ
͋ͷ ThoughtWorks • ٕज़ಈΛ·ͱΊͨ Technology Radar (JULY 2014) Ͱհ
• ͋ͷ ϚʔςΟϯɾϑΝϥʔ ࡏ੶
ٕज़ੈքΛม͖͑ͯͨ • पғʹ͋Δͷɺٕͯ͢ज़Ͱ࡞ΒΕ͍ͯΔ ! • ٕज़ɺٕज़ऀੈքΛม͖͑ͯͨ ! • ٕज़ʹҰ൪ৄ͍͠ΤϯδχΞ͕ɺෳࡶԽɺංେԽͨ͠ ιϑτΣΞͷมߋΛڪΕͯɺੈքΛม͑ΒΕͳ͍
! • มԽʹڧ͍ΞʔΩςΫνϟɺαʔϏεΛͤ͞ɺ ੈքΛม͍͑ͯ͘ୈҰาͰ͢
·ͱΊ • ະདྷෳࡶԽ͍ͯ͘͠ ! • ͜Ε·ͰΫϥεɺϞδϡʔϧʹؔ৺ࣄΛ͖ͯ͠ ͨΑ͏ʹɺΞʔΩςΫνϟͰ͢Δ ! • มߋʹڧ͍ΞʔΩςΫνϟΛ࡞ΓɺੈքΛม͍͑ͯ
͘
Thank you
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