Slide 1

Slide 1 text

3BJMTFOHJOFΛ༻͍ͨ ΏΔ;ΘϞδϡϥʔϞϊϦε ͷ͝঺հ 5IV খྛޛ࢙ OPFM ϒϧʔϞূ݊גࣜձࣾ 0NPUFTBOEPSC

Slide 2

Slide 2 text

■ খྛ ޛ࢙ʢখྛ ϊΤϧʣ ■ ຊۀɿϒϧʔϞূ݊גࣜձࣾ औక໾$50 – ถࠃגɾถࠃ&5'ઐۀͷ௕ظࢿ࢈ܗ੒ಛԽ ܕͷ౤ࢿΞϓϦΛ࡞ͬͯΔ'JOUFDIελʔ τΞοϓ ■ ೥΄ͲϑϦʔϥϯεΤϯδχΞ – ్தࣄۀձࣾͷதͷਓ΋΍ͬͨ ■ ʙɿϒϧʔϞΠϯϕετϝϯτגࣜձࣾ Λڞಉ૑ۀʢޙʹϒϧʔϞূ݊גࣜձࣾʹ঎߸ มߋʣ ■ झຯɿཱྀߦɾੈքͷίϫʔΩϯάεϖʔεΊ͙ ΓʢϫʔέʔγϣϯతͳԿ͔ʣ @free_world21 THE FARM@NY CARR WORKPLACE@Chicago https://bloomo.co.jp/

Slide 3

Slide 3 text

એ఻ɿҰൠެ։͠·ͨ͠ʂ

Slide 4

Slide 4 text

એ఻ɿҰൠެ։͠·ͨ͠ʂ

Slide 5

Slide 5 text

ຊ୊

Slide 6

Slide 6 text

େΞʔΩςΫνϟʢʁʣ ϞϊϦεΞʔΩςΫνϟ ■ ͍ΘΏΔຕؠ ■ ͭͷϦϙδτϦʢϓϩδΣΫτʣ ʹ͢΂ͯͷίʔυ͕ೖͬͯΔ ■ ݸਓ։ൃ΍খن໛։ൃͰ΍ΔͳΒ͜ Ε ■ ૊৫తʹ΍͍ͬͯ͘৔߹͸ɺਆͷ໨ Λ࣋ͭγϯɾΤϯδχΞ͕ඞཁʹ ͳͬͯ͘Δؾ͕͢Δ ϚΠΫϩαʔϏεΞʔΩςΫνϟ ■ ෳ਺ͷখ͞ͳαʔϏεʢσϓϩΠ Մೳͳ୯Ґ㲈ϓϩηεɺίϯς φʣ͕ڠௐ͋ͬͯͭ͠ͷେ͖ͳ αʔϏεΛ࣮ݱ͢Δ ■ ,VCFSOFUFTͱηοτͰޠΒΕΔ ͜ͱ͕ଟ͍ʢಛʹ(Pք۾ʣ ■ ਓ΋ۚ΋͋Δڧऀͷઓུʢͩͱ ࢥͬͯΔʣ ϞδϡϥʔϞϊϦεΞʔΩςΫνϟ ■ ͦͦ͜͜େ͖͍մΛෳ਺૊Έ߹Θͤ ͯͭͷେ͖ͳαʔϏεΛ࣮ݱ͢Δ ■ ϞϊϦεͱϚΠΫϩαʔϏεͷதؒ ʢʁʣɻਖ਼֬ͳఆٛ͸ͳ͍ʢʁʣͱ ࢥͬͯΔ ■ ϕετϓϥΫςΟεJTͲΕʁ

Slide 7

Slide 7 text

ΤϰΝϯήϦΦϯʹྫ͑Δͱ ϞϊϦεΞʔΩςΫνϟ ʹΩʔϧٞ௕ ϚΠΫϩαʔϏεΞʔΩςΫνϟ ʹୈ࢖ెΠϩ΢ϧ ϞδϡϥʔϞϊϦεΞʔΩςΫνϟ ʹθʔϨ

Slide 8

Slide 8 text

ϚΠΫϩαʔϏεͷىݯ ■ +BNFT-FXJT BOE.BSUJO'PXMFS l.JDSPTFSWJDFT zNBSUJOGPXMFSDPN ■ ϚΠΫϩαʔϏεͷରൺͱͯ͠ϞϊϦε͕ޠΕΔ ■ ͦͷޙ֓೦ͱͯ͠ఆண͠ɺଟ͘ͷॻ੶΍ࣄྫ͕ग़൛ ͞ΕΔ https://martinfowler.com/articles/microservices.html

Slide 9

Slide 9 text

ϞϊϦεΞʔΩςΫνϟ https://www.atlassian.com/microservices/microservices-architecture/microservices-vs-monolith

Slide 10

Slide 10 text

ϚΠΫϩαʔϏεΞʔΩςΫνϟ https://www.atlassian.com/microservices/microservices-architecture/microservices-vs-monolith

Slide 11

Slide 11 text

ϚΠΫϩαʔϏεΞʔΩςΫνϟ https://www.atlassian.com/microservices/microservices-architecture/microservices-vs-monolith

Slide 12

Slide 12 text

ϞδϡϥʔϞϊϦεJTԿʁ https://arxiv.org/pdf/2401.11867 https://www.milanjovanovic.tech/blog/what-is-a-modular-monolith https://speakerdeck.com/shunsugai/railsdemodular- monolithwoxuan-ze-saretayu-she-nizhi-wen-sitainge-noyi-wen

Slide 13

Slide 13 text

ϞδϡϥʔϞϊϦεJTԿʁ ■ ద౓ʹ෼ׂ͞Ε͍ͯΔ ■ σϓϩΠ͢Δ࣌ʹ݁߹ͯͭ͠ͷαʔϏεʢϞϊϦ εʣʹ͢Δ ■ ʰϚΠΫϩαʔϏεʹࢸΔ·Ͱͷલஈ֊ͱͯ͠༗༻ʱ ■ ϑϨʔϜϫʔΫ΍ࣄྫ – (PPHMF4FSJWDF8FBWFS (P – 4IPQJGZQBDXFSL 3BJMT – %KBOHP 1ZUIPO ΋࣮͸ϞδϡϥʔϞϊϦεͳؾ ͕͢Δ খྛͷཧղ ϞϊϦεͱϚΠΫϩαʔϏεͷ྆ํͷྑ͞ΛڗडͰ͖Δ Α͏ʹ͍͍ײ͡ʹ෼ׂͨ͠΋ͷ https://arxiv.org/pdf/2401.11867

Slide 14

Slide 14 text

ϒϧʔϞͷΏΔ;ΘϞδϡϥʔϞϊϦε ΞϓϦ༻"1*αʔό DPNNPO@NPEFMT DPOUSPMMFS BENJO༻SBJMTΞϓϦ DPNNPO@NPEFMT BENJO@NPEFMT BENJOଆDPOUSPMMFST BENJOଆWJFXT "1*ݺͼग़͠ "1*ݺͼग़͠

Slide 15

Slide 15 text

ϒϧʔϞͷΏΔ;ΘϞδϡϥʔϞϊϦε ΞϓϦ༻"1*αʔό DPNNPO@NPEFMT DPOUSPMMFS BENJO༻SBJMTΞϓϦ DPNNPO@NPEFMT BENJO@NPEFMT BENJOଆDPOUSPMMFST BENJOଆWJFXT "1*ݺͼग़͠ "1*ݺͼग़͠ • ڞ௨෦෼͸SBJMTFOHJOFͱ࣮ͯ͠૷ʢFOHJOF໊ɿ commonʣ • جຊతʹ͸NPEFMͷΈΛ഑ஔ • BQJଆɺBENJOଆͷ(FNGJMFʹcommonΛهࡌ͢Δ • BQJଆͷNPEFM͸͢΂ͯBENJOଆͰ΋ѻ͑Δ • BQJଆͷapp/modelsҎԼʹ͸ಠࣗNPEFM͸ఆٛ ͠ͳ͍ • BENJOଆ͸app/modelsҎԼʹ͸BENJOଆͰ͔͠ ࢖Θͳ͍NPEFMΛఆٛ͢Δ

Slide 16

Slide 16 text

ϒϧʔϞͷΏΔ;ΘϞδϡϥʔϞϊϦε ΞϓϦ༻"1*αʔό DPNNPO@NPEFMT DPOUSPMMFS BENJO༻SBJMTΞϓϦ DPNNPO@NPEFMT BENJO@NPEFMT BENJOଆDPOUSPMMFST BENJOଆWJFXT "1*ݺͼग़͠ "1*ݺͼग़͠ • ϚΠάϨʔγϣϯ͸BENJOଆͰҰׅͰߦ͏ • BQJଆʹ͸ςʔϒϧ͝ͱʹඞཁͳݖݶͷΈΛ༩͑Δ GRANT SELECT, INSERT ON on database_name.users; GRANT SELECT, INSERT, UPDATE ON on database_name.personal_infos; GRANT SELECT, INSERT, DELETE on database_name.likes;

Slide 17

Slide 17 text

ϒϧʔϞͷΏΔ;ΘϞδϡϥʔϞϊϦε ΞϓϦ༻"1*αʔό DPNNPO@NPEFMT DPOUSPMMFS BENJO༻SBJMTΞϓϦ DPNNPO@NPEFMT BENJO@NPEFMT BENJOଆDPOUSPMMFST BENJOଆWJFXT "1*ݺͼग़͠ "1*ݺͼग़͠ • BQJଆαʔόʢίϯςφʣʹ͸apiͱcommonΛσϓ ϩΠ͢ΔσΟϨΫτϦҎԼʹฒྻʹ഑ஔ • BENJOଆαʔόʢίϯςφʣʹ͸adminͱcommonΛ σϓϩΠ͢ΔσΟϨΫτϦҎԼʹฒྻʹ഑ஔ

Slide 18

Slide 18 text

΍ͬͯΈͨॴײ ■ ྑ͔ͬͨ͜ͱ – ੹຿ͷ෼ׂ͕໌֬ʹͳΓɺνʔϜ΋෼཭Ͱ͖ͨ – ηΩϡΞʹͳͬͨ ■ BQJଆͰ͸ʓʓͰ͖ͳ͍ɺΈ͍ͨͳSTQFDॻ͔ͳͯ͘͢Μͩ – ʢ·ͩ΍ͬͯͳ͍͚ͲʣDPOUSPMMFS΍WJFX΋΍Ζ͏ͱࢥ͑͹FOHJOF಺ʹॻ͘͜ͱ͕ͰΔ ■ ѱ͔ͬͨ͜ͱ – BQJଆͷػೳͳͷʹBENJOଆʹॻ͔ͳ͚Ε͹͍͚ͳ͍΋ͷ͕Ұ෦͋ͬͯɺ໌֬ͳ෼཭͕Ұ෦ Ͱ͖ͯͳ͍ – BQJɺBENJOͱ෼͚ͨ΋ͷͷɺͦΕͧΕ͕΋͸΍ڊେϞϊϦεʹͳΓͭͭ͋Δ

Slide 19

Slide 19 text

৽ͨͳ3BJMTϞδϡʔϧ͕ඞཁʹͳΓͭͭ͋Δ ΞϓϦ༻"1*αʔό DPNNPO@NPEFMT DPOUSPMMFS BENJO༻SBJMTΞϓϦ DPNNPO@NPEFMT BENJO@NPEFMT BENJOଆDPOUSPMMFST BENJOଆWJFXT "1*ݺͼग़͠ "1*ݺͼग़͠ ޲͚3BJMTϞδϡʔϧ DPNNPO@NPEFMT DPOUSPMMFS ︖

Slide 20

Slide 20 text

৽ͨͳ3BJMTϞδϡʔϧ͕ඞཁʹͳΓͭͭ͋Δ ΞϓϦ༻"1*αʔό DPNNPO@NPEFMT DPOUSPMMFS BENJO༻SBJMTΞϓϦ DPNNPO@NPEFMT BENJO@NPEFMT BENJOଆDPOUSPMMFST BENJOଆWJFXT "1*ݺͼग़͠ "1*ݺͼग़͠ ޲͚3BJMTϞδϡʔϧ DPNNPO@NPEFMT DPOUSPMMFS ︖

Slide 21

Slide 21 text

৽ͨͳ3BJMTϞδϡʔϧ͕ඞཁʹͳΓͭͭ͋Δ ΞϓϦ༻"1*αʔό DPNNPO@NPEFMT DPOUSPMMFS BENJO༻SBJMTΞϓϦ DPNNPO@NPEFMT BENJO@NPEFMT BENJOଆDPOUSPMMFST BENJOଆWJFXT "1*ݺͼग़͠ "1*ݺͼग़͠ .'޲͚3BJMTϞδϡʔϧ DPNNPO@NPEFMT DPOUSPMMFS ︖

Slide 22

Slide 22 text

৽ͨͳ3BJMTϞδϡʔϧ͕ඞཁʹͳΓͭͭ͋Δ ΞϓϦ༻"1*αʔό DPNNPO@NPEFMT DPOUSPMMFS BENJO༻SBJMTΞϓϦ DPNNPO@NPEFMT BENJO@NPEFMT BENJOଆDPOUSPMMFST BENJOଆWJFXT "1*ݺͼग़͠ "1*ݺͼग़͠ .'޲͚3BJMTϞδϡʔϧ DPNNPO@NPEFMT DPOUSPMMFS ︖ ͜͜࡞ͬͯ͘ΕΔਓΛ8FBSF)JSJOH