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

How should we face with microservices (我々はマイクロサービスとどう向き合うべきか)

ota42y
March 22, 2019

How should we face with microservices (我々はマイクロサービスとどう向き合うべきか)

Rails Developers Meetup 2019で話した「我々はマイクロサービスとどう向き合うべきか」の資料です
https://railsdm.github.io/

質疑応答についてはこちら
https://railsdm.herokuapp.com/issues/128

ota42y

March 22, 2019
Tweet

More Decks by ota42y

Other Decks in Technology

Transcript

  1. Whether you do it or not, you can not avoid

    this topic ΍Δʹͯ͠΋ɺ΍Βͳ͍ʹͯ͠΋ ͜ͷ࿩୊͸ආ͚ΒΕͳ͍
  2. Today’ topic • FiNC Technologies use microservices 5 years •

    Why we use microservices • Good point in microservices • Bad point in microservices and how to solve these problems • How should we face with microservices ӳޠ͸͜͜Ͱྗਚ͖·ͨ͠…
  3. ࣗݾ঺հ • @ota42y • FiNC TechnologiesͷαʔόαΠυΤϯδχΞ • ϚΠΫϩαʔϏεΑΖͣຊΈ͍ͨͳͷΛग़ͯ͠·͢ • ిࢠ൛΋͋ΔΑ(ƅ㱼ƅ)oኯƅ


    https://booth.pm/ja/items/1040359
 https://booth.pm/ja/items/824288 • དྷ݄ͷٕज़ॻయͰͦͷ͕̏ग़ΔΑ Ұߦ΋ॻ͍ͯͳ͍…
  4. ϚΠΫϩαʔϏε͕૿͑͗͢Δͱ • ଞͷ෼ׂ΋੒ޭͯ͠ͲΜͲΜαʔϏε͕૿͑Δ • FiNCͷ৽ػೳΛͲΜͲΜ࡞͍ͬͯ͘ઓུͱϚον • ࠓ͸̑̌ݸ͙Β͍Ͱ (ΤϯδχΞ਺ × 2)

    < αʔϏε਺
 (ΫοࣾΑΓͪΐͬͱগͳ͍਺Λ1/5͙Β͍ͷਓ਺Ͱϝϯςͯ͠Δ…) • ঃʑʹͭΒ͍αʔϏε͕ग़࢝ΊΔ…
  5. ϞϊϦγοΫͳγεςϜͱൺ΂Δͱ • rankingͷαʔϏεΦʔφʔ͸̍ਓ͚ͩͰ݉೚ • ઐ೚νʔϜΛஔ͚ͳ͔ͬͨ • Χόʔ΋୭΋Ͱ͖ͳ͔ͬͨ • ϞϊϦγοΫͩͱ໨͕ଟ͘ɺ೺ѲͰ͖ͳ͍ঢ়ଶ͸ආ͚ΕΔ •

    Ξοϓσʔτࣗମ͸ࠔ೉ʹͳΔ৔߹΋(มߋ͕େ͖͍ͱͭΒ͍) • Ξοϓσʔτͯ͠ͳ͍ϦεΫΛෳ਺ਓͰڞ༗Ͱ͖ɺίϯτϩʔϧԼʹ͓͚Δ
  6. Έ͍ͨͳ࿩͕ଞʹ΋৭ʑ • σʔλͷ੔߹ੑͷ໘ • τϥϯβΫγϣϯ͸ਓྨ͕खʹೖΕͨฒྻॲཧʹର͢Δڧྗͳ෢ث • Πϯϑϥ • ؂ࢹɺো֐ͷ࿈࠯ɺҧ͏ٕज़ελοΫͷσϓϩΠɾνϡʔχϯάɺetc… •

    νʔϜ࿈ܞͷ໘ • ద੾ͳݖݶҠৡɺνʔϜΛ·͍ͨͩਓһௐ੔ɺϚΠΫϩαʔϏεͷςετɺϢʔβମݧͷ౷Ұ • αʔϏεΛ·͍ͨͩ࣌ͷΦʔόʔϔου • APIΛఆٛ͢Δࡍͷίϛϡχέʔγϣϯ͸େมɺΞϓϦ͔Βෳ਺ͷϚΠΫϩαʔϏεʹ໰͍߹ΘͤΔ௨৴ίετ ϚΠΫϩαʔϏεΑΖͣຊʹ·ͱΊͨΓɺॻ͍͍ͯͬͨΓ͠·͢…
  7. ϚΠΫϩαʔϏεͷෳࡶੑ • ϚΠΫϩαʔϏεͷ໰୊ͷ೉͠͞͸શମͷෳࡶੑͱൺྫ͢Δ • 2,3ݸఔ౓ͳΒͦ͜·Ͱେม͡Όͳ͍ • αʔϏεͷ࿈ܞ͕গͳ͚Ε͹ਏ͞͸௿͍
 ΞΧ΢ϯτ͚ͩڞ༗͢Δͱ͔ • جຊతʹαʔϏε΍࿈ܞΛ૿΍͢ͱෳࡶʹͳΓίετ͕ߴ͘

    • @yoshioriʮ֤αʔϏε͸୯७Ͱ΋γεςϜશମͱͯ͠͸ෳࡶʹͳΔʯ
 (DevOps, Immutable Infrastructure, microservices ͦͯ͠ Chaos Engineering) • ҰํͰϞϊϦγοΫͩͱϚΠΫϩαʔϏεͷྑ͞͸ಘΒΕͳ͍…
  8. Ͳ͏͢Ε͹ྑ͍ͷ͔ • ྫ͑͹FiNCͰ্ख͍ͬͨ͘ͷ͸ • ࣄۀ෦Ϩϕϧɺ։ൃӡ༻νʔϜ͕͓͚ΔϨϕϧͰͷϚΠΫϩαʔϏε • ϞϊϦγοΫ಺Ͱ͋Δఔ౓υϝΠϯ͕ܾ·ͬͨ΋ͷʹରͯ͠બ೚νʔϜΛ࡞Δ • ࣾ಺SaaS͙Β͍ͷن໛Ͱ࡞ͬͯ͘ͷ͕ཧ૝ͬΆ͍ •

    બ೚νʔϜ͕Ͱ͖Δ͙Β͍͔ɺࣄۀ෦͕ஔ͚Δ͔ • ୯ʹυϝΠϯͰ੾Δ͚ͩͩͱ͏·͍͔͘ͳ͍͜ͱ͕͋Δ • ϚΠΫϩαʔϏε͸ӡ༻͢ΔਓͨͪΛ͖ͪΜͱ෇͚ͳ͍ͱࢮ͵ • FaaSϕʔεʹ͢Δͷ͸ෳࡶ౓͕Ұؾʹ͕͋Δ͔Β΍Ίͨ΄͏͕ྑͦ͞͏
  9. ϚΠΫϩαʔϏε͸ຑༀ • ѹ౗తͳ୹ظͷྑ͕͞ಘΒΕΔ • ϚΠΫϩαʔϏεΛ෼ׂ͢ΔͱίʔσΟϯά͸ָ͘͢͝ • ௕ظతͳίετ͸ݟ͑ʹ͍͘ • কདྷࣦഊ͢Δ͔ΛࠓݟۃΊΔͷ͸೉͍͠ •

    ಠཱͯ͠ಈ͘ྑ͕͞ɺશମͷෳࡶ͞ͷ೺ѲΛ೉͘͢͠Δ • ແࢹ͢Δѹྗ΋େ͖͍ • ࠓΛ৐Γӽ͑ͳ͍ͱະདྷ͸ͳ͍ͱ͍͏ࣄ࣮ • ѹ౗తͳ։ൃମݧͷྑ͞ͷલͰ͸௕ظతͳίετ͸খ͘͞ݟ͑Δ
  10. Reduction of Microservices Hell Power of organization Monolithic hell Complexity

    of 
 microservices Expansion of best microservices Micro- services hell