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
「マイクロサービスはもう十分」か? / Enough with the microservices?
Search
qsona
January 18, 2018
Technology
5
2.8k
「マイクロサービスはもう十分」か? / Enough with the microservices?
Microservices Meetup vol.6 Sponsor LT
qsona
January 18, 2018
Tweet
Share
More Decks by qsona
See All by qsona
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
4
450
Backend エンジニア視点からの GraphQL / GraphQL from a perspective of backend engineer
qsona
28
8.4k
3 Practices about Service-to-Service GraphQL Ruby Client
qsona
1
930
いかにして GraphQL を組織に導入するか (新規開発編) / how we introduce GraphQL on scratch development
qsona
6
4k
Well-organized Transaction Script - リファクタリングの妥協的手法 -
qsona
4
1.4k
GraphQL と Prisma から考える次のN年を見据えた技術選定 / Architecture decision for the next N years at StudySapuri
qsona
25
14k
最高のマスターデータ管理手法考察 & VSCode Extension を活用した話 / developing masterdata management tool by using vscode extension
qsona
9
6.3k
GraphQL を活用したスキーマ駆動開発の実践 / schema-driven development with GraphQL
qsona
6
5.3k
GraphQL を利用したアーキテクチャの勘所 / Architecture practices with GraphQL
qsona
37
15k
Other Decks in Technology
See All in Technology
Tokyo dbt Meetup #13 dbtと連携するBI製品&機能ざっくり紹介
sagara
0
400
食べログが挑む!飲食店ネット予約システムで自動テスト無双して手動テストゼロを実現する戦略
hagevvashi
1
120
Webアプリを Lambdaで動かすまでに考えること / How to implement monolithic Lambda Web Application
_kensh
7
990
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #DevOpsDaysTokyo
takabow
0
130
OSSコントリビュートをphp-srcメンテナの立場から語る / OSS Contribute
sakitakamachi
0
1.1k
いつも初心者向けの記事に助けられているので得意分野では初心者向けの記事を書きます
toru_kubota
2
220
古き良き Laravel のシステムは関数型スタイルでリファクタできるのか
leveragestech
1
560
テキスト解析で見る PyCon APAC 2025 セッション&スピーカートレンド分析
negi111111
0
270
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.4k
ソフトウェア開発現代史: なぜ日本のソフトウェア開発は「滝」なのか?製造業の成功体験とのギャップ #jassttokyo
takabow
3
1.9k
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming
tomzoh
0
130
大規模プロジェクトにおける 品質管理の要点と実践 / 20250327 Suguru Ishii
shift_evolve
0
350
Featured
See All Featured
The Language of Interfaces
destraynor
157
24k
Why Our Code Smells
bkeepers
PRO
336
57k
GitHub's CSS Performance
jonrohan
1030
460k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Automating Front-end Workflow
addyosmani
1369
200k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2.2k
How to train your dragon (web standard)
notwaldorf
91
6k
Rails Girls Zürich Keynote
gr2m
94
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Transcript
4QPOTPS-5 ʮϚΠΫϩαʔϏε͏ेʯ͔ʁ ٱଠ !RTPOB גࣜձࣾ'J/$ .JDSPTFSWJDFT.FFUVQWPM
લͷهࣄ ˞ݱࡏͳ͔ͥআࡁΈɾɾɾ
ݩͷهࣄ r&OPVHIXJUIUIFNJDSPTFSWJDFTc"EBN%SBLF IUUQTBBESBLFDPNQPTUTFOPVHIXJUIUIFNJDSPTFSWJDFTIUNM
هࣄͷओு ελʔτΞοϓاۀͷ΄ͱΜͲɺ ϚΠΫϩαʔϏεΛ࠾༻͖͢Ͱͳ͍ɻ
هࣄͷओு w ओு w ελʔτΞοϓاۀͷ΄ͱΜͲͰɺϚΠΫϩαʔϏεΛ࠾༻͖͢Ͱͳ͍ɻ w ཧ༝ w ϚΠΫϩαʔϏεΛ࠾༻͢Δཧ༝ͱͯ͠ڍ͛ΒΕΔ՝ʹରͯ͠ɺ͍͍ͨͯɺ ઌʹߟ͑Δ͖ଞͷղܾํ๏͕͋Δɻ
w ϚΠΫϩαʔϏεΛ࠾༻͢Δʹɺٕज़తʹલఏͱͳΔ͕݅ଘࡏ͢Δɻ ͦΕΛελʔτΞοϓͷϑΣʔζͰಘΔ͜ͱ͍͠ɻ w ϚΠΫϩαʔϏεɺຊ࣭తʹෳࡶ͞ΛੜΉͷͰɺελʔτΞοϓͷϑΣʔζͰରॲ͢Δͷ͍͠ɻ
ײ w ͦͷ௨Γͩͱࢥ͍·͢ɻ w ϚΠΫϩαʔϏεϞδϡʔϧͷڥք͕ෆ໌ྎͳ͏ͪʹΔͱࣦഊ͠ ͍͢ɻ w ςετɺϩΪϯάɺࢹͳͲΛ͖ͪΜͱߦ͏ͷ͕ɺϞϊϦγοΫʹൺ ͯେมɻ w
ࢄγεςϜຊ࣭తʹෳࡶɻ
ۜͷؙͳ͍ ࢳౙ
None
ʜ͏গ͠ৄ͘͠ɻ w هࣄͷओுͷ͏ͪɺ࠷Ҿ༻͕ଟ͔ͬͨ෦ʹ͍ͭͯɺ ਫ਼ࠪͯ͠ΈΔɻ w ʮνʔϜؒͷґଘੑʯͱ͍͏՝ʹରͯ͠ͷղܾࡦͱͯ͠ɺ ͍͖ͳΓϚΠΫϩαʔϏεΛಋೖ͢Δͷ͏·͍͔͘ͳ͍ ͱ͍͏
r&OPVHIXJUIUIFNJDSPTFSWJDFTc"EBN%SBLF l%PO`UDPOGVTFEFDPVQMJOHXJUI EJTUSJCVUJPOz
هࣄͷओு w ৫͕େ͖͘ͳͬͯ͘Δͱɺ ෳͷνʔϜ͕ҰͭͷίʔυϕʔεͰ࡞ۀ͢ΔΑ͏ʹͳΔɻ w νʔϜؒͷґଘ ίϛϡχέʔγϣϯίετ ΛԼ͛ΔͨΊɺ ϚΠΫϩαʔϏεʹ͠Α͏ͱ͢Δྫ͕͋Δɻ w
͔͠͠ɺϚΠΫϩαʔϏεʹͨ͠ͱͯ͠ίϛϡχέʔγϣϯͷ͕ ղܾ͢ΔΘ͚Ͱͳ͍ɻ w ࣮ࡍʹɺϞϊϦεͷϞδϡʔϧׂͰेରॲͰ͖Δɻ
ஸೡʹߟͯ͠ΈΔ w ʮνʔϜʯͱԿͳͷ͔ʁ w ͳͥνʔϜ͕େ͖͘ͳΔͱνʔϜΛׂ͢Δͷ͔ʁ w ʮνʔϜؒͷґଘʯͱԿͳͷ͔ʁ ʮνʔϜؒͷґଘʯ͕ߴ͍ͱԿ͕ͳͷ͔ʁ
ʮνʔϜʯͱԿͳͷ͔ʁ w ͋ΔతͷͨΊʹڠྗͯ͠ߦಈ͢Δάϧʔϓ ࣙԓ w ͦͷతʹ͔ͬͯɺνʔϜࣗओతɾࣗతʹಈ͚Δ͖ w ଟ͘ͷίϛϡχέʔγϣϯܾఆɺνʔϜͰ݁͢Δ͖
νʔϜ͕େ͖͘ͳΔͱ w ίϛϡχέʔγϣϯͷύε͕ଟ͘ͳΔ w νʔϜͷతͱϝϯόʔͷׂ͕ԕ͘ͳΓɺࣗੑ͕Լ͕Δ
νʔϜΛׂ͢Δ w େ͖ͳతΛɺΑΓࡉ͔͍తʹղ͢Δ w ࡉ͔͍తʹ߹Θͤͯɺখ͞ͳνʔϜʹղ͢Δ w ͔͠͠ɺେ͖͍νʔϜͷΛղফͰ͖Δ͔ɺ ͜ͷղͷํ๏ʹΑΔ w ѱ͍ղͷྫతಉ͕࢜ίϯϑϦΫτ͢Δ
ѱׂ͍ͷྫ%FW0QT w ։ൃͱӡ༻ɺత͕ίϯϑϦΫτ͢Δ w ຊདྷɺ։ൃͱӡ༻Λ߹ΘͤͯϏδωε্ͷతΛୡ͢ΔͷͰ͋Δ
ʮνʔϜͷґଘʯͱʁ w ֤νʔϜ͕શʹಠཱͯ͠ҙࢥܾఆͨ͠ΓߦಈͰ͖Δঢ়ଶɺ νʔϜͷґଘ͕θϩ w ࣮ࡍʹɺҰఆҎ্ͷίϛϡχέʔγϣϯ͕ඞཁ w ڠྗɺརؔͷௐͳͲ w ґଘ͕গͳ͍΄ͲɺνʔϜ͕ࣗతʹಈ͚Δ
໋ܕ৫ػೳܕ৫ w ৫ɺͭͷయܕతͳܗଶʹ͚ΒΕΔɻશͳ ໋த৺ͷܗଶͱػೳผฤܗଶͰ͋Δɻ w ձࣾͷେ෦Λ໋த৺ܗଶʹ৫Խ͢Δॴ ུ ɺݸʑͷूஂ୯Ґ͕ɺઈ͑ͣࣗͷࣄۀ͋Δ ͍ʹର͢Δχʔζͱ৮Λอͪɺ͜͏͠ ͨχʔζͷมԽʹରͯ͠ਝʹରԠͰ͖Δͱ͍͏
ᶸ͚ͩᶹͰ͋Δɻ w ͔͠͠ɺͲΜͳࣄۀͰɺͦͷຊڥ͔Βͷ धཁͱχʔζʹԠ͑Δ͜ͱͰ͋Γɺ͜ͷଈԠͰ͖Δ ͔൱͔͕͖ΘΊͯॏཁͳΧΪͰ͋Δɻ rΞϯυϦϡʔɾ4ɾάϩʔϒ )*()065165."/"(&.&/5 ষϋΠϒϦου৫
໋ܕ৫ػೳܕ৫ w ໋த৺ͷ৫ w ໋Ϗδωε w ˞ٕज़ͦͷͷ͕Ϗδωεͷ৫͋Δ w ਨׂ w
FH'J/$ΞϓϦνʔϜ w ػೳத৺ͷ৫ w ػೳٕज़ w ਫฏׂ w FHαʔόʔαΠυνʔϜ
ϚΠΫϩαʔϏε໋ܕ ϚΠΫϩαʔϏεओʹϏδωευϝΠϯʹ ج͍ͮͯϞσϧԽ͢Δ͜ͱͰɺैདྷͷ֊ܕ ΞʔΩςΫνϟͷΛආ͚͍ͯ·͢ɻ rϚΠΫϩαʔϏεΞʔΩςΫνϟ ͡Ίʹ 4BN/FXNBOஶɺࠤ౻ੜ༁ɺԼ༁
ϚΠΫϩαʔϏεࣗత ϚΠΫϩαʔϏεɺڠௐͯ͠ಈ࡞͢Δখن ͰࣗతͳαʔϏεͰ͢ɻ rϚΠΫϩαʔϏεΞʔΩςΫνϟ ষ 4BN/FXNBOஶɺࠤ౻ੜ༁ɺԼ༁
ϚΠΫϩαʔϏεͱ৫ w ৫ߏͱϚΠΫϩαʔϏεɺશʹΞφϩδʔͷؔʹ͋Δ w ৫ͷಠཱੑσϓϩΠͷಠཱੑ w ৫ಉ࢜ͷ࿈ܞ"1*࿈ܞΠϕϯτ࿈ܞ w ৫ಉ͕࢜ີ݁߹ͳΒɺ ͦΕʹԊͬͯϚΠΫϩαʔϏεԽͯ͠Γີ݁߹ʹͳΔ
هࣄͷओு ࠶ܝ w ৫͕େ͖͘ͳΔͱɺෳͷνʔϜ͕ҰͭͷίʔυϕʔεͰ࡞ۀ͢ΔΑ͏ʹͳΔɻ w νʔϜؒͷґଘ ίϛϡχέʔγϣϯίετ ΛԼ͛ΔͨΊɺϚΠΫϩαʔϏεʹ ͠Α͏ͱ͢Δྫ͕͋Δɻ w
͔࣮͠͠ࡍʹɺϞϊϦεͷϞδϡʔϧׂͰेରॲͰ͖Δɻ w ·ͨɺϚΠΫϩαʔϏεʹͨ͠ͱͯ͠ίϛϡχέʔγϣϯͷ͕ղܾ͢ΔΘ͚ Ͱͳ͍ɻ
ελʔτΞοϓͱ৫ w ଟ͘ͷελʔτΞοϓͰɺ৫Λ͖Ε͍ʹׂ͢Δ͜ͱ͕͍͠ w తͷղ ઓུ ͕ेͰͳ͍ w ͜Ζ͜ΖมΘΔ w
͔ͩΒϚΠΫϩαʔϏεʹׂ͢Δͷ͍͠ w Ͱɺ࠷ॳϞϊϦεͷ··ϞδϡʔϧԽ͚͖ͩ͢ͳͷ͔ʁ
ͭͷ Ҿ༻ʹΑΔ ٕज़తʹɺదʹղ͞Εͨಠཱͨ͠Ϟδϡʔ ϧΛͭͷϞϊϦγοΫϓϩηεʹ࡞͢ Δ͜ͱՄೳͳͣͰ͢ɻ͔͠͠ɺ·ͩ΄ͱΜ Ͳొ͍ͯ͠·ͤΜɻϞδϡʔϧ͙͢ʹΓ ͷίʔυͱີ݁߹ʹͳΓɺओͳརͷͭΛ ์غ͢Δ͜ͱʹͳΓ·͢ɻϓϩηεڥքͰ ͢Δͱɺ͜ͷͰਖ਼͍͠ঢ়ଶ͕ڧ੍͞Ε·͢ গͳ͘ͱؒҧͬͨ͜ͱΛ͠ʹ͘͘ͳΓ·͢
ɻ ͪΖΜɺओʹ͜ͷ͜ͱʹΑͬͯɺϓϩηε Λਪਐ͖ͩ͢ͱݴ͍·ͤΜ͕ɺ࣮ੈքͰ ϓϩηεڥքͰͷϞδϡʔϧͷଋ͕ कΒΕͨ͜ͱ΄ͱΜͲ͋Γ·ͤΜɻ rϚΠΫϩαʔϏεΞʔΩςΫνϟ ষ 4BN/FXNBOஶɺࠤ౻ੜ༁ɺԼ༁
ελʔτΞοϓͱ৫ w ڊେͳϞϊϦεʹͳͬͯ͠·͏ͱɺΓׂ͢Δ͜ͱ͕͍͠ w ϚΠΫϩαʔϏεʹ͚ͳͯ͘ɺීஈ͔ΒυϝΠϯΛҙࣝ͢Δ w ໌Β͔ʹ໌֬ͳυϝΠϯ͕Ͱ͖ͨλΠϛϯάͰɺੵۃతʹϚΠΫϩαʔϏ εʹׂ͍ͯ͘͠ w όϥϯεײ͕֮ॏཁ
૯ w ελʔτΞοϓاۀͷ΄ͱΜͲͰɺϚΠΫϩαʔϏεΛ࠾༻͖͢Ͱ ͳ͍ɻɺͨͿΜਖ਼͍͠ɻ w ͔͠͠ɺελʔτΞοϓʹঢ়گϑΣʔζ͕͋Δɻ w ͙͢ʹϚΠΫϩαʔϏεʹ͔Θͳͯ͘ɺʮϚΠΫϩαʔϏεਫ਼ਆʯΛ ࣋ͭ͜ͱେࣄͳͷͰͳ͍͔ɻ