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
マイクロサービスの思想から捉える Backends for Frontendsとその類似パター...
Search
qsona
June 07, 2018
Technology
26k
19
Share
マイクロサービスの思想から捉える Backends for Frontendsとその類似パターン / Backends for Frontends and its similar pattern from the microservices perspective
UIT#3 The “Backends for Frontends” sharing
qsona
June 07, 2018
More Decks by qsona
See All by qsona
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
4
590
Backend エンジニア視点からの GraphQL / GraphQL from a perspective of backend engineer
qsona
28
8.9k
3 Practices about Service-to-Service GraphQL Ruby Client
qsona
1
1.1k
いかにして GraphQL を組織に導入するか (新規開発編) / how we introduce GraphQL on scratch development
qsona
6
4.2k
Well-organized Transaction Script - リファクタリングの妥協的手法 -
qsona
4
1.6k
GraphQL と Prisma から考える次のN年を見据えた技術選定 / Architecture decision for the next N years at StudySapuri
qsona
25
16k
最高のマスターデータ管理手法考察 & VSCode Extension を活用した話 / developing masterdata management tool by using vscode extension
qsona
9
8.3k
GraphQL を活用したスキーマ駆動開発の実践 / schema-driven development with GraphQL
qsona
6
7.5k
GraphQL を利用したアーキテクチャの勘所 / Architecture practices with GraphQL
qsona
37
18k
Other Decks in Technology
See All in Technology
20260513_生成AIを専属DSに_AI分析結果の検品テクニック_ハンズオン_交通事故データ
doradora09
PRO
0
220
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
200
サイボウズ、プラットフォームエンジニアリング始めるってよ ― プラットフォームチームの事業貢献と組織アラインメントの強化
ueokande
0
110
Terragrunt x Snowflake + dbt で作るマルチテナントなデータ基盤構築プラットフォーム
gak_t12
0
110
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
150
生成AI時代に信頼性をどう保ち続けるか - Policy as Code の実践
akitok_
1
240
20260515 ログイン機能だけではないアカウント管理を全体で考える~サービス設計者向け~
oidfj
0
230
可視化から活用へ — Mesh化・Segmentation・アライメントの研究動向
gpuunite_official
0
190
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
260
20260515 ⾃分のアカウントとプライバシーを守る認証と認可の話〜利⽤者向け〜
oidfj
0
240
AI時代に、 データアナリストがデータエンジニアに異動して
jackojacko_
0
820
(きっとたぶん)人材育成や教育のような何かの話
sejima
0
730
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
240
GitHub's CSS Performance
jonrohan
1033
470k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
First, design no harm
axbom
PRO
2
1.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Making Projects Easy
brettharned
120
6.6k
sira's awesome portfolio website redesign presentation
elsirapls
0
240
A Modern Web Designer's Workflow
chriscoyier
698
190k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
910
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
210
Transcript
ϚΠΫϩαʔϏεͷࢥ͔Βଊ͑Δ #BDLFOETGPS'SPOUFOETͱͦͷྨࣅύλʔϯ ٱଠ!RTPOB גࣜձࣾ'J/$ 6*55IFl#BDLFOETGPS'SPOUFOETzTIBSJOH
ࣗݾհ 2 • ໊લٱଠ !RTPOB • גࣜձࣾ'J/$ • ओʹαʔόαΠυΤϯδχΞ
͓खॊΒ͔ʹʂ • #''ྺ ʙ • .JDSPTFSWJDFT.FFUVQओ࠵
ΞδΣϯμ 3 ‣ ষ#''ͱɺͦͷҐஔ͚ͮͱత ‣ ষ#''ͱϚΠΫϩαʔϏεͷؔੑ ‣ ষ#''ͱͦͷྨࣅύλʔϯͷ࣮ફ
ΞδΣϯμ 4 ▾ ষ#''ͱɺͦͷҐஔ͚ͮͱత ‣ #''ͱʁ ‣ #''ͷཱͪҐஔ ‣ #''ͷతɾղܾ͢Δ՝
‣ ষ#''ͱϚΠΫϩαʔϏεͷؔੑ ‣ ষ#''ͱͦͷྨࣅύλʔϯͷ࣮ફ
#''ͱʁ 5 • ࢲݟ#'' #BDLFOETGPS'SPOUFOET ʹ গ͠༻ޠͷࠞཚ͕͋ΔΑ͏ʹࢥ͏ • ʮ4FSWFSTGPS'SPOUFOETʯ͕ΑΓ࣮ଶʹ͍ۙ •
'SPOUFOE#BDLFOEཧతͳྨ • $MJFOU4FSWFSཧతͳྨ
#''ͷཱͪҐஔ 6 • ཧత'SPOUFOEʹҐஔ͠ɺཧతʹ4FSWFSͰ͋Δ
#''ͷతɾղܾ͢Δ՝ 7 • ϚΠΫϩαʔϏεͷ"1*܈Λɺ6*͚ʹ߹͢Δ • ͜ͷൃදͰ͜ΕΛ۷ΓԼ͛Δ • ͦͷଞʹ͍Ζ͍Ζ͋Δ • Ωϟογϡ
6*ϨΠϠͷ"#ςετ FUD • ࠓ͍ΖΜͳࣄྫ͕ݟΕΔͣʂ
ΞδΣϯμ 8 ‣ ষ#''ͱɺͦͷҐஔ͚ͮͱత ▾ ষ#''ͱϚΠΫϩαʔϏεͷؔੑ ‣ ϚΠΫϩαʔϏεͱʁ ‣ ΫϥΠΞϯτͱϚΠΫϩαʔϏεͷؔ
‣ ϚΠΫϩαʔϏεͷ౷߹ͷํ๏ ‣ ষ#''ͱͦͷྨࣅύλʔϯͷ࣮ફ
ϚΠΫϩαʔϏεͱʁ 9 • ڠௐͯ͠ಈ࡞͢ΔɺখنͰࣗతͳαʔϏε • ֤ϏδωεΛ୲͢ΔνʔϜ͕ɺಠཱʹϦϦʔεαΠΫ ϧΛ࣋ͪɺߴʹ1%$"Λճ͢͜ͱ͕Ͱ͖Δ • 'J/$ͷαʔϏεΛྫʹͱͬͯઆ໌͢Δ •
'J/$ݸͷϚΠΫϩαʔϏεΛӡ༻த
10 'J/$ͷϓϩμΫτ ʙϔϧεέΞɾඒ༰ʹಛԽͨ͠&$αΠτʙ Ҩࢠใ ݂ӷݕࠪ݁Ռ ݈σʔλ νϟοτ ͍߹Θͤ ߪങཤྺ ࠂใ
ϩάΠϯ࣌ؒ ར༻ස ੜମใɾ׆ಈσʔλ ҩྍɾݕࠪσʔλ ߦಈཤྺ ͓Έ าɾ׆ಈྔ ݂ѹ ମௐɾؾ ৯ࣄ࣌ؒɾ༰ ਭɾब৸࣌ؒ ମॏɾମ ੜཧ ੜ׆श׳ ʙϨγϐϑΟοτωεϥΠϑϋοΫͷಈըίϯςϯ πʙ ࢟ ʙ'J/$๏ਓɾ݈อ͚ΣϧωειϦϡʔγϣϯʙ
'J/$ͷϓϩμΫτͱϚΠΫϩαʔϏε 11 • ֤ϓϩμΫτ͕ɺߋʹ༷ʑͳػೳΛแ͍ͯ͠Δ • ྫ'J/$ΞϓϦ • ϥΠϑϩά า ਭ
FUD • ϑΟοτωεத৺ͷಈըϝσΟΞ • ίϛϡχςΟػೳ • QVTI௨ ΦϯϘʔσΟϯά ͳͲ • ֤ػೳ૬ޓʹ࿈ܞ͍ͯ͠Δ • ྫา͘ͱϙΠϯτ͕Β͑Δ'J/$ϞʔϧͰ͑Δ • "1*࿈ܞඇಉظΠϕϯτ࿈ܞ
'J/$ͷϓϩμΫτͱϚΠΫϩαʔϏε 12 • ֤ػೳɺಠཱͯ͠େ͖ͳϏδωεʹҭ͍ͯͨ • 'J/$ͷϓϩμΫτͷػೳʹɺ୯ମͰࣄۀʹͳΓ͏Δ ͷ͕ͨ͘͞Μ͋Δ • ͦΕΒΛಠཱͯ͠αʔϏεʹΓग़͢͜ͱͰɺνʔϜ͕ ࣗɾಠཱͯ͠։ൃϦϦʔεαΠΫϧΛճ͠ɺߴʹ
1%$"͢Δ͜ͱ͕Ͱ͖Δ
• ϞϊϦγοΫαʔϏεͷ߹ • ΫϥΠΞϯτOαʔϏε ΫϥΠΞϯτͱαʔϏεͷؔ 13
• ϚΠΫϩαʔϏεͷ߹ • ΫϥΠΞϯτONαʔϏε ΫϥΠΞϯτͱαʔϏεͷؔ 14
• ͜ͷਤͷΑ͏ʹɺΓͱΓ͢ΔͱͲ͏ͳΔ͔ʁ ϚΠΫϩαʔϏεͷ౷߹ͷํ๏ 15
ΓͱΓ͢Δ 16 • ΫϥΠΞϯτʹछʑͷෳࡶ͕͋͞Δ • ༷ʑͳϗετΛΒͳ͚ΕͳΒͳ͍ • ը໘Λߏ͢Δͷʹෳճ"1*ϦΫΤετ͕ඞཁ •
୯Ұͷ#BDLFOEͰ͋Εɺ(SBQI2-͕Ұͭͷղܾࡦ • ෳͷϚΠΫϩαʔϏεͷݺͼग़͠ґવͱͯ͠ • ղܾࡦதؒʹαʔόΛஔʁ
"1*(BUFXBZύλʔϯ 17 • ͯ͢ͷαʔϏεΛू͠ɺ'SPOUFOE͚ʹఏڙ͢Δ ϨΠϠ
"1*(BUFXBZύλʔϯ 18 • ,POHͳͲͷ"1*(BUFXBZ͕͋Δ • "1*ूͷଞʹɺೝূɺྲྀྔ੍ޚͳͲΛͬͯ͘ΕΔ • جຊతʹ#BDLFOEͷΤϯδχΞ͕ཧ͢Δͷ
"1*(BUFXBZύλʔϯ 19 • "1*(BUFXBZʹಠࣗͷϩδοΫ࣋ͨͤʹ͍͘ • ϩδοΫΛ࣋ͭͱɺڊେͳ݁߹ϨΠϠʹͳΓɺΫϥΠΞϯ τͷ૿Ճʹରͯ͠εέʔϧ͠ͳ͍ • ༷ʑͳϩδοΫ͕ฆΕࠐΈ͘͢ͳΓɺ݁ՌతʹϚΠΫϩ
αʔϏεͷಠཱੑΛ્͍͢͠ • 'SPOUFOE͕ࣗ༝ʹ͑ΔϨΠϠͰͳ͍ • ෳͷϦιʔεΛϦΫΤετͰฒྻʹऔಘɺ Ͱ͖Δ ͋Δ • ෳͷϦιʔεΛϚʔδͯ͠ฦ͢ɺͳͲͰ͖ͳ͍
#''ύλʔϯ 20 • ΫϥΠΞϯτ͝ͱʹɺར༻͢ΔαʔϏεΛू͢Δ
#''ύλʔϯ 21 • "1*(BUFXBZύλʔϯͱࣅͯඇͳΔͷ • αʔϏεଆ͕ूͯ͠ఏڙ͢ΔͷͰͳ͘ɺ ϑϩϯτΤϯυଆ͕ࣗͰબΜͰू͍ͯ͠Δ • ϚΠΫϩαʔϏεͷࣗੑ͕อͨΕΔ
• ϑϩϯτΤϯυͷࣗ༝͕ߴ͍
'SPOUFOE❤#''❤#BDLFOE
#''ͷҙ 23 • ຊདྷόοΫΤϯυͰΔ͖ϩδοΫΛ #''ʹ࣋ͨͳ͍Α͏ʹ͢Δ • ྑ͘ͳ͍ྫ#''Ͱߋ৽ॲཧΛΦʔέετϨʔγϣϯ • ͍ͣΕ͔ͷόοΫΤϯυαʔϏε͕Ұٛతʹߋ৽ॲཧΛड ͚ɺͦͷαʔϏε͕ඇಉظΠϕϯτΛൃߦ͠ଞαʔϏεʹ
ͤ͞ΔͱΑ͍ • ϚΠΫϩαʔϏεශ݂ʹҙ • ۃྗόοΫΤϯυʹدͤΔҙࣝ
͜͜Ͱએ 24 • ٕज़ॻయͰʮ.JDSPTFSWJDFTBSDIJUFDUVSFΑΖͣຊʯ ͱ͍͏ಉਓࢽΛग़͠·ͨ͠ • 'J/$ͷΤϯδχΞਓͷڞஶ • ඇಉظΞʔΩςΫνϟ.JDSP'SPOUFOETͷͳͲΛղઆ ͍ͯ͠·͢ʂ
ΞδΣϯμ 25 ‣ ষ#''ͱɺͦͷҐஔ͚ͮͱత ‣ ষ#''ͱϚΠΫϩαʔϏεͷؔੑ ‣ ষ#''ͱͦͷྨࣅύλʔϯͷ࣮ફ ‣ 'J/$ͷ৽ࣄྫ#''GPSJ04"OESPJE"QQ
‣ .JDSP'SPOUFOET
ΞδΣϯμ 26 ‣ ষ#''ͱɺͦͷҐஔ͚ͮͱత ‣ ষ#''ͱϚΠΫϩαʔϏεͷؔੑ ‣ ষ#''ͱͦͷྨࣅύλʔϯͷ࣮ફ ‣ 'J/$ͷ৽ࣄྫ#''GPSJ04"OESPJE"QQ
‣ .JDSP'SPOUFOET
ߏਤ 27
J04 "OESPJEͰͭͷ#'' 28 • J04"OESPJEͰجຊతʹಉ͡ΞϓϦΛఏڙ͍ͯ͠Δ • ػೳɺը໘ߏɺભҠͳͲಉ͡ • ࡉ͔͍6*ϓϥοτϑΥʔϜ͝ͱʹҟͳΔ͕ɺ ͜Ε$MJFOUଆ͕୲͢Δɻ#''ͷͰͳ͍
• #''͕୲͢ΔϨΠϠɺΉ͠Ζڞ௨Խ͔ͨͬͨ͠ • %PNBJO%SJWFO%FTJHOͰݴ͏ͱ͜Ζͷ 3FQPTJUPSZͱ ͯ͠%PNBJO0CKFDUΛฦ͢ͱ͜Ζ·ͰΛຊ୲͍ͨ͠ • ݴޠͷน·ͨ͛ͳ͍ͷͰશͳ%PNBJO0CKFDUΛฦ͢ͷ ແཧ͕ͩɾɾɾ
8IZH31$ 29 • 31$ܗࣜͷݺͼग़͠ʹ͔ͨͬͨ͠ • ਖ਼֬ʹʮ3&45GVMආ͚͔ͨͬͨʯ͔ • ఏڙͷత͕୯ҰͰ͋ΓɺΫϥΠΞϯτΛڧ͘ҙࣝͨ͠"1* ʹͯ͠ͳ͍ Ή͠Ζ͢Δ͖
• 3&45GVMతͳ"1*ʹ͢Δͱɺ$MJFOUͰ+40/ΛϚοϓ͢Δίʔ υ͕ଟ͘ඞཁʹͳΔ • J04"OESPJEͰͷ࣮ͷࠩΛͳΔ͘ͳ͍ͨ͘͠ • ʮ#''31$తͳ"1*ఏڙΛ͖ͩ͢ʯͱ͍͏ࡶͳఏىΛ ͓ͯ͘͠ͷͰɺ࠙ձͱ͔Ͱ͍ٞͨ͠ • ܕཉ͔ͬͨ͠ 1SPUPDPM#VGGFST
8IZ,PUMJO 30 • 'SPOUFOEͷΤϯδχΞ͕ॻ͘͜ͱΛڧ͘ҙ͍ࣝͯ͠Δ • "OESPJEͰ,PUMJOΛ࠾༻͍ͯ͠Δ • J04 4XJGU ͔Βͷֶशίετ͍
• ʮฒྻॲཧʯͷཁ݅ΫϦΞͰ͖Δ • $PSPVUJOFTBSFFYQFSJNFOUBMJO,PUMJO • ฒྻॲཧɺ#''Ͱ΄΅ඞਢཁ݅Ͱ͋Δ • ฒྻॲཧͰ͍͑(P/PEFKTͷ͕ݱঢ়্
ΞδΣϯμ 31 ‣ ষ#''ͱɺͦͷҐஔ͚ͮͱత ‣ ষ#''ͱϚΠΫϩαʔϏεͷؔੑ ‣ ষ#''ͱͦͷྨࣅύλʔϯͷ࣮ફ ‣ 'J/$ͷ৽ࣄྫ#''GPSJ04"OESPJE"QQ
‣ .JDSP'SPOUFOET
ڀۃͷϚΠΫϩαʔϏε 32 • αʔϏε͕ಠཱͷσϓϩΠαΠΫϧΛ࣋ͪɺ Ϗδωεͷ1%$"ΛߴʹճͤΔ • ϏδωεόοΫΤϯυ͚ͩͰͳ͍ • 6*Ϗδωεʹؚ·ΕΔͣ •
νʔϜͷதʹ#BDLFOE୲ 'SPOUFOE୲͕͍ͯ ڠྗ͍ͯ͠Δͷ͕ཧ Ή͠Ζී௨ʁ • #'''SPOUFOEνʔϜͷ͚࣋ͪͩͲɺ 'SPOUFOEνʔϜͦͦϚΠΫϩαʔϏεͷཧͱ ͢Δʂ
αʔϏε͕6*ఏڙʁ 33 • ϚΠΫϩαʔϏε͕6*ίϯϙʔωϯτΛఏڙ͢Δ • $MJFOU͕ͦΕΛ౷߹͢Δ
JGSBNF 34 • JGSBNFΛར༻͢ΕͰ͖Δ • ֤αʔϏε௨ৗͷ)5.-Λఏڙ͢Δ • QPTU.FTTBHFͰΓͱΓ͢Δ
ڀۃͷ.JDSP'SPOUFOET 35 • ͦΕ8FC$PNQPOFOUTͰͰ͖ΔΑ • ֤αʔϏε$VTUPN&MFNFOUTΛఏڙ͢Δ • $VTUPN&WFOUTͰΓͱΓ͢Δ
.JDSP'SPOUFOETͷͱରࡦ 36 • 6* 69 ͷҰ؏ੑΛ୲อ͢Δͷ͕͍͠ • ΨΠυϥΠϯ6*ϥΠϒϥϦͰରॲ • খ͞ͳ'SPOUFOEνʔϜ͕
$MJFOUͱελΠϧΨΠυΛϝϯςφϯε͢Δ
.JDSP'SPOUFOETͷ͓ؾ࣋ͪ 37 • αʔϏεͷಠཱੑͱҰ؏ੑຊ࣭తʹτϨʔυΦϑ • τϨʔυΦϑΛཧղ͠ɺͦΕͧΕͰదͳબΛ • #''ͱͷϋΠϒϦουख๏औΕΔ • αʔϏεͷڥքͰ6*͕໌֬ʹ͔ΕΔͷɺ
αʔϏε͕6*࣋ͭ • ͦ͏Ͱͳ͍ͷ#''Ͱ"1*߹
ϋΠϒϦουख๏ 38
8FCҎ֎ͷ 39 • ωΠςΟϒΞϓϦͰʁ • جຊతʹ αʔϏε͕6*ΛఏڙͰ͖ͳ͍ • $MJFOUͷϞδϡʔϧԽΛۃྗϚΠΫϩαʔϏεͷ୯Ґʹ ߹Θ͍ͤͯ͘
• ߹ʹΑͬͯ8FC7JFX͋Δ
·ͱΊ 40 • ϚΠΫϩαʔϏεɺ֤ϏδωεΛಠཱͯ͠ߴʹ1%$" Λճ͍ͯͨ͘͠Ίͷख๏ • #''ɺϚΠΫϩαʔϏεͷ"1*౷߹Λߦ͏ • ֤'SPOUFOEͷॴ༗ͱͯ͠࡞Δ͜ͱͰɺ#BDLFOEͷಠཱੑ Λ୲อͨ͠··'SPOUFOE͕ࣗ༝ʹѻ͑Δ
• #''31$తͳ"1*ఏڙΛ͖ͩ͢ ࡶͳఏى • ͞ΒʹϏδωεͷಠཱΛߴΊΔख๏͕͋ΓɺτϨʔυ Φϑ͕ଘࡏ͢Δ