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

How should we face with microservices (我々はマイクロサ...

Avatar for ota42y ota42y
March 22, 2019

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

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

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

Avatar for ota42y

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