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
Microservices Architectureに取り組んでみえたこと
Search
yoshiyoshifujii
June 24, 2017
Design
3
4.1k
Microservices Architectureに取り組んでみえたこと
KANJAVA PARTY 2017
https://kanjava.connpass.com/event/56152/
yoshiyoshifujii
June 24, 2017
Tweet
Share
More Decks by yoshiyoshifujii
See All by yoshiyoshifujii
プロダクトオーナーの視座から見た信頼性とオブザーバビリティ / Reliability and Observability from the Perspective of a Product Owner
yoshiyoshifujii
1
1.4k
プロダクトオーナーがFour Keys + 信頼性に思うところ / Product Owners Think of Four Keys + Reliability
yoshiyoshifujii
0
460
Recapping Chatwork Scala Journey - ScalaMatsuri2023
yoshiyoshifujii
0
2.6k
ここ数ヶ月でAkkaを勉強した方法について紹介 / I have studied Akka in the past few months
yoshiyoshifujii
1
250
コードをどまんなかに据えたモデリング-Scala版 / Modeling with code in the middle-Scala version
yoshiyoshifujii
0
120
Chatworkのドメインをモデリングした / Modeling Chatwork domain
yoshiyoshifujii
0
800
サマーインターンシップ2019で学生とDDDなScala開発に取り組んだ / Working on DDD and Scala development with students at Summer Internship 2019
yoshiyoshifujii
2
4k
Clean Architecture in Practice @ScalaMatsuri2019
yoshiyoshifujii
9
3.9k
実践 Clean Architecture
yoshiyoshifujii
13
10k
Other Decks in Design
See All in Design
Карта процесса-опыта. Презентация метода
ashapiro
0
330
Designship2024 Panel Discussion インハウスデザイナーは 何をデザインしているか、するべきか で使用したスライドを公開します。
kiyoshifuwa
0
2.1k
Картирование процесса фасилитация стратсессий с Картой гипотез при помощи Карты процесса-опыта
ashapiro
0
400
エムスリー株式会社 デザイングループ紹介資料 / m3design-team-profile
m3designer
0
4.7k
Charcoal 2.0: デザインシステムの基盤を再構築
godlingkogami
1
440
今日から始める グラレコ チャレンジ DevRel/Tokyo #94 〜グラレコ チャレンジ〜
moshimoshiyuki
0
110
20241019-CUD友の会「困った!を解決するデザイン改訂版」交流会
majimasachi
0
260
利用者が離れないUX/UIデザイン 長く使われる業務アプリデザインのポイント
ncdc
3
170
Money Forward UIの紹介 / Introducing Money Forward UI
taigakiyokawa
1
510
ENEOS社事例|アプリ事業を加速させるデザイナーの取り組み / dx-eneos-design
cyberagentdevelopers
PRO
1
270
ito aya|Portfolio2409
itoaya116
0
260
デザインシステム構築の進め方 基本から実践まで、具体的な手順を徹底解説
ncdc
1
210
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
We Have a Design System, Now What?
morganepeng
50
7.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Happy Clients
brianwarren
98
6.7k
How to Ace a Technical Interview
jacobian
276
23k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Fireside Chat
paigeccino
34
3k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
What's new in Ruby 2.0
geeforr
343
31k
A Tale of Four Properties
chriscoyier
156
23k
Transcript
.JDSPTFSWJDFT"SDIJUFDUVSFʹ औΓΜͰΈ͑ͨ͜ͱ 4BU !ZPTIJZPTIJGVKJJ
ؔδϟόͷΈͳ͞Μ͜Μʹͪ w:PTIJUBLB'VKJJ !ZPTIJZPTIJGVKJJ w4PGUXBSF&OHJOFFS w4DBMB+BWB1ZUIPO 5ZQFTDSJQU w4DBMBؔ4VNNJU4UB⒎
None
None
None
ି͠ग़͠Ͱ͖Δ෦ w ηϛφʔϗʔϧ ໊ w ձٞࣨ ໊͔Β໊ w
ΧϑΣεϖʔε ໊ w ϏΞόογϡͳͲͷ࠙ձ։࠵ՄೳͰ͢ʂ
None
None
None
ຊ
wࠓ͓͢Δ͜ͱ wࢲ͕࠷ۙɺ.JDSPTFSWJDFTʹऔΓΜͰ͔ͬͨ͜ͱ w.JDSPTFSWJDFT"SDIJUFDUVSF w%%% w"HJMF4DSVN%FW0QT w41"3&45GVM4FSWFSMFTT"SDIJUFDUVSF w͠ͳ͍͜ͱ wͦΕͧΕͷਂ͍આ໌
.JDSPTFSWJDFTΛ ͓͞Β͍͓͖ͯ͠·͠ΐ͏
.JDSPTFSWJDFTͭͷಛ αʔϏεΛ௨ͨ͡ίϯϙʔωϯ τԽ ϏδωεߦೳྗʹؔΘΓ ৫͕ཧ͞ΕΔ͜ͱ ϓϩδΣΫτͰͳ͘ϓϩμΫ τ
ݡ͍ TNBSU ΤϯυϙΠϯτͱ ࢄ౷࣏ ࢄσʔλཧ ΠϯϑϥࣗಈԽ োͷͨΊͷઃܭ ਐԽతͳઃܭ ླ༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢܦ#1/FYU*$5બॻʣ ,JOEMFͷҐஔ/P ܦ#1,JOEMF൛
ෳαʔϏεͰߏ w ͭͷΞϓϦέʔγϣϯΛΑΓখ͞ ͳ୯ҐͷʮαʔϏεʯͷΈ߹Θ ͤͰߏ͢Δख๏ w ͦΕͧΕͷαʔϏεݸผͷϓϩ ηεͰಈ࡞ w "1*Λ௨ͯ͡)551ͳͲͷඪ४తͳ
ϓϩτίϧͰ࿈ܞ ླ༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢܦ#1/FYU*$5બॻʣ ,JOEMFͷҐஔਤ ܦ#1,JOEMF൛
αʔϏε͝ͱͷϥΠϑαΠΫϧ wϞϊϦγοΫ Ұຕؠ ͩͱӨڹ ௐࠪʹ͕͔͔࣌ؒΔ wӨڹൣғαʔϏε෦ʹด͡ Δ w࣮ࡍɺͦΜͳ୯७Ͱͳ͍ wαʔϏεͷׂ͕ॏཁͰɺ͍͔ ʹӨڹൣғΛαʔϏε෦ʹཹ
ΊΔ͔ ླ༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢܦ#1/FYU*$5બॻʣ ,JOEMFͷҐஔਤ ܦ#1,JOEMF൛
ૄ݁߹ͳαʔϏε࿈ܞ wૄ݁߹ͷදʮΩϡʔʯΛ ༻͍ͨ࿈ܞ wαʔϏεಉ͕࢜࿈ܞͤͣ ʹࡁΉ wαʔϏεͷμϯλΠϜΛ ؾʹ͠ͳͯ͘ྑ͍ w࿈ܞઌαʔϏεͷੑೳྼԽ ླ༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢܦ#1/FYU*$5બॻʣ
,JOEMFͷҐஔਤ ܦ#1,JOEMF൛
σʔλϕʔεαʔϏε͝ͱʹ wैདྷγεςϜɺͭͷΞ ϓϦʹͭͷσʔλϕʔε wσʔλϕʔεڞ༗ੑೳ ͕ʹ wࢄσʔλϕʔε߹ ੑ͕ʹ ླ༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢܦ#1/FYU*$5બॻʣ ,JOEMFͷҐஔਤ
ܦ#1,JOEMF൛
αʔϏεߏཧ wαʔόʔߏஙखଓ͖Λ ίʔυԽ w%PDLFS wΫϥυಛ༗ͷ͠͞ ླ༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢܦ#1/FYU*$5બॻʣ ,JOEMFͷҐஔਤ ܦ#1,JOEMF൛
ࠓͷ͋͐͡Μͩ wαʔϏεͷίϯϙʔωϯτԽ w৫ӡӦ wٕज़తͳબ
ࠓͷ͋͐͡Μͩ wαʔϏεͷίϯϙʔωϯτԽ w৫ӡӦ wٕज़తͳબ
υϝΠϯۦಈઃܭ wୈ෦ઓུతઃܭ ୈষϞσϧͷ߹ੑ Λҡ࣋͢Δ wڥք͚ͮΒΕͨίϯςΩ ετΛѲ͢Δ wγεςϜ͕ѻ͏υϝΠϯ Λཧղ͠దʹڥքΛઃ ܭ͢Δ &SJD&WBOTυϝΠϯۦಈઃܭʢᠳӭࣾʣ
1ਤ ᠳӭࣾ
υϝΠϯۦಈઃܭ w࠷ॳ͔ͬΒᘳΛࢦ͞ͳ͍ wίΞυϝΠϯʹண͢Δ w͋ͳͨͷγεςϜͷίΞͲ͜Ͱ͔͢ʁ
ϢϏΩλεݴޠ w%PNBJO&YQBSUͱͷର wϞϊɾίτΛൈ͖ग़͢ wϢϏΩλεݴޠͱͯ͠ه͢Δ
ܧଓతͳ౷߹ wҰͰऴΘΒͳ͍ wίʔυͷ'#Λ׆͔͢ wސ٬ͷ'#Λ׆͔͢
ίϯςΩετϚοϓΛඳ͘ wγεςϜʹ͍ͭͯίϛϡχέʔγϣϯ͢Δͱ͖ʹ ඞͣͦʹஔ͍ͯ֬ೝ͢Δ wίϯςΩετؒͷґଘੑଟॏΛ໌֬ʹ͢Δ
ґଘͷύλʔϯ wڞ༗Χʔωϧ wސ٬ڞ༗ऀͷ։ൃνʔϜ w͍ΘΏΔQVCTVC w͍ͬΆ͏͕ఆ͍ٛͯͬ͠Ά͏͕ड͚ͱΔ wૄ݁߹Ͱྑ͍
ґଘͷύλʔϯ wҰํతͰͳ͘ཁΛग़͍͍ͯ͠ wίϯςΩετؒͰѻ͏ݴޠ͕ҟͳͬͨͱͯ͠ɺ ίϛϡχέʔγϣϯͷϑΥʔϚοτΛผ్ఆٛ͢Δ w$+BWB w1ZUIPO4DBMB wϑΥʔϚοτΛ4XBHHFSͰݻఆ
ґଘͷύλʔϯ wॱԠऀ wެ։ϗεταʔϏε wผʑͷಓ wίϯςΩετͷதͰผͷϢϏΩλεݴޠΛఆٛͯ͠ྑ͍ wϞσϧߏಉ͡Ͱͳͯ͘ྑ͍ w͏ͪͷίϯςΩετͰ͜͏ݺΜͰΔ͚ͲͶɻ ͦͬͪͰԿͯݺΜͰΔͷ͔ΒΜ͚Ͳ
ґଘͷύλʔϯ wഊࢭ wϨΨγʔͳϞσϧΛͲ͏ͯ͠͏ͱ͖ wΠέͯͳ໊͍শΛϢϏΩλεݴޠʹม͢Δ wچདྷόʔδϣϯΛ࣋ͬͯΔίϯςΩετͰ༗ޮ
ࠓͷ͋͐͡Μͩ wαʔϏεͷίϯϙʔωϯτԽ w৫ӡӦ wٕज़తͳબ
"HJMF wϓϩδΣΫτͰߟ͑ͣϓϩμΫτͰߟ͑Δ wઓུΛऔΔ wਐԽΛલఏͱͨ͠࠷దԽ wʮ͍·͜ΕͰྑ͍ʯͬͱ͍ͬͨஅ
εΫϥϜ wΧϯόϯͱͷ͔͚͋Θͤ wνʔϜຖͷਐḿΛݟ͑Δ Խ w/FYVTΨΠυ wେنεΫϥϜ։ൃͷ֎ ࠎ֨
νʔϜͷͭ͘Γ͔ͨ wίϯςΩετϚοϓʹै͏ wίϯςΩετͷཻόϥόϥ wνʔϜϏϧσΟϯάʹɺ.BOBHFNFOUͷ πʔϧ͕͑Δ
None
None
None
νʔϜʹΑͬͯ߹͍ʹ͕ࠩͰΔ wνʔϜΛൺֱͯ͠จ۟ΛݴΘͳ͍ wѻ͏ίϯςΩετ͕ҧ͏ͷͰҟͳͬͯવ wνʔϜੜ w৺ཧత҆શੑɺͪΐͬͱͨ͜͠ͱͰࣦͳΘΕΔ
%FW0QT wνʔϜͷ͕伴 w͍͖ͳΓͰ͖ͳ͍ w$%$*ڥΛ͑Δ w+FOLJOT wDPODPVSTFDJ
%FW0QT wϒϥϯνӡ༻νʔϜʹͤΔ wNBTUFSʹQVTI㱺νʔϜςετڥͷߏங wUBHΛΔ㱺νʔϜؒ݁߹ςετڥͷߏங wνʔϜؒ݁߹ςετڥͰͷςετ%POF㱺 1SPEVDUJPOڥߏங
%FW0QT w7BMVF4USFBN.BQQJOH wՁΛಧ͚Δ·Ͱͷఔ wৗʹϑϩʔΛચ࿅͢Δ wεϓϦϯτΛ;Γ͔͑Γચ࿅͠%FW0QTʹۙ͘
$POXBZͷ๏ଇ wγεςϜͷߏɺͦͷγεςϜΛઃܭ͢Δ৫ͷߏʹ ࣅΔ wνʔϜͷϝϯόʔ͕ߟ͑ͯઃܭ͢ΔΜ͔ͩΒͦΓΌͦʔͩ wٯʹڧ੍͠ͳ͍ੈք͕େࣄ w֎͔ΒઃܭΛڧཁ͢Δͱɺ৫͕มΘΔ w͍͍໘ѱ͍໘
ࠓͷ͋͐͡Μͩ wαʔϏεͷίϯϙʔωϯτԽ w৫ӡӦ wٕज़తͳબ
41" w4JOHMF1BHF"QQMJDBUJPO w.JDSPTFSWJDFTͰߏ͞ΕΔγεςϜͷϑϩϯτΤϯυ ʹ࠷ద w41"ͷϞδϡʔϧɺίϯςΩετΛԣஅͯͭ͠ʹͳΔ w༷ʑͳίϯςΩετ͕ࠞͬͨͭ͡ͷϞδϡʔϧ wNFSHFͱDPOqJDUආ͚ΒΕͳ͍
3&45GVM wݪଇ౿ऻ͢Δ͕ɺݫີʹ͠ͳ͍ w4XBHHFSͰ"1*Λެ։ wνʔϜؒͷձɺ4XBHHFSΛ༻͍Δ
4FSWFSMFTT"SDIJUFDUVSF w4DBMB.BUTVSJ w4FSWFSMFTT "SDIJUFDUVSFΛ 4DBMBͰͬͯΈͨ Λ͠·ͨ͠
Amazon API Gateway client AWS Lambda Amazon S3 Amazon DynamoDB
Amazon Kinesis AWS Lambda AWS Lambda Amazon Elasticsearch Service Context + Token Principal + Policy Policy is cached Denied 403 Allowed Auth function Consumers function System diagrams
4FSWFSMFTT"SDIJUFDUVSF w͍Ͳ͜ΖΛબͿ wίϯςΩετΛ·Δ͝ͱ4FSWFSMFTTʹ͢Δ͜ͱԽ w3%#ͷ߹ɺDPOOFDUJPO͕ރׇ w71$ىಈʹͳΓɺ&/* &MBTUJD/FUXPSL *OUFSGBDF ͷ࡞ʹඵ
4FSWFSMFTT"SDIJUFDUVSF w%%%ͱͷ૬ੑ͍͍ w4DBMBͱͷ૬ੑ͍͍ wTCUͷNVMUJQSPKFDUΛ׆༻ͯ͠KBSͷαΠζΛඞ ཁ࠷খݶʹ
4FSWFSMFTT"SDIJUFDUVSF wϨΠϠʔͷґଘϞσϧ w4FSWFSMFTT"SDIJUFDUVSF ɺWFOEPSMPDLJOલఏͷΞ ʔΩςΫνϟ w%%%ͱΈ߹Θͤͯ࡞Δ͜ͱ ͕Ͱ͖ΕɺίΞͳϏδωε ϩδοΫ͕ϩοΫΠϯ͞Εͳ ͍
"QQMJDBUJPO *OGSBTUSVDUVSF %PNBJO "1* WFOEPSMPDLJO
4FSWFSMFTT"SDIJUFDUVSF wϕετͳ8FC"QQMJDBUJPOͷߏஙύλʔϯΛମݧ ֶͯ͠Δ wଞͷ8FC"QQMJDBUJPOΛߏஙɾઃܭ͢Δࡍʹɺ ʮ͋Ε ͋ͬͪͩͱͰ͖ͯΔΑ ʯͱϑΟʔυόο ΫͰ͖Δ
%BUB4UPSBHFͷબ wϢʔεέʔεʹԠͯ͡ %BUB4UPSBHFΛબ ͢Δ w$PNNBOEͱ2VFSZͰ ҟͳΔετϨʔδબ Մೳ 4 LFZWBMVF %ZOBNP
%# ٯҾ͖͕ඞཁ Ұཡऔಘ 3%# 3FMBUJPOBMNPEFM͕ ඞཁ &MBTUJD 4FBSDI ߴͳશจݕࡧ͕ඞ ཁ
ඇಉظϝοηʔδϯάύλʔϯ wϢʔεέʔεʹԠͯ͡ϝοη ʔδϯάͷύλʔϯ͕͋Δ w,BGLBΛಋೖ͢ΔͱɺͥΜ Ϳ͜Ε͍͚ͬͯΔ͔ wͱ͍͑ɺίετ͕େʹ ͳΔ͔͠Εͳ͍ wۜͷؙͳ͍ ରൺ
αʔϏε උߟ 424 / ,JOFTJT ੍͋Γ "QBDIF ,BGLB ηϧϑϚω δϝϯτ
$234 ॻ͖ࠐΈ ಡΈࠐΈ σʔλͷ߹ੑͷҡ࣋ σʔλͷݕࡧͱநग़ͷޮԽ ΞτϛοΫͳߋ৽τϥϯβΫγϣϯ ಋग़ ߹ܭͳͲ ͷࢉग़
όʔδϣϯཧ ָ؍తฒߦੑ੍ޚ ָ؍తϩοΫ ෳͷϏϡʔͷఏڙ ॻ͖ࠐΈݖݶͷཧ ߦϨϕϧɺྻϨϕϧͷݖݶཧ $234ͱΠϕϯτιʔγϯάͷ༻๏ɺ·ͨʮ$36%ʹԿ͔Ͱʁʯ IUUQQPTUEDDVTJOHDRSTXJUIFWFOUTPVSDJOH
$234 w$PNNBOEʹɺ%PNBJOϩδοΫΛ w2VFSZɺݖݶऔಘΛߟྀ͠ɺݕࡧੑೳʹ༏Εͨऔಘϩ δοΫΛ w&WFOU4PVSDJOHͱͷ૬ੑ͕ྑ͍ wج൫ͷߏஙɺͦΕͳΓͷίετ͕͔͔Δ w෦తʹ࠾༻͠ɺঃʑʹ֦େ͍ͯ͘͠ͷ͕ྑ͍
IUUQXXXPVBS[ZDPNBGFXNZUITBCPVUDRST
ڞ௨ॲཧͷ෦Խ w.BWFOͰKBSΛڞ༗ w4DBMBͷTCUศར w+BWBͱ͔ͦͷଞͱൺֱͨ͠Θ͚͡Όͳ͍ wNVMUJQSPKFDU wґଘͷํੑΛཧ͍͢͠ wEFQFOET0O wMJCSBSZ%FQFOEFODJFT
ϦΞΫςΟϒએݴ wଈԠੑ 3FTQPOTJWF wোੑ 3FTJMJFOU wྗੑ &MBTUJD
wϝοηʔδۦಈ .FTTBHF%SJWFO
ଈԠੑ wγεςϜՄೳͳݶΓ͢Έ͔ʹԠ͢Δ w͕ૉૣ͘ݕग़͞ΕޮՌతʹରॲͰ͖Δ wਝͰ͔ͭҰ؏ͨ͠Ԡ࣌ؒΛఏڙ͢Δ͜ͱʹओ ؟Λஔ͘
োੑ wγεςϜোʹ໘ͯ͠ଈԠੑΛอͪଓ͚Δ wোੑΛ࣋ͨͳ͍γεςϜো͕ى͖Δͱଈ ԠੑΛࣦ͏ wোੑɺϨϓϦέʔγϣϯɺ෧͡ࠐΊɺִɺ ͦͯ͠ҕৡʹΑ࣮ͬͯݱ
ྗੑ wγεςϜϫʔΫϩʔυ͕มಈͯ͠ଈԠੑΛอ ͪଓ͚Δ wγεςϜͷதʹڝ߹͢Δॴத৺తͳϘτϧωο Ϋ͕ଘࡏ͠ͳ͍Α͏ʹઃܭ wγϟʔσΟϯάͨ͠ΓϨϓϦέʔγϣϯͨ͠ίϯ ϙʔωϯτؒʹೖྗΛࢄͤ͞Δ
ϝοηʔδۦಈ wϦΞΫςΟϒγεςϜඇಉظͳϝοηʔδύο γϯάʹґͬͯίϯϙʔωϯτؒͷڥքΛཱ֬ wૄ݁߹ੑɺִੑɺҐஔಁաੑΛอূ͢Δͱڞʹɺ ΤϥʔΛϝοηʔδͱͯ͠ҕৡ w໌ࣔతͳϝοηʔδύογϯάෛՙͷཧͱ ྗੑΛՄೳ
ϝοηʔδۦಈ wγεςϜʹϝοηʔδΩϡʔΛ࡞ͯ͠ࢹ͠ɺ ඞཁͳΒόοΫϓϨογϟʔΛద༻͢Δ͜ͱͰϑ ϩʔ੍ޚ͕Մೳ wϊϯϒϩοΩϯά௨৴ʹΑΓɺड৴ଆΞΫςΟ ϒ࣌ͷΈϦιʔεΛফඅͰ͖ΔͷͰγεςϜͷΦʔ όϔουΛ੍
ϊϯϒϩοΩϯά w"DUPSϞσϧΛ׆༻ͨ͠γεςϜ w"LLB IUUQBLLBJP w"LLB)551ɺ"LLB4USFBNTͰ3&45GVMͳ8FC"1*α ʔόʔͱɺඇಉظॲཧΛߏஙՄೳ w$MVTUFSɺ4IBSEJOHɺ1FSTJTUFODFݕ౼ w"LLB͍͍ͧ
·ͱΊ
·ͱΊ wαʔϏεͷίϯϙʔωϯτԽʹ͓͍ͯɺ%%%ͷڥ ք͚ͮΒΕͨίϯςΩετΛ࠾༻ͨ͠ w৫Խʹ͓͍ͯɺ4DSVNͰ͡Ίͯɺ%FW0QTΛ ࢦ͢ wٕज़બɺ༷ʑͳٕज़ͷΈ߹Θͤɻϊϋ ͨΊΔɻ