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

Microservices Architectureに取り組んでみえたこと

Microservices Architectureに取り組んでみえたこと

C952d9f90c7ec6cb1b5513c05d3db536?s=128

yoshiyoshifujii

June 24, 2017
Tweet

Transcript

  1. .JDSPTFSWJDFT"SDIJUFDUVSFʹ औΓ૊ΜͰΈ͑ͨ͜ͱ  4BU !ZPTIJZPTIJGVKJJ

  2. ؔδϟόͷΈͳ͞Μ͜Μʹͪ͸ w:PTIJUBLB'VKJJ !ZPTIJZPTIJGVKJJ w4PGUXBSF&OHJOFFS w4DBMB+BWB1ZUIPO 5ZQFTDSJQU w4DBMBؔ੢4VNNJU4UB⒎

  3. None
  4. None
  5. None
  6. ି͠ग़͠Ͱ͖Δ෦԰ w ηϛφʔϗʔϧ ໊  w ձٞࣨ ໊͔Β໊  w

    ΧϑΣεϖʔε ໊  w ϏΞόογϡͳͲͷ࠙਌ձ΋։࠵ՄೳͰ͢ʂ
  7. None
  8. None
  9. None
  10. ຊ୊

  11. wࠓ೔͓࿩͢Δ͜ͱ wࢲ͕࠷ۙɺ.JDSPTFSWJDFTʹऔΓ૊ΜͰ෼͔ͬͨ͜ͱ w.JDSPTFSWJDFT"SDIJUFDUVSF w%%% w"HJMF4DSVN%FW0QT w41"3&45GVM4FSWFSMFTT"SDIJUFDUVSF w͠ͳ͍͜ͱ wͦΕͧΕͷਂ͍આ໌

  12. .JDSPTFSWJDFTΛ ͓͞Β͍͓͖ͯ͠·͠ΐ͏

  13. .JDSPTFSWJDFTͭͷಛ௃  αʔϏεΛ௨ͨ͡ίϯϙʔωϯ τԽ  Ϗδωε਱ߦೳྗʹؔΘΓ૊ ৫͕੔ཧ͞ΕΔ͜ͱ  ϓϩδΣΫτͰ͸ͳ͘ϓϩμΫ τ

     ݡ͍ TNBSU ΤϯυϙΠϯτͱ ౔؅  ෼ࢄ౷࣏  ෼ࢄσʔλ؅ཧ  ΠϯϑϥࣗಈԽ  ো֐ͷͨΊͷઃܭ  ਐԽతͳઃܭ ླ໦༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢ೔ܦ#1/FYU*$5બॻʣ  ,JOEMFͷҐஔ/P ೔ܦ#1,JOEMF൛
  14. ෳ਺αʔϏεͰߏ੒ w ͭͷΞϓϦέʔγϣϯΛΑΓখ͞ ͳ୯ҐͷʮαʔϏεʯͷ૊Έ߹Θ ͤͰߏ੒͢Δख๏ w ͦΕͧΕͷαʔϏε͸ݸผͷϓϩ ηεͰಈ࡞ w "1*Λ௨ͯ͡)551ͳͲͷඪ४తͳ

    ϓϩτίϧͰ࿈ܞ ླ໦༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢ೔ܦ#1/FYU*$5બॻʣ  ,JOEMFͷҐஔਤ ೔ܦ#1,JOEMF൛
  15. αʔϏε͝ͱͷϥΠϑαΠΫϧ wϞϊϦγοΫ Ұຕؠ ͩͱӨڹ ௐࠪʹ͕͔͔࣌ؒΔ wӨڹൣғ͸αʔϏε಺෦ʹด͡ Δ w࣮ࡍ͸ɺͦΜͳ୯७Ͱ͸ͳ͍ wαʔϏεͷ෼ׂ͕ॏཁͰɺ͍͔ ʹӨڹൣғΛαʔϏε಺෦ʹཹ

    ΊΔ͔ ླ໦༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢ೔ܦ#1/FYU*$5બॻʣ  ,JOEMFͷҐஔਤ ೔ܦ#1,JOEMF൛
  16. ૄ݁߹ͳαʔϏε࿈ܞ wૄ݁߹ͷ୅ද͸ʮΩϡʔʯΛ ༻͍ͨ࿈ܞ wαʔϏεಉ͕࢜௚઀࿈ܞͤͣ ʹࡁΉ wαʔϏεͷμ΢ϯλΠϜ౳Λ ؾʹ͠ͳͯ͘ྑ͍ w࿈ܞઌαʔϏεͷੑೳྼԽ ླ໦༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢ೔ܦ#1/FYU*$5બॻʣ 

    ,JOEMFͷҐஔਤ ೔ܦ#1,JOEMF൛
  17. σʔλϕʔε͸αʔϏε͝ͱʹ wैདྷγεςϜ͸ɺͭͷΞ ϓϦʹͭͷσʔλϕʔε wσʔλϕʔεڞ༗͸ੑೳ ͕໰୊ʹ w෼ࢄσʔλϕʔε͸੔߹ ੑ͕໰୊ʹ ླ໦༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢ೔ܦ#1/FYU*$5બॻʣ  ,JOEMFͷҐஔਤ

    ೔ܦ#1,JOEMF൛
  18. αʔϏεߏ੒؅ཧ wαʔόʔߏஙखଓ͖Λ ίʔυԽ w%PDLFS wΫϥ΢υಛ༗ͷ೉͠͞ ླ໦༤հ$MPVE'JSTU"SDIJUFDUVSFઃܭΨΠυʢ೔ܦ#1/FYU*$5બॻʣ  ,JOEMFͷҐஔਤ ೔ܦ#1,JOEMF൛

  19. ࠓ೔ͷ͋͐͡Μͩ wαʔϏεͷίϯϙʔωϯτԽ w૊৫ӡӦ wٕज़తͳબ୒

  20. ࠓ೔ͷ͋͐͡Μͩ wαʔϏεͷίϯϙʔωϯτԽ w૊৫ӡӦ wٕज़తͳબ୒

  21. υϝΠϯۦಈઃܭ wୈ෦ઓུతઃܭ
 ୈষϞσϧͷ੔߹ੑ Λҡ࣋͢Δ wڥք͚ͮΒΕͨίϯςΩ ετΛ೺Ѳ͢Δ wγεςϜ͕ѻ͏υϝΠϯ Λཧղ͠ద੾ʹڥքΛઃ ܭ͢Δ &SJD&WBOTυϝΠϯۦಈઃܭʢᠳӭࣾʣ

    1ਤ ᠳӭࣾ
  22. υϝΠϯۦಈઃܭ w࠷ॳ͔ͬΒ׬ᘳΛ໨ࢦ͞ͳ͍ wίΞυϝΠϯʹண໨͢Δ w͋ͳͨͷγεςϜͷίΞ͸Ͳ͜Ͱ͔͢ʁ

  23. ϢϏΩλεݴޠ w%PNBJO&YQBSUͱͷର࿩ wϞϊɾίτΛൈ͖ग़͢ wϢϏΩλεݴޠͱͯ͠ه࿥͢Δ

  24. ܧଓతͳ౷߹ wҰ౓ͰऴΘΒͳ͍ wίʔυͷ'#Λ׆͔͢ wސ٬ͷ'#Λ׆͔͢

  25. ίϯςΩετϚοϓΛඳ͘ wγεςϜʹ͍ͭͯίϛϡχέʔγϣϯ͢Δͱ͖ʹ ඞͣͦ͹ʹஔ͍ͯ֬ೝ͢Δ wίϯςΩετؒͷґଘੑ΍ଟॏ౓Λ໌֬ʹ͢Δ

  26. ґଘͷύλʔϯ  wڞ༗Χʔωϧ wސ٬ڞ༗ऀͷ։ൃνʔϜ w͍ΘΏΔQVCTVC w͍ͬΆ͏͕ఆ͍ٛͯͬ͠Ά͏͕ड͚ͱΔ wૄ݁߹Ͱྑ͍

  27. ґଘͷύλʔϯ  wҰํతͰ͸ͳ͘ཁ๬Λग़͍͍ͯ͠ wίϯςΩετؒͰѻ͏ݴޠ͕ҟͳͬͨͱͯ͠΋ɺ
 ίϛϡχέʔγϣϯͷϑΥʔϚοτΛผ్ఆٛ͢Δ w$+BWB w1ZUIPO4DBMB wϑΥʔϚοτΛ4XBHHFSͰݻఆ

  28. ґଘͷύλʔϯ  wॱԠऀ wެ։ϗεταʔϏε wผʑͷಓ wίϯςΩετͷதͰ͸ผͷϢϏΩλεݴޠΛఆٛͯ͠ྑ͍ wϞσϧߏ଄΋ಉ͡Ͱͳͯ͘ྑ͍ w͏ͪͷίϯςΩετͰ͸͜͏ݺΜͰΔ͚ͲͶɻ
 ͦͬͪͰ͸ԿͯݺΜͰΔͷ͔஌ΒΜ͚Ͳ

  29. ґଘͷύλʔϯ  w෗ഊ๷ࢭ૚ wϨΨγʔͳϞσϧΛͲ͏ͯ͠΋࢖͏ͱ͖ wΠέͯͳ໊͍শΛϢϏΩλεݴޠʹม׵͢Δ wچདྷόʔδϣϯΛ࣋ͬͯΔίϯςΩετͰ༗ޮ

  30. ࠓ೔ͷ͋͐͡Μͩ wαʔϏεͷίϯϙʔωϯτԽ w૊৫ӡӦ wٕज़తͳબ୒

  31. "HJMF wϓϩδΣΫτͰߟ͑ͣϓϩμΫτͰߟ͑Δ w੒௕ઓུΛऔΔ wਐԽΛલఏͱͨ͠࠷దԽ wʮ͍·͸͜ΕͰྑ͍ʯͬͱ͍ͬͨ൑அ

  32. εΫϥϜ wΧϯόϯͱͷ͔͚͋Θͤ wνʔϜຖͷਐḿΛݟ͑Δ Խ w/FYVTΨΠυ wେن໛εΫϥϜ։ൃͷ֎ ࠎ֨

  33. νʔϜͷͭ͘Γ͔ͨ wίϯςΩετϚοϓʹै͏ wίϯςΩετͷཻ౓΍਺͸όϥόϥ wνʔϜϏϧσΟϯάʹɺ.BOBHFNFOUͷ πʔϧ͕࢖͑Δ

  34. None
  35. None
  36. None
  37. νʔϜʹΑͬͯ੒௕౓߹͍ʹ͕ࠩͰΔ wνʔϜΛൺֱͯ͠จ۟ΛݴΘͳ͍ wѻ͏ίϯςΩετ͕ҧ͏ͷͰҟͳͬͯ౰વ wνʔϜ͸ੜ෺ w৺ཧత҆શੑ͸ɺͪΐͬͱͨ͜͠ͱͰࣦͳΘΕΔ

  38. %FW0QT  wνʔϜͷ੒௕͕伴 w͍͖ͳΓͰ͖ͳ͍ w$%$*؀ڥΛ੔͑Δ w+FOLJOT wDPODPVSTFDJ

  39. %FW0QT  wϒϥϯνӡ༻͸νʔϜʹ೚ͤΔ wNBTUFSʹQVTI㱺νʔϜ಺ςετ؀ڥͷߏங wUBHΛ੾Δ㱺νʔϜؒ݁߹ςετ؀ڥͷߏங wνʔϜؒ݁߹ςετ؀ڥͰͷςετ%POF㱺 1SPEVDUJPO؀ڥߏங

  40. %FW0QT  w7BMVF4USFBN.BQQJOH wՁ஋Λಧ͚Δ·Ͱͷ޻ఔ wৗʹϑϩʔΛચ࿅͢Δ wεϓϦϯτΛ;Γ͔͑Γચ࿅͠%FW0QTʹۙ෇͘

  41. $POXBZͷ๏ଇ wγεςϜͷߏ଄͸ɺͦͷγεςϜΛઃܭ͢Δ૊৫ͷߏ଄ʹ ࣅΔ wνʔϜͷϝϯόʔ͕ߟ͑ͯઃܭ͢ΔΜ͔ͩΒͦΓΌͦʔͩ wٯʹڧ੍͠ͳ͍ੈք͕େࣄ w֎͔ΒઃܭΛڧཁ͢Δͱɺ૊৫͕มΘΔ w͍͍໘ѱ͍໘

  42. ࠓ೔ͷ͋͐͡Μͩ wαʔϏεͷίϯϙʔωϯτԽ w૊৫ӡӦ wٕज़తͳબ୒

  43. 41" w4JOHMF1BHF"QQMJDBUJPO w.JDSPTFSWJDFTͰߏ੒͞ΕΔγεςϜͷϑϩϯτΤϯυ ʹ࠷ద w41"ͷϞδϡʔϧ͸ɺίϯςΩετΛԣஅͯͭ͠ʹͳΔ w༷ʑͳίϯςΩετ͕ࠞͬͨͭ͡ͷϞδϡʔϧ wNFSHFͱDPOqJDU͸ආ͚ΒΕͳ͍

  44. 3&45GVM wݪଇ͸౿ऻ͢Δ͕ɺݫີʹ͠ͳ͍ w4XBHHFSͰ"1*Λެ։ wνʔϜؒͷձ࿩͸ɺ4XBHHFSΛ༻͍Δ

  45. 4FSWFSMFTT"SDIJUFDUVSF  w4DBMB.BUTVSJ w4FSWFSMFTT "SDIJUFDUVSFΛ 4DBMBͰ΍ͬͯΈͨ࿩ Λ͠·ͨ͠

  46. 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
  47. 4FSWFSMFTT"SDIJUFDUVSF  w࢖͍Ͳ͜ΖΛબͿ wίϯςΩετΛ·Δ͝ͱ4FSWFSMFTTʹ͢Δ͜ͱ΋Խ w3%#ͷ৔߹ɺDPOOFDUJPO͕ރׇ w71$ىಈʹͳΓɺ&/* &MBTUJD/FUXPSL *OUFSGBDF ͷ࡞੒ʹඵ

  48. 4FSWFSMFTT"SDIJUFDUVSF  w%%%ͱͷ૬ੑ͍͍ w4DBMBͱͷ૬ੑ͍͍ wTCUͷNVMUJQSPKFDUΛ׆༻ͯ͠KBSͷαΠζΛඞ ཁ࠷খݶʹ

  49. 4FSWFSMFTT"SDIJUFDUVSF  wϨΠϠʔͷґଘϞσϧ w4FSWFSMFTT"SDIJUFDUVSF ͸ɺWFOEPSMPDLJOલఏͷΞ ʔΩςΫνϟ w%%%ͱ૊Έ߹Θͤͯ࡞Δ͜ͱ ͕Ͱ͖Ε͹ɺίΞͳϏδωε ϩδοΫ͕ϩοΫΠϯ͞Εͳ ͍

    "QQMJDBUJPO *OGSBTUSVDUVSF %PNBJO "1* WFOEPSMPDLJO
  50. 4FSWFSMFTT"SDIJUFDUVSF  wϕετͳ8FC"QQMJDBUJPOͷߏஙύλʔϯΛମݧ ֶͯ͠΂Δ wଞͷ8FC"QQMJDBUJPOΛߏஙɾઃܭ͢Δࡍʹɺ ʮ͋Ε ͋ͬͪͩͱͰ͖ͯΔΑ ʯͱϑΟʔυόο ΫͰ͖Δ

  51. %BUB4UPSBHFͷબ୒ wϢʔεέʔεʹԠͯ͡ %BUB4UPSBHFΛબ୒ ͢Δ w$PNNBOEͱ2VFSZͰ ҟͳΔετϨʔδ΋બ ୒Մೳ 4 LFZWBMVF %ZOBNP

    %# ٯҾ͖͕ඞཁ Ұཡऔಘ 3%# 3FMBUJPOBMNPEFM͕ ඞཁ &MBTUJD 4FBSDI ߴ଎ͳશจݕࡧ͕ඞ ཁ
  52. ඇಉظϝοηʔδϯάύλʔϯ wϢʔεέʔεʹԠͯ͡ϝοη ʔδϯάͷύλʔϯ͕͋Δ w,BGLBΛಋೖ͢ΔͱɺͥΜ Ϳ͜Ε͍͚ͬͯΔ͔΋  wͱ͸͍͑ɺίετ͕๲େʹ ͳΔ͔΋͠Εͳ͍ wۜͷ஄ؙ͸ͳ͍ ରൺ

    αʔϏε උߟ  424 / ,JOFTJT ੍໿͋Γ "QBDIF ,BGLB ηϧϑϚω δϝϯτ
  53. $234  ॻ͖ࠐΈ ಡΈࠐΈ σʔλͷ੔߹ੑͷҡ࣋ σʔλͷݕࡧͱநग़ͷޮ཰Խ ΞτϛοΫͳߋ৽τϥϯβΫγϣϯ ಋग़஋ ߹ܭͳͲ ͷࢉग़

    όʔδϣϯ؅ཧ ָ؍తฒߦੑ੍ޚ ָ؍తϩοΫ ෳ਺ͷϏϡʔͷఏڙ ॻ͖ࠐΈݖݶͷ؅ཧ ߦϨϕϧɺྻϨϕϧͷݖݶ؅ཧ $234ͱΠϕϯτιʔγϯάͷ࢖༻๏ɺ·ͨ͸ʮ$36%ʹԿ͔໰୊Ͱ΋ʁʯ IUUQQPTUEDDVTJOHDRSTXJUIFWFOUTPVSDJOH
  54. $234  w$PNNBOEʹ͸ɺ%PNBJOϩδοΫΛ w2VFSZ͸ɺݖݶऔಘΛߟྀ͠ɺݕࡧੑೳʹ༏Εͨऔಘϩ δοΫΛ w&WFOU4PVSDJOHͱͷ૬ੑ͕ྑ͍ wج൫ͷߏங͸ɺͦΕͳΓͷίετ͕͔͔Δ w෦෼తʹ࠾༻͠ɺঃʑʹ֦େ͍ͯ͘͠ͷ͕ྑ͍

  55. IUUQXXXPVBS[ZDPNBGFXNZUITBCPVUDRST

  56. ڞ௨ॲཧͷ෦඼Խ w.BWFO౳ͰKBSΛڞ༗ w4DBMBͷTCU͸ศར w+BWBͱ͔ͦͷଞͱൺֱͨ͠Θ͚͡Όͳ͍ wNVMUJQSPKFDU wґଘͷํ޲ੑΛ੔ཧ͠΍͍͢ wEFQFOET0O wMJCSBSZ%FQFOEFODJFT

  57. ϦΞΫςΟϒએݴ wଈԠੑ 3FTQPOTJWF  w଱ো֐ੑ 3FTJMJFOU  w஄ྗੑ &MBTUJD 

    wϝοηʔδۦಈ .FTTBHF%SJWFO
  58. ଈԠੑ wγεςϜ͸ՄೳͳݶΓ͢Έ΍͔ʹԠ౴͢Δ w໰୊͕ૉૣ͘ݕग़͞ΕޮՌతʹରॲͰ͖Δ wਝ଎Ͱ͔ͭҰ؏ͨ͠Ԡ౴࣌ؒΛఏڙ͢Δ͜ͱʹओ ؟Λஔ͘

  59. ଱ো֐ੑ wγεςϜ͸ো֐ʹ௚໘ͯ͠΋ଈԠੑΛอͪଓ͚Δ w଱ো֐ੑΛ࣋ͨͳ͍γεςϜ͸ো֐͕ى͖Δͱଈ ԠੑΛࣦ͏ w଱ো֐ੑ͸ɺϨϓϦέʔγϣϯɺ෧͡ࠐΊɺִ཭ɺ ͦͯ͠ҕৡʹΑ࣮ͬͯݱ

  60. ஄ྗੑ wγεςϜ͸ϫʔΫϩʔυ͕มಈͯ͠΋ଈԠੑΛอ ͪଓ͚Δ wγεςϜͷதʹڝ߹͢Δ৔ॴ΍த৺తͳϘτϧωο Ϋ͕ଘࡏ͠ͳ͍Α͏ʹઃܭ wγϟʔσΟϯάͨ͠ΓϨϓϦέʔγϣϯͨ͠ίϯ ϙʔωϯτؒʹೖྗΛ෼ࢄͤ͞Δ

  61. ϝοηʔδۦಈ  wϦΞΫςΟϒγεςϜ͸ඇಉظͳϝοηʔδύο γϯάʹґͬͯίϯϙʔωϯτؒͷڥքΛཱ֬ wૄ݁߹ੑɺִ཭ੑɺҐஔಁաੑΛอূ͢Δͱڞʹɺ ΤϥʔΛϝοηʔδͱͯ͠ҕৡ w໌ࣔతͳϝοηʔδύογϯά͸ෛՙͷ؅ཧͱ஄ ྗੑΛՄೳ

  62. ϝοηʔδۦಈ  wγεςϜ಺ʹϝοηʔδΩϡʔΛ࡞੒ͯ͠؂ࢹ͠ɺ ඞཁͳΒόοΫϓϨογϟʔΛద༻͢Δ͜ͱͰϑ ϩʔ੍ޚ͕Մೳ wϊϯϒϩοΩϯά௨৴ʹΑΓɺड৴ଆ͸ΞΫςΟ ϒ࣌ͷΈϦιʔεΛফඅͰ͖ΔͷͰγεςϜͷΦʔ όϔουΛ཈੍

  63. ϊϯϒϩοΩϯά w"DUPSϞσϧΛ׆༻ͨ͠γεςϜ w"LLB IUUQBLLBJP  w"LLB)551ɺ"LLB4USFBNTͰ3&45GVMͳ8FC"1*α ʔόʔͱɺඇಉظॲཧΛߏஙՄೳ w$MVTUFSɺ4IBSEJOHɺ1FSTJTUFODF΋ݕ౼ w"LLB͸͍͍ͧ

  64. ·ͱΊ

  65. ·ͱΊ wαʔϏεͷίϯϙʔωϯτԽʹ͓͍ͯɺ%%%ͷڥ ք͚ͮΒΕͨίϯςΩετΛ࠾༻ͨ͠ w૊৫Խʹ͓͍ͯɺ4DSVNͰ͸͡Ίͯɺ%FW0QTΛ ໨ࢦ͢ wٕज़બ୒͸ɺ༷ʑͳٕज़ͷ૊Έ߹Θͤɻϊ΢ϋ΢ ͨΊΔɻ