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

kosen12sLT_4.pdf

 kosen12sLT_4.pdf

D7b086b9c6bb828f15cd7a9ff9b8c688?s=128

Shintani Teppei

March 30, 2019
Tweet

Transcript

  1. ϞϊϦεΛখ͘͢͞ΔͭΒΈ kosen12s LT#4 Shintani Teppei (@euglena1215)

  2. ఻͍͑ͨ͜ͱ ϞϊϦγοΫαʔϏε͔ΒͷϚΠΫϩαʔϏεԽ͸ ࢮ͵΄Ͳߟ͑Δ͜ͱ͋Δ͔ΒؾΛ͚ͭΑ͏ͳ Ͱ΋͏·͘ར༻͢Ε͹ αʔϏεͷण໋ΛԆ͹͢͜ͱ͕Ͱ͖Δ(͔΋)

  3. ͭΒΈΛ࿩͢લʹ •ɹͦ΋ͦ΋ͳͥਓྨ͸ϚΠΫϩαʔϏεԽΛ͕ͨ͠Δͷ͔ʁ •ɹͦ΋ͦ΋ϚΠΫϩαʔϏεͱ͸ʁ

  4. What is microservices? • ༧ݴऀ Martin Fowler͕ఏএ • ϚΠΫϩαʔϏεΞʔΩςΫνϟελΠϧ͸୯ҰͷΞϓϦέʔγϣϯΛখ ͞ͳαʔϏε܈ͷ૊Έ߹Θͤͱͯ͠ߏங͢Δख๏

    ref: https://martinfowler.com/articles/microservices.html
  5. ref: https://martinfowler.com/articles/microservices.html

  6. ϚΠΫϩαʔϏεԽͷϝϦοτ • ։ൃ࣌ʹߟ͑ͳ͍ͱ͍͚ͳ͍είʔϓ͕ڱ͘ͳΔ • “ਖ਼͘͠αʔϏεͷ੾Γ෼͚͕Ͱ͖Ε͹” ࣗ਎ͷαʔϏεͷ͜ͱ͚ͩΛߟ͑Ε͹Α͘ͳΔ • ো֐ͷ఻ൖͷ࠷খԽ • αʔϏε͝ͱʹαʔόʔΛىಈͤ͞ΔͷͰෆྀͷࣄނʹΑΓαʔόʔ͕ͪΐͬ͜ͱαʔόʔ͕མͪͨͱ

    ͯ͠΋”ਖ਼࣮͘͠૷͍ͯ͠Ε͹”αʔϏεશମͷμ΢ϯ͕໔ΕΔ • αʔόʔεϖοΫͷ࠷దԽ • αʔϏε͝ͱʹཁٻ͞ΕΔύϑΥʔϚϯε͕ҧͬͨΓ͢ΔͷͰ”ͪΌΜͱΠϯϑϥΛ؅ཧͰ͖ͯΕ͹”
 ʮ͜ͷαʔϏε͸ϝϞϦϚγϚγͰʯ͕؆୯ʹͰ͖Δ • CIͷߴ଎Խ • ଞαʔϏεͷॲཧ͸mockͯ͠ςετΛॻ͘ͷͰঢ়ଶͷֻ͚ࢉ͕ݮͬͯςετ͕؆ܿʹͳΔ • ਖ਼͘͠mock͢Δͷ͸ΊͪΌେม • Ϟμϯͳ։ൃΛͯͦ͠͏ͳงғؾ͕ग़Δ • ຊ౰͸͔ͳΓటष͍
  7. લఏ ྫͱͯ͠ԫ྘৭ΞΠίϯͷϓϩάϥϚͷͨΊͷ ٕज़৘ใڞ༗αʔϏεΛϚΠΫϩαʔϏεԽΛ૝ఆ ※ தΛݟͨ͜ͱͳ͍ͷͰ׬શʹໝ૝Ͱ͢ • ϚΠΫϩαʔϏε࠷ߴʂͬͯ࿩ΛΑ͘ฉ͘ͷͰ΍ͬͯΈΔ͜ͱʹͨ͠ • ͱ͸͍͑ػೳ։ൃΛࢭΊΔΘ͚ʹ͸͍͔ͳ͍ͷͰ2νʔϜʹ෼͚ͯ
 ฒߦͯ͠ਐΊ͍ͯ͘

    ঢ়گ
  8. None
  9. Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙݱࡏʙ

  10. Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job ػೳ։ൃνʔϜʹΑΔʮJobػೳʯͷ௥Ճ

  11. Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job ϚΠΫϩαʔϏεԽ͠Α͏ʂʂʂ

  12. Α͏ͦ͜஍ࠈ΁

  13. ஍ࠈͷ͓඼ॻ͖ ᶃ ؅ཧ͢Δαʔό૿͑Δ஍ࠈ ᶄ ϩάऩूͲ͏͢ΔΜͩ஍ࠈ ᶅ ࠷దͳݴޠͰ࣮૷ͨ͘͠ͳͬͯ͘Δ஍ࠈ ᶆ JOIN, τϥϯβΫγϣϯ,

    ֎෦ࢀর੍໿࢖͑ͳ͍஍ࠈ ᶇ ୤ϙϦϞʔϑΟοΫςʔϒϧ஍ࠈ ᶈ Ϩίʔυอଘ࣌ͷؔ࿈ςʔϒϧߋ৽callback֎͢஍ࠈ ᶉ Ҡߦظؒͷίʔυڞ༗Ͳ͏͢Δ͔஍ࠈ ᶊ ΫϥΠΞϯταΠυ͸Կͱ௨৴͢Ε͹͑͑Μ΍஍ࠈ ᶋ ͦ΋ͦ΋υϝΠϯڥքมΘΔ஍ࠈ ᶌ ϚΠΫϩαʔϏε෼͚͗ͯ͢͠·ͬͨ஍ࠈ 
 and many more…
  14. ᶃ ؅ཧ͢Δαʔό૿͑Δ஍ࠈ • ͍··Ͱ1ͭͰ׬͍݁ͤͯͨ͞αʔόΛෳ਺ʹ෼͚Δ • Ͳ͔͜ͰҰݩ؅ཧ͢Δඞཁੑ͕ग़ͯ͘Δ • ΠϯϑϥͳΜͰ΋஌ͬͯΔchigita͞Μ͕શͯख࡞ۀͰ؅ཧͯͨ͠Β • →

    chigita͞Μͷୀ৬ = αʔϏεऴྃͷ͓஌Βͤ
  15. ᶃ ؅ཧ͢Δαʔό૿͑Δ஍ࠈ ͦΜͳ͋ͳͨʹɿInfrastructure as Code(IaC) • ϓϩϏδϣχϯάɺ֤αʔόͷཁٻੑೳΛશͯίʔυͰ؅ཧ͢Δ • →ଐਓԽΛͳ͘͢ •

    ࠷ۙΑ͘ฉ͘ͷ͸TerraformΛ࢖ͬͯk8s(GKE/EKS)΍ECSΛ؅ཧ͢Δ • ͜ͷลͷಋೖ͸ҰேҰ༦Ͱ͸·ͣແཧ • αʔό؅ཧʹΦʔφʔγοϓΛ࣋ͭΠϯϑϥΤϯδχΞ͸ඞਢ Terraform ɾɾɾ༗໊ͳΫϥ΢υαʔϏεΛڞ௨ͷॻ͖ํͰίʔυԽͰ͖Δπʔϧ k8s(kubernetes)ɾɾɾͨ͘͞Μͷdocker containerΛ͍͍ײ͡ʹ؅ཧ͢ΔϑϨʔϜϫʔΫ(OSS)
 GKE/EKS͸k8sͷSaaS ECS ɾɾɾEKSͱҧ͍͕෼͔ΒΜɻ୭͔ڭ͑ͯ΄͍͠
  16. ᶄ ϩάऩूͲ͏͢ΔΜͩ஍ࠈ • هࣄϚΠΫϩαʔϏε͕όάͬͯΔ͜ͱ͜ͱ͕൑໌ • όάͷݪҼΛಥ͖ࢭΊ͍ͨ • ࠓ·Ͱ͸stacktraceΛݟΕ͹ϝιουͷݺͼग़͠ݩ͕෼͔ΔͷͰ͙͢ݪҼ Λಥ͖ࢭΊΔ͜ͱ͕Ͱ͖͍ͯͨ •

    αʔϏε͕෼͔ΕΔͱstacetraceʹදࣔ͞Εͳ͘ͳΔͷͰ
 stacktraceʹରԠ͢Δ΋ͷΛ࠶࣮૷͢Δඞཁ͕͋Δ
  17. ᶄ ϩάऩूͲ͏͢ΔΜͩ஍ࠈ ͦΜͳ͋ͳͨʹɿؤு࣮ͬͯ૷ or ۚͷ஄ؙ • ؤு࣮ͬͯ૷ • ֤ϚΠΫϩαʔϏεؒͷϦΫΤετʹUUIDΛ෇༩ͯ͠௨৴Λߦ͏͜ͱʹΑΓ
 ͋ͱͰ௨৴ܦ࿏Λௐ΂ΒΕΔΑ͏ʹ͢Δ

    • ۚͷ஄ؙ • ্هͷػೳΛఏڙͯ͘͠ΕͯΔSaaS(AWS X-Ray)Λ࢖͏
  18. ᶅ ࠷దͳݴޠͰ࣮૷ͨ͘͠ͳͬͯ͘Δ஍ࠈ ͦΜͳ͋ͳͨʹɿզຫ͢Δ ࠷దͳݴޠͰͷ࠶࣮૷͸ϚΠΫϩαʔϏεԽ͕ࡁΜͰ͔Β ϚΠΫϩαʔϏεԽͱ࠶࣮૷ͱಉ࣌ʹߦ͏ͱઈରʹऴΘΒͳ͍ ʮRuby஗͍͠ܕͳ͍͠GoͰॻ͖׵͑ͨ͘ͳ͍ʁʯ

  19. ᶆ JOIN, τϥϯβΫγϣϯ, ֎෦ࢀর੍໿࢖͑ͳ͍஍ࠈ • DBΛ෼͚Δͱ͍͏͜ͱ͸ࠓ·ͰͷਓྨͷӥஐΛࣺͯΔͱ͍͏͜ͱ • ҟͳΔDBಉ࢜ͷJOIN͸Ͱ͖ͳ͍͠ɺτϥϯβΫγϣϯ΋షΕͳ͍ɺ
 ֎෦ࢀর੍໿΋࢖͑ͳ͍ •

    ͱ͸͍͑σʔλෆ੔߹Λى͜͢Θ͚ʹ΋͍͔ͳ͍ͷͰαʔϏεؒ௨৴ͷҝͷผͷ࢓૊Έ Λ༻ҙ͢Δඞཁ͕͋Δ • API callʁ HTTP஗Ԇ଴ͯͳ͘ͳ͍ʁ • ඇಉظॲཧʁ σʔλෆ੔߹ͷՄೳੑ͋ΔΑͶʁ • ͜͜͸ཁ݅ͱʹΒΊͬͯ͜͠ͲͪΒ͕ྑ͍ͷ͔൑அ͢Δඞཁ͕͋Δ • ஗Ԇ΋ͤ͞ΒΕͳ͍͠ෆ੔߹΋ࠔΔ௨৴͕͋Δ৔߹͸ಉҰαʔϏε಺ʹ
 ஔ͍͓͔ͯ͘͠ͳ͍
  20. ᶆ JOIN, τϥϯβΫγϣϯ, ֎෦ࢀর੍໿࢖͑ͳ͍஍ࠈ ͦΜͳ͋ͳͨʹɿؤு࣮ͬͯ૷ • ͜͜͸ؤுΔ͔͠ͳ͍ • ࣗ෼ͷͱ͜Ζͷ৔߹ •

    API call → Ϩεϙϯε͸JSONܗࣜͰ͸ͳ͘protobufܗࣜͰ௨৴ • ඇಉظॲཧ → Cloud Pub/SubΛ࢖ͬͯpub/subͰ΍ΓऔΓ • payloadͷserialize͸API callͱಉ༷ͷprotobufܗࣜͰߦͳ͍ͬͯΔ pub/subɾɾɾ1ݸͷpublisherͱNݸͷsubscriber͕ඇಉظతʹ΍ΓͱΓΛ͢Δ࢓૊ΈɻCloud Pub/Sub͸ͦͷSaaS
 protobufɾɾɾσʔλࣗମ͸όΠφϦͰૹ৴࣌/ड৴࣌ʹserialize/deserializeΛߦ͏ɻJSONͱͷҧ͍͸ܕ͕͍ͭͯΔ
  21. ᶇ ୤ϙϦϞʔϑΟοΫςʔϒϧ஍ࠈ • ϚΠΫϩαʔϏε੾Γग़͕࢝͠·ͬͯ਺೔ޙ… • ʮ͋Εɺλά͕هࣄ͚ͩ͡Όͳͯ͘Ϣʔβʔʹ΋ඥ͍ͮͯΔͧ…ʁʯ ࣌ؒͳ͚Ε͹skip

  22. Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job

  23. Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job

  24. ᶇ ୤ϙϦϞʔϑΟοΫςʔϒϧ஍ࠈ • Ϣʔβʔొ࿥͢Δͱ͖ʹهࣄαʔϏε΁ϦΫΤετ͠ͳ͍ͱ͍͚ͳ͍σΟετϐΞͷ஀ੜ • ʮهࣄλάʯςʔϒϧͱʮϢʔβʔλάʯςʔϒϧʹ෼͚ͯɺͦΕͧΕͷϚΠΫϩαʔϏ εʹ࣋ͨͤΔ • ݱ࣮ͷαʔϏεͰ͸๲େͳ਺ʹͳΔͷͰશ෦෼͚Δͷ͸ۤߦofۤߦ •

    ෼͚Δඞཁͷ͋Δσʔλͱ෼͚ͳͯ͘΋͍͍σʔλΛਫ਼ࠪ͠ͳ͕ΒਐΊ͍ͯ͘΂͖
  25. ᶇ ୤ϙϦϞʔϑΟοΫςʔϒϧ஍ࠈ • Ϣʔβʔొ࿥͢Δͱ͖ʹهࣄαʔϏε΁ϦΫΤετ͠ͳ͍ͱ͍͚ͳ͍σΟετϐΞͷ஀ੜ • ʮهࣄλάʯςʔϒϧͱʮϢʔβʔλάʯςʔϒϧʹ෼͚ͯɺͦΕͧΕͷϚΠΫϩαʔϏ εʹ࣋ͨͤΔ • ݱ࣮ͷαʔϏεͰ͸๲େͳ਺ʹͳΔͷͰશ෦෼͚Δͷ͸ۤߦofۤߦ •

    ෼͚Δඞཁͷ͋Δσʔλͱ෼͚ͳͯ͘΋͍͍σʔλΛਫ਼ࠪ͠ͳ͕ΒਐΊ͍ͯ͘΂͖ ͦΜͳ͋ͳͨʹɿؤு࣮ͬͯ૷
  26. ᶈ Ϩίʔυอଘ࣌ͷؔ࿈ςʔϒϧߋ৽callback֎͢஍ࠈ • ͦΕͧΕͷϚΠΫϩαʔϏε͸ࣗ਎͕ΦʔφʔγοϓΛ͍࣋ͬͯΔςʔϒϧ͚ͩૢ࡞ͯ͠΄ ͍͠ • ਌Ϩίʔυ͕࡟আ͞ΕͨΒࢠϨίʔυ΋Ұॹʹ࡟আ͢Δ or ֎෦Ωʔͷͱ͜ΛNULLʹ͢Δ •

    Φʔφʔγοϓ֎ͷϨίʔυΛมߋ͍ͨ͠৔߹΋ଟʑ͋Δ • ී௨Ͱ͋Ε͹O/R mapper΍webϑϨʔϜϫʔΫ͕͍͍ײ͡ʹ΍ͬͯ͘ΕΔػೳΛ
 ࠶࣮૷͢Δඞཁ͕͋Δ ࣌ؒͳ͚Ε͹skip
  27. ᶈ Ϩίʔυอଘ࣌ͷؔ࿈ςʔϒϧߋ৽callback֎͢஍ࠈ • ͦΕͧΕͷϚΠΫϩαʔϏε͸ࣗ਎͕ΦʔφʔγοϓΛ͍࣋ͬͯΔςʔϒϧ͚ͩૢ࡞ͯ͠΄ ͍͠ • ਌Ϩίʔυ͕࡟আ͞ΕͨΒࢠϨίʔυ΋Ұॹʹ࡟আ͢Δ or ֎෦Ωʔͷͱ͜ΛNULLʹ͢Δ •

    Φʔφʔγοϓ֎ͷϨίʔυΛมߋ͍ͨ͠৔߹΋ଟʑ͋Δ • ී௨Ͱ͋Ε͹O/R mapper΍webϑϨʔϜϫʔΫ͕͍͍ײ͡ʹ΍ͬͯ͘ΕΔػೳΛ
 ࠶࣮૷͢Δඞཁ͕͋Δ ͦΜͳ͋ͳͨʹɿؤு࣮ͬͯ૷
  28. ᶉ Ҡߦظؒͷίʔυڞ༗Ͳ͏͢Δ͔஍ࠈ • ϚΠΫϩαʔϏεԽʹ͋ͨͬͯผϦϙδτϦʹίʔυΛҠ͍ͯ͘͠ඞཁ͕͋Δ • Ͱ΋ػೳ։ൃνʔϜ͸ΰϦΰϦػೳ࡞ͬͯΔͷͰҠͦ͏ʹ΋Ҡͤͳ͍

  29. ᶉ Ҡߦظؒͷίʔυڞ༗Ͳ͏͢Δ͔஍ࠈ • ϚΠΫϩαʔϏεԽʹ͋ͨͬͯผϦϙδτϦʹίʔυΛҠ͍ͯ͘͠ඞཁ͕͋Δ • Ͱ΋ػೳ։ൃνʔϜ͸ΰϦΰϦػೳ࡞ͬͯΔͷͰҠͦ͏ʹ΋Ҡͤͳ͍ ͦΜͳ͋ͳͨʹɿ͕Μ͹Δ 1. ϞϊϦγοΫͳΞϓϦέʔγϣϯʹϚΠΫϩαʔϏεʹରԠ͢ΔॲཧΛߦ͏
 ΫϥεΛ࡞࣮ͬͯ૷ΛҠ͍ͯ͘͠(·ͩಉ͡ϦϙδτϦ)

    2. ϚΠΫϩαʔϏεʹରԠ͢ΔॲཧΛॻ͍ͨΫϥεΛڞ௨ϥΠϒϥϦԽ • ػೳ։ൃνʔϜ΋ͦͷϥΠϒϥϦʹมߋΛՃ͑ͯ΋Β͏Α͏ʹ͢Δ 3. ৽͘͠ϦϙδτϦΛ࡞Γڞ௨ϥΠϒϥϦΛ࢖ͬͯϚΠΫϩαʔϏεΛ࡞͍ͬͯ͘ 4. ϞϊϦε͔Βஈ֊తʹڞ௨ϥΠϒϥϦΛൈ͍͍͖ͯ࠷ऴతʹ͸ϥΠϒϥϦফ໓
  30. ᶊ ΫϥΠΞϯταΠυ͸Կͱ௨৴͢Ε͹͑͑Μ΍஍ࠈ • ϚΠΫϩαʔϏεԽͯ͠όοΫΤϯυ͸੔಴͞Εͯ៉ྷʹͳͬͨ • ΫϥΠΞϯτ͸ΞϓϦΛಈ͔ͨ͢Ίʹͨ͘͞Μͷαʔόͱ௨৴Λ͠ͳ͍ͱ
 ͍͚ͳ͘ͳͬͨ • ΞϓϦΤϯδχΞɺౖΓڰ͏

  31. ᶊ ΫϥΠΞϯταΠυ͸Կͱ௨৴͢Ε͹͑͑Μ΍஍ࠈ ͦΜͳ͋ͳͨʹɿBackend For Frontend(BFF) • ΫϥΠΞϯτͱόοΫΤϯυͷதؒ؅ཧ৬తͳଘࡏ(proxy server) • ΫϥΠΞϯτ͔Βཉ͍͠৘ใͷϦΫΤετ͕ಧ͘ͱόοΫΤϯυ(ϚΠΫϩ

    αʔϏε)ʹ໰͍߹ΘͤͯΑ͠ͳʹσʔλΛऔ͖ͬͯͯ͘ΕΔ • ΫϥΠΞϯτ͸BFFͱ௨৴͢Δ͚ͩͰΑ͘ͳΔ • ΫϥΠΞϯτͱBFF͸GraphQLͰ΍ΓऔΓ͢Δ͜ͱ͕ଟ͍ؾ͕͢Δʁ GraphQLɾɾɾ୯ҰͷΤϯυϙΠϯτʹରͯ͠POSTΛߦ͍ɺbodyʹΫΤϦΛ෇༩͢Δ͜ͱʹΑΓཉ͍͠σʔλΛ
 ɹɹɹɹɹɹɹऔಘͰ͖ΔΑ͏ʹ͢Δ࢓૊ΈɻJSONͱҧͬͯܕ͕͍ͭͯΔͷ͕خ͍͠ɻ
  32. ᶋ ͦ΋ͦ΋υϝΠϯڥքมΘΔ஍ࠈ • ϚΠΫϩαʔϏε੾Γग़࢝͠·ͬͯ਺िؒޙ • ʮJobͷࢪࡦͱͯ͠هࣄʹJobΛඥ͚͍ͮͨͰ͢ʯ

  33. Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job

  34. Ϣʔβʔ هࣄ Organization λά ετοΫ γεςϜ֓ཁਤɹʙ֬ఆ͍ͯ͠Δະདྷʙ Job

  35. ᶋ ͦ΋ͦ΋υϝΠϯڥքมΘΔ஍ࠈ • ϚΠΫϩαʔϏε੾Γग़࢝͠·ͬͯ਺िؒޙ • ʮJobͷࢪࡦͱͯ͠هࣄʹJobΛඥ͚͍ͮͨͰ͢ʯ • ຊ౰͸Job୯ମͰϚΠΫϩαʔϏεͱͯ͠੾Γ෼͚Δ΂͖ͩͬͨ • ϚΠΫϩαʔϏε੾Γग़͠ͷஈ֊Ͱ͸૝ఆͰ͖ͳ͍͜ͱ

  36. ᶋ ͦ΋ͦ΋υϝΠϯڥքมΘΔ஍ࠈ • ϚΠΫϩαʔϏε੾Γग़࢝͠·ͬͯ਺िؒޙ • ʮJobͷࢪࡦͱͯ͠هࣄʹJobΛඥ͚͍ͮͨͰ͢ʯ • ຊ౰͸Job୯ମͰϚΠΫϩαʔϏεͱͯ͠੾Γ෼͚Δ΂͖ͩͬͨ • ϚΠΫϩαʔϏε੾Γग़͠ͷஈ֊Ͱ͸૝ఆͰ͖ͳ͍͜ͱ

    ͦΜͳ͋ͳͨʹɿ1ճϞϊϦεʹ͚ͬͭ͘௚ͯ͠࠶౓੾Γग़͠ Railsͷ࡞ऀ DHH͕ӡӦͯ͠ΔαʔϏε basecamp͸3ճॻ͖௚ͯ͠ΔΒ͍͠
  37. ᶌ ϚΠΫϩαʔϏε෼͚͗ͯ͢͠·ͬͨ஍ࠈ • ϚΠΫϩαʔϏεʹ෼͚·ͬͨ݁͘Ռɺੜ࢈ੑ͕͔ͳΓ্͕ͬͨ • ΤϯδχΞ2ਓͰ1ͭͷϚΠΫϩαʔϏεΛݟΔ·Ͱʹ • ηΩϡϦςΟύονΛ౰ͯ๨ΕΔαʔϏε͕ग़ͯ͘Δ • ਓ͕গͳ͍෼ɺαʔϏεؒͰίʔυʹ͕ࠩग़ͯ͠·͏

    • ಛఆͷσβΠϯύλʔϯଟ༻͢ΔϚϯͱ͔ ref: https://speakerdeck.com/ota42y/how-should-we-face-with-microservices-wo- hamaikurosabisutodouxiang-kihe-ubekika
  38. ᶌ ϚΠΫϩαʔϏε෼͚͗ͯ͢͠·ͬͨ஍ࠈ ͦΜͳ͋ͳͨʹɿਓΛ૿΍͢ • ஌Γ߹͍Λwanted͠·͠ΐ͏ ͓͢͢ΊͷαʔϏε͸ͪ͜Βɿhttps://www.wantedly.com/

  39. ·ͱΊ ϞϊϦγοΫαʔϏε͔ΒͷϚΠΫϩαʔϏεԽ͸ ࢮ͵΄Ͳߟ͑Δ͜ͱ͋Δ͔ΒؾΛ͚ͭΑ͏ͳ Ͱ΋͏·͘ར༻͢Ε͹ ʮαʔϏε͕ෳࡶ͗ͯ͢։ൃͭΒ͍ʯ͔Β ʮαʔϏεΛ։ൃ͢Δਓ਺଍Γͳͯͭ͘Β͍ʯʹ εέʔϧՄೳͳ(ۚͰղܾͰ͖Δ)໰୊΁ͱϘτϧωοΫΛҠͤΔ

  40. ·ͱΊ ϞϊϦγοΫαʔϏε͔ΒͷϚΠΫϩαʔϏεԽ͸ ࢮ͵΄Ͳߟ͑Δ͜ͱ͋Δ͔ΒؾΛ͚ͭΑ͏ͳ ਺೥ޙͷࣗ෼ͷੜ࢈ੑΛ֬อ͢ΔͨΊʹ֤Ґ͕Μ͹͍͖ͬͯ·͠ΐ͏ Ͱ΋͏·͘ར༻͢Ε͹ ʮαʔϏε͕ෳࡶ͗ͯ͢։ൃͭΒ͍ʯ͔Β ʮαʔϏεΛ։ൃ͢Δਓ਺଍Γͳͯͭ͘Β͍ʯʹ εέʔϧՄೳͳ(ۚͰղܾͰ͖Δ)໰୊΁ͱϘτϧωοΫΛҠͤΔ