Upgrade to Pro — share decks privately, control downloads, hide ads and more …

モノリスとマイクロサービスを経てモジュラモノリスを導入した実践事例

disc99
July 25, 2023

 モノリスとマイクロサービスを経てモジュラモノリスを導入した実践事例

disc99

July 25, 2023
Tweet

More Decks by disc99

Other Decks in Technology

Transcript

  1. ن໛ײ w αʔϏεϩʔϯν೥ ೥໨  w ձһ਺໿ ສਓ w ܖ໿ࢪઃ਺໿

    ࢪઃ w શϓϩμΫτίʔυ ༗ޮίʔυϕʔε    TUFQ w ςʔϒϧ਺  UBCMF w ϐʔΫτϥϑΟοΫ  SQT w ϓϩμΫτ෦໳໿໊ w νʔϜ਺UFBN w ϦϙδτϦNPOPSFQP
  2. ಛʹߟ͑ͨ͜ͱ w ݱঢ় w ࣄۀͷঢ়گɺϓϩμΫτɺ૊৫ɺจԽɺγεςϜߏ੒ɺٕज़ελοΫ w ະདྷ w ࣄۀܭըɺϓϩμΫτϩʔυϚοϓɺਓһܭըɺ૊৫ઓུɺٕज़ઓུ ະདྷΛ໌֬ʹཧղ͠ɺٕज़࿦͚ͩͰ͸ͳ͘۩ମతͳࣄۀ΍ϓϩμΫτɺ૊৫࿦Λ౿·্͑ͨͰબ୒

    ೥ࠒͷΞιϏϡʔࣾͷ৔߹ w ࣄۀෳ਺ࣄۀάϩʔεϑΣʔζ ৽نࣄۀ w ϓϩμΫτෳ਺ϓϩμΫτɺϓϩμΫτಉ࢜ͷ࿈ܞଟ਺ɺࣾ֎ϓϩμΫτ΍"1*ʹΑΔ֎෦γεςϜ࿈ܞͳͲ΋ଟ਺ w ૊৫ϓϩμΫτ૊৫Λ਺೥Ͱˠ໊ن໛·Ͱ֦େͤ͞Δܭը w γεςϜϚΠΫϩαʔϏε͕த৺ɺҰ෦ϞϊϦε
  3. ࣮ݱํ๏ ؆қ൛ w +BWBº4QSJOH#PPU w "SDI6OJUʹΑΔϧʔϧϕʔεͷύοέʔδ෼ׂ w ֤Ϟδϡʔϧ΁͸ެ։ΠϯλʔϑΣΠε H31$ ಺෦ϝιουίʔϧ༻ͷ$IBOOFM

    ࣮૷ɺඇಉظʹ͸QSPUPCVG ܦ༝ͷΞΫηεɺ୯ํ޲ґଘͷ੍ޚɺඇಉظ࿈ܞ w ىಈϞʔυʹΑͬͯɺϩʔΧϧͰ͸ϞϊϦεɺαʔόʔ্Ͱ͸ϚΠΫϩαʔϏεͷ Α͏ͳಈ࡞Մೳͳઃܭ w ࠷ۙͰ͸όονͳͲʹ΋ར༻
  4. ෼ׂͷ୯Ґ͸ Ͳ͏΍ͬͯϞδϡʔϧڥքΛܾΊΔ جຊతʹ೉͍͠ɺະͩʹ೰Ή͜ͱ͸ଟ͍͕ɺ͜͜ͷ࡞Γ͕։ൃޮ཰Λେ͖͘ࠨӈ ࠓޙͷࣄۀ΍૊৫੒௕ɺมԽ΋౿·͑ѻ͍΍͍͢୯ҐΛҙࣝ ࠶ར༻ੑɺมߋ༰қੑ  w ύλʔϯ w Ϗδωεڥք

    w 3%3"ͳͲΛར༻͠ཁ͔݅Β࣮૷Λݕ౼͍ͯ͘͠ஈ֊ͰڥքΛ୳͢ w %%%ͷڥք͚ͮΒΕͨίϯςΩετΛϞσϦϯάͷதͰ୳͢ w খن໛ͳػೳ΍αʔϏεΛͦͷ··ͭͷϞδϡʔϧʹ·ͱΊΔ w Ϧιʔε΍Մ༻ੑͳͲඇػೳ໘Ͱ෼཭͍ͨ͠෦෼ w ஫ҙ఺ w ݱঢ়ͷ૊৫ߏ଄Λڧ͘ҙࣝ͗͢͠Δͱ૊৫มߋͷεϐʔυײʹʹ͍͍͚ͭͯͳ͘ͳΔ͜ͱ͕͋Δ w Ϟδϡʔϧ෼ׂ͸ެ։ΠϯλʔϑΣΠε΍τϥϯβΫγϣϯ؅ཧͳͲෳࡶͳ໰୊͕૿͑ΔͷͰ͋·Γࡉ෼ Խ͗͢͠ΔͱσϝϦοτ΋૿͑΍͍͢
  5. %#෼ׂ͢Δʁ w ྆ํͷύλʔϯ͕͋Δ w طଘࢿ࢈ͱͯ͠ڞ༗͍ͯ͠Δͱ͜Ζ͸ແཧʹϞδϡʔϧ୯ҐͰ෼ׂ͍ͯ͠ͳ͍ w ଟ਺ͷϞδϡʔϧ͔ΒͷಉҰςʔϒϧࢀরΛܰݮ͢ΔͨΊɺ࿦ཧϨϕϧͰͷ෼཭ .Z42-4$)&."1PTUHSF42-%"5"#4&΍7JFX ͳͲ΋ར༻ w

    ಛఆͷϞδϡʔϧ͸Մ༻ੑͳͲ΋ߟྀ͠%#෼཭΍/FX42-׆༻ͳͲ΋࢝Ί͍ͯΔ w τϥϯβΫγϣϯ͸ۃྗ෼ׂ w ϚΠΫϩαʔϏεͷ༻ʹ੾Γग़͢Մೳੑ w ෼ࢄτϥϯβΫγϣϯʹͳΔͨΊɺҰ؏ੑ΍ύϑΥʔϚϯεʹ͸஫ҙ͕ඞཁ
  6. ෳ਺νʔϜͰ։ൃ͢Δͱίϛϡχέʔγϣϯίετߴ·Βͳ͍ w Ϟδϡʔϧͷ෼ׂͱઃܭ࣍ୈ w جຊ͸ϚΠΫϩαʔϏεͷߟ͑ํͱ͍ۙ w νʔϜΛ͋·Γଟ͘ލ͕ͳ͍Α͏ͳϞδϡʔϧߏ੒ʹͳ͍ͬͯΕ͹ɺϚΠΫϩαʔϏεಉ༷ ಠཱͯ͠։ൃΛਐΊΒΕΔ w ڞ௨ॲཧ΍ΠϯλʔϑΣΠεͷෆ҆ఆͳϞδϡʔϧɺ૒ํ޲ґଘ͕૿͑Δͱมߋ࣌ͷӨڹൣ

    ғ͕େ͖͘ͳΔ w શମͰΈΔͱ৑௕ͳ෦෼͕૿͑ͨͱͯ͠΋Ϟδϡʔϧ಺ͰӨڹΛด͡Δ w ڞ௨ॲཧ͸ՄೳͳݶΓബ͘͢Δ w ֎෦Ϟδϡʔϧʹґଘ͠ͳ͍Ϟδϡʔϧ಺มߋ͸ɺ$*$%͕੔͍ͬͯΕ͹ϚΠΫϩαʔϏεಉ ༷Կ౓σϓϩΠͯ͠΋Өڹ͕ͳ͍ͨΊɺϞδϡʔϧ͝ͱʹϦϦʔεͰ͖Δ
  7. ٕज़తࣗ༝౓͸ w Ϟδϡʔϧ಺Ͱͷઃܭ͸೚ҙʹબ΂ΔΑ͏ʹ͍ͯ͠Δ͕ɺϥϯλΠϜ͕ಉҰʹͳΔͨ Ίɺݴޠ΍ϥΠϒϥϦɺ'8ͳͲ͸౷Ұ͢ΔΑ͏ʹ͍ͯ͠Δ w ϚΠΫϩαʔϏεԽͯ͠΋ɺશࣾతͳޮ཰ ӡ༻΍4%,ͷఏڙɺਓͷྲྀಈੑͳͲ Λ ߟ͑ΔͱҰఆٕज़੍໿͸ൃੜ͠΍͍͢ w

    ಛఆͷݴޠ͕ಘҙͱ͢ΔྖҬɺඇػೳ໘Ͱ෼཭͕ඞཁͳ৔߹ʹ͸ผͷΞϓϦέʔγϣ ϯʹ੾Γग़͠ 
 FHػցֶश1ZUIPOɺ443/PEFKTɺ࣮ߦ࣌ʹڊେͳϝϞϦ΍$16Λඞཁͱ͢Δ
  8. Մ༻ੑ΁ͷରԠ͸ w ࣮ߦ࣌ʹ͸ϞϊϦεͳͷͰ୯Ұো֐఺ʹͳΓ͏Δ w औΓ૊Έ w γϯάϧόΠφϦɺϚϧνϞʔυͰىಈͰ͖Δઃܭ w ࢀߟ(SBGBOB-PLJɺ$POTVMBHFOUɺ4FSWJDF8FBWFS w

    ϩʔΧϧͰ͸ϞϊϦεͳΞϓϦέʔγϣϯͱͯ͠ىಈ w αʔόʔ্Ͱ͸,VCFSOFUFTͷ%FQMPZNFOUΛ෼཭ͯ͠ɺ؀ڥม਺ͰಛఆͷػೳΛ༗ޮԽͯ͠ىಈ w Ϟδϡʔϧ୯ҐͷόϧΫϔουͳͲͷಋೖ 5P#F  w Ϟδϡʔϧ෼ׂ͢Δ্Ͱɺ෼ࢄ࣮ߦͰ͖ΔΠϯλʔϑΣΠεઃܭ͕ॏཁ
  9. ͲͷΑ͏ͳ؀ڥʹద͍ͯ͠Δʁ ࣄۀɺϓϩμΫτɺ૊৫ɺطଘγεςϜɺࠓޙͷల։ͳͲ༷ʑͳཁҼʹґଘ͢ΔͷͰҰ֓ʹ͸ݴ͑ͳ͍ w ݸਓతͳॴ؅ w ୯ҰࣄۀϓϩμΫτɺ νʔϜ͘Β͍·ͰͳΒߴڽूɺૄ݁߹ͳઃܭ΍ϑϨʔϜϫʔΫͷػೳΛ࠷େݶ׆͔͠ ͨϞϊϦεͷํ͕༏ҐੑΛײ͡Δ w νʔϜԣஅͷίϛϡχέʔγϣϯ΍ίϯϑϦΫτ͕ൃੜͯ͠΋ɺͦͷن໛ײͩͱϞϊϦεͰಘΒΕΔมߋ଎

    ౓ɺӡ༻ͷ༰қੑͷ΄͏্͕ճΔՄೳੑ͕ߴ͍ w ਺ઍਓن໛ͩͱϞδϡϥϞϊϦεͷ೉қ౓͸ߴ͍ 4IPQJGZ͸΍͍ͬͯΔͷͰෆՄೳͰ͸ͳ͍  w ࣄۀ΋૊৫΋γεςϜ΋ґଘؔ܎͕ͳ͍৔߹ɺϞδϡϥϞϊϦεͷϝϦοτ͸ڗड͠ʹ͍͘ w ݴޠಛੑ΍ϥΠϒϥϦͳͲ։ൃޮ཰΍໌֬ʹՄ༻ੑΛ෼཭͍ͨ͠ͳͲඇػೳ໘ʹେ͖͘ӨڹΛ༩͑Δ৔߹ʹ͸ɺ ෼཭Λݕ౼ ɹˠ͜ΕΒҎ֎ͷ؀ڥͰ͸ɺޮՌతͳՄೳੑ͕͋Δ w Ҡߦύεͱͯ͠͸ϞϊϦεˠϞδϡϥϞϊϦεɺϚΠΫϩαʔϏεˠϞδϡϥϞϊϦεͲͪΒ΋͋Γ͑Δ w ෦෼తʹϚΠΫϩαʔϏεͳͲͷϋΠϒϦοτӡ༻΋Մೳ
  10. ·ͱΊ w ΞʔΩςΫνϟ͸ࣄۀ΍૊৫࿦ͱີ઀ʹඥ͍͍ͮͯΔͨΊɺٕज़໘Ҏ֎ͷઓུ΋ηο τͰݱ࣮ղΛ୳͢͜ͱ͕ॏཁ w બ୒ࢶ͸θϩΠνͰ͸ͳ͍ w ϞϊϦεͱϚΠΫϩαʔϏεͷؒ͘Β͍ͷબ୒ࢶͱͯ͠ϞδϡϥϞϊϦε w ϞϊϦεͰे෼ͳ৔߹΋·ͩ·ͩ͋Δ

    w ϞϊϦεɺϚΠΫϩαʔϏεɺϞδϡϥϞϊϦεଞ༷ʑͳબ୒ࢶ͸͋Δ͕ɺ࣮ࡍ͸ ߋʹͦͷ߹ؒͷͲ͔͜͠Β͕૊৫ʹద͍ͯ͠Δ৔߹΋ଟ͍ w ༷ʑͳ໰୊͸࢒͍ͬͯΔ΋ͷͷຊདྷ޲͖߹͏΂͖՝୊ʹ޲͖߹͍΍͍͢ঢ়ଶʹ͍ۙͮ ͍ͯΔ࣮ײ