なめらかなシステムに向けた Webサービス基盤技術とAI技術の活用 / IEICE Society 2017

なめらかなシステムに向けた Webサービス基盤技術とAI技術の活用 / IEICE Society 2017

なめらかなシステムに向けた Webサービス基盤技術とAI技術の活用

ペパボ研究所によるWebサービスのユーザ体感と技術者体感に関する研究

ペパボ研究所 主席研究員 松本亮介 / Pepabo R&D Institute, GMO Pepabo, Inc.
2017.09.13 2017年電子情報通信学会ソサイエティ大会 BT-2 : AIを活用したネットワーク運用技術

2b692bd83f4418103142a053ecf5ff59?s=128

MATSUMOTO Ryosuke

September 13, 2017
Tweet

Transcript

  1. ϖύϘݚڀॴʹΑΔWebαʔϏεͷϢʔβମײͱٕज़ऀମײʹؔ͢Δݚڀ ϖύϘݚڀॴ ओ੮ݚڀһ দຊ྄հ / Pepabo R&D Institute, GMO Pepabo,

    Inc. 2017.09.13 2017೥ిࢠ৘ใ௨৴ֶձιαΠΤςΟେձ BT-2 : AIΛ׆༻ͨ͠ωοτϫʔΫӡ༻ٕज़ ͳΊΒ͔ͳγεςϜʹ޲͚ͨ WebαʔϏεج൫ٕज़ͱAIٕज़ͷ׆༻
  2. 1. ͳΊΒ͔ͳγεςϜ 2. WebαʔϏεج൫ٕज़ͷݚڀͱ͸ 3. ༧ଌʹجͮ͘εέʔϦϯάͷݚڀ 4. ίϯςφ͕॥؀͢ΔԾ૝ج൫ٕज़ͷݚڀ 5. ·ͱΊ

    2 ໨࣍
  3. 1. ͳΊΒ͔ͳγεςϜ

  4. • ίϯϐϡʔλ΍Πϯλʔωοτʹؔ͢Δٕज़͸ൃల͕ͨ͠… • ࠓ΋೔ৗతʹ৮ΕΔγεςϜ͸༷ʑͳোนʹຬͪᷓΕ͍ͯΔ • োน(ΰπΰπ)ͷऔΓআ͔ΕͨະདྷͷγεςϜΛ࣮ݱ͍ͨ͠ • ͳΊΒ͔ͳγεςϜ΁ 4 ίϯϐϡʔλͷൃలͱোน

  5. 1. γεςϜʹͱͬͯͷϢʔβ΍ɺγεςϜΛߏ੒͢Δαʔό౳ͷཁૉ͕ɺͲ ͷΑ͏ͳΧςΰϦʹଐ͢Δ͔ɺ͍͔ͳΔಛ௃Λ͔࣋ͭΛɺਫ਼៛ʹೝࣝ͢Δ 2. ͦͷࡍɺϢʔβ΍γεςϜ؅ཧऀͱ͍ͬͨਓؒʹ࿑ۤΛڧ͍ΔΑ͏ͳ໌ࣔ తͳૢ࡞Λ՝͞ͳ͍ 3. 1.͓Αͼ2.ͰಘͨΑΓਫ਼៛ͳΧςΰϦ΍ݸผͷಛ௃ɺ͋Δ͍͸ͦΕΒͷؒ ͷؔ܎ੑʹج͖ͮɺͦͷ࣌ʑͷঢ়گʹԠͯ͡࠷దͳαʔϏεΛఏڙ͢Δ ͳΊΒ͔ͳγεςϜΛ࣮ݱ͢ΔWebαʔϏεج൫ٕज़ͷݚڀ

    5 ͳΊΒ͔ͳγεςϜ͸ҎԼͷཁ݅Λຬͨ͢
  6. 2. WebαʔϏεج൫ٕज़ͷݚڀͱ͸

  7. • ਓؒͷϓϩμΫτ΁ͷൃ૝Λࢧ͑ΒΕΔج൫͕ඞཁ • ͜Ε·Ͱ͸֤छྖҬΛਓखͰΧόʔ͢Δ͜ͱ͕ଟ͔ͬͨ • ੑೳɾηΩϡϦςΟɾϦιʔε؅ཧɾӡ༻ٕज़ͳͲ • ج൫ΛػցͰࢧ͑ࣗಈԽ͠αʔϏεͷݶքΛ௒͑Δ • ਓؒͷൃ૝ͷݶքͱج൫ͷݶքͱͷউෛͷੈքͱ͍͑Δ

    7 WebαʔϏεج൫ٕज़ͷݶք͸αʔϏεͷݶք
  8. ਓؒͷൃ૝ vs ج൫ٕज़(ػց)ͱࢲͷݚڀ 8 ج൫ٕज़ ػց ϓϩμΫτ ਓؒͷൃ૝ ਓͷମྗɾਫ਼ਆͷݶք ਓͷମྗɾਫ਼ਆͷݶք

    ਓྗͰࢧ͑ଓ͚Δ ਓྗͰ޿͛ଓ͚Δ ਓྗͰࢧ͑ଓ͚Δ ϓϩμΫτͷݶքͷ෯ ج൫ٕज़ ػց ϓϩμΫτ ਓؒͷൃ૝ ػցͰࢧ͑ଓ͚Δ ϓϩμΫτͷݶքͷ෯ • ॎ࣠͸ϓϩμΫτ։ൃɾӡ༻ͷίετͱ΋ݴ͑Δ • ج൫ٕज़ͷݶքΛ௒͑Δ΂͘ਓͰΧόʔ͍ͯ͠Δ • ॎ࣠ͷίετΛ୹͘ɺԣ࣠ͷݶքͷ෯Λ޿͛Δͨ Ίͷݚڀ։ൃΛߦ͍ͬͯΔ দຊͷݚڀ
  9. • WebαʔϏεར༻ऀͷϢʔβʔମײ(User Sensation)ͷվળ • WebαʔϏεར༻ऀͷແҙࣝԼʹ͓͚Δշదͳײ֮ͷఏڙ • ౰ͨΓલʹී௨ʹҧ࿨ײͳ͘࢖͍ଓ͚ΒΕΔ͜ͱͷշద͞ • WebαʔϏεఏڙଆͷٕज़ऀମײ(Engineer Sensation)ͷվળ

    • ౰ͨΓલʹγεςϜͷ҆ఆੑΛอͪɺਓͷڧ੍հೖΛ௿ݮ 9 ࢲͷݚڀςʔϚ
  10. ͳΊΒ͔ͳγεςϜͷWebαʔϏεج൫ٕज़ͱAIٕज़ͷ׆༻ • AIతΞϓϩʔνʹΑΔݚڀ঺հ • ༧ଌʹجͮ͘εέʔϦϯάͷݚڀ • ج൫ٕज़తΞϓϩʔνʹΑΔݚڀ঺հ • Πϯελϯε͕॥؀͢ΔมԽʹڧ͍Ծ૝ج൫ٕज़ͷݚڀ 10

    ຊൃද ૒ํ޲͔ΒΞϓϩʔν
  11. 3. ༧ଌʹجͮ͘εέʔϦϯάͷݚڀ

  12. • มԽͷ଎͍WebαʔϏεӡ༻ͷΦʔτεέʔϦϯά͸ෳࡶԽ • ϦιʔεࢦඪͱWebαʔϏεશମͷؔ܎ੑͷ೺Ѳ͕ࠔ೉ • ࣌ؒ͝ͱͷར༻ಈ޲ͷਪҠཁҼͷ೺Ѳ͕ࠔ೉ • ΞΫηεස౓มಈΛ൐͏ෆఆظͳΠϕϯτͷଘࡏ • Πϯελϯε͕VMͷ৔߹ͷىಈ଎౓ͷӨڹ

    12 Ծ૝αʔόӡ༻୆਺࠷దԽͷ՝୊
  13. ෆఆظཁҼΛߟྀͨ͠༧ଌతΦʔτεέʔϦϯάख๏ͷఏҊ • WebαʔϏεӡ༻ऀ͕೺ѲՄೳͳࢦඪʹΑΔεέʔϦϯά • ӡ༻ܦݧʹجͮ҆͘ఆՔಇͷͨΊͷΞΫηεස౓Λࢦඪ • ΞΫηεස౓ʹӨڹΛ༩͑ΔෆఆظͳཁҼ΋ߟྀ • ىಈ࣌ؒΛߟྀͯ͠ࣄલʹεέʔϦϯάΛ࣮ࢪ •

    εέʔϦϯάִؒ͸Ϋϥ΢υαʔϏε՝ۚ୯ҐͰ͋Δ1࣌ؒ 13 Ծ૝αʔόӡ༻୆਺࠷దԽʹ޲͚ͯ
  14. 1. ΞΫηεස౓ͱෆఆظཁҼΛݩʹ༧ଌϞσϧΛֶश • ௕ظؒͷ࣌ܥྻσʔλʹର͠༧ଌਫ਼౓ͷߴ͍LSTMΛ࠾༻ • ฏ೔લ೔ͷΞΫηε૿Ճ΍ෆఆظ޿ࠂͷཁҼΛՃຯ 2. લ೔෼ͷΞΫηεස౓͔Β౰೔ͷΞΫηεස౓Λ༧ଌ 3. ༧ଌ஋Λ΋ͱʹ҆ఆՔಇՄೳͳαʔό୆਺Λࢉग़

    4. ىಈ࣌ؒΛߟྀͨ͠ࣄલεέʔϦϯά 14 ఏҊख๏ͷϑϩʔ
  15. ఏҊख๏ͷ࣮૷ 15 IUUQTJDPOTDPN

  16. 16 Ծ૝αʔό୆਺ͷਪҠ ೔͋ͨΓͷαʔό૯ىಈ͕࣌ؒ ࣌ؒ ͔Β࣌ؒʹ࡟ݮ ΞΫηεස౓ͷਪҠ ೔͋ͨΓΞΫηεස౓ͷඪ४ภࠩ͸໿ ͔Β໿ʹมԽɻख๏ద༻ޙ ʹεϧʔϓοτ͕҆ఆ͍ͯ͠Δ͜ͱ͕Θ͔ Δɻ

  17. • ෆఆظཁҼ(αβΤ͞Μ঱ީ܈ͳͲʣΛߟྀ • WebαʔϏεӡ༻্ͷಛੑΛՃຯ͢Δඞཁ͕༗Γ • ಥൃతͳεέʔϦϯάʹ͸ෆ޲͖ • ΞΫηεͷ؇΍͔ͳ܏޲ʹԠͨ͡εέʔϦϯάͰޮՌΛൃش • ࠓޙͷ՝୊ͱͯ͠ෆఆظཁҼͷҰൠԽ

    17 ༧ଌʹجͮ͘εέʔϦϯάͷ·ͱΊ
  18. 4. Πϯελϯε͕॥؀͢ΔมԽʹڧ͍ Ծ૝ج൫ٕज़ͷݚڀ

  19. • ಥൃతͳΞΫηε͚࣌ͩεέʔϧ͢Δͷ͸ͳͥ೉͍͠ͷ͔ʁ • γεςϜ͕ෆมੑΛ࣋ͭͱมԽ΁͸େ͖ͳίετ͕൐͏ • γεςϜͷߏ੒ཁૉ΋ෆมੑΛ࣋ͪঢ়ଶมԽͷίετ͕ߴ͍ • ෆมੑΛҡ࣋͢Δ͜ͱ͕γεςϜ؅ཧͷ໨తͰ͋Δ • ૝ఆͷൣғ಺Ͱ඼࣭Λ࠷େԽ͢Δ͜ͱΛ໨తͱ͍ͯ͠Δ

    • ૝ఆͰ͖ͳ͍ΞΫηεूத΍໰୊͕ଟൃ͢Δ࣌୅ʹ͸ෆ޲͖ 19 ෆมੑΛ൐͏γεςϜͷ՝୊
  20. 1. Πϯελϯε௥Ճॲཧ͕௿଎Ͱ͋Δ͜ͱ 2. ϋʔυ΢ΣΞϦιʔεͷར༻ޮ཰ͷ௿͞ 3. ۭ͖Ϧιʔε֬ೝͷͨΊͷεέδϡʔϦϯάॲཧͷ஗Ԇ 20 ҰൠతͳԾ૝Խج൫ͷΦʔτεέʔϧͷ՝୊ 1.ͱ2.ͷ՝୊ΛղܾͰ͖ΔΞʔΩςΫνϟͷఏҊ

  21. • ঢ়ଶͷมԽΛߴ଎ʹߦ͑ͯ൓Ԡతʹಈ࡞Ͱ͖Δ͜ͱΛॏࢹ • γεςϜͷཁૉͷఀࢭ͔Βىಈॲཧͷޮ཰Խʹண໨ • γεςϜͷཁૉͷఀࢭঢ়ଶΛڐ༰͢ΔγεςϜ • ৗʹఀࢭͱىಈ͕॥؀Մೳͳ߃ৗੑΛ࣋ͭγεςϜΛ໨ࢦ͢ • ॥؀Մೳ

    = Մ༻ੑ͕ߴ͘ৗʹมԽՄೳͳج൫͕࣮ݱͰ͖Δ 21 Մ༻ੑߴ͘มԽʹڧ͍ج൫Λઃܭ͢Δʹ͸ʁ
  22. มԽ͠ଓ͚Δ͜ͱ͔ΒಘΒΕΔ҆ఆੑ 22 ϗετ" ϗετ" ϗετ" ϗετ" ϗετ" Πϯλʔωοτ ϗετ" ϗετ"

    ϗετ" ΍͕ͯఀࢭ ൓Ԡతʹىಈ ൓Ԡతʹ εέʔϧΞοϓ ऩ༰αʔόA ऩ༰αʔόB HTTPϦΫΤετ ൓Ԡతʹ εέʔϧΞ΢τ • ϗετͷىಈͱఀࢭΛ॥؀ • ৗʹ॥؀͠ଓ͚ΔΞʔΩςΫνϟ • มԽ͠ଓ͚Δ͜ͱʹΑΔ҆ఆੑ • ॥؀ͷ଎౓վળΛ௥ٻ ৗʹมԽՄೳͰ͋ΔͨΊಥൃతͳΞ ΫηεूதͷΑ͏ͳมԽʹ΋଱ੑͷ ͋ΔΞʔΩςΫνϟΛ࣮ݱՄೳ
  23. • ϗετͷىಈɾෳ੡ɾఀࢭɾ૿ڧॲཧͷޮ཰ԽΛॏࢹ • ֤छॲཧΛHTTPϦΫΤετ࣌ʹϦΞΫςΟϒʹ࣮ࢪ • ϗετʹ͸ίϯςφܕԾ૝ԽΛ࠾༻ͯ͠ىಈΛߴ଎ʹ࣮ݱ • ίϯςφͷϞχλϦϯά͸ίϯςφࣗ਎͕࣮ࢪͯ͠ݕ஌ • ϦΫΤετʹج͍ͯϦΞΫςΟϒʹίϯςφͷঢ়ଶΛܾఆ

    23 FastContainerΞʔΩςΫνϟͱ໋໊
  24. ίϯςφ࣌୅ͷWebαʔϏεج൫Ϟσϧ 24 ΦʔέετϨʔγϣϯ૚ (,& &$4 .BSBUIPO LT %PDLFS4XBSN /)).4UBDL ετϥςδʔ૚

    3BODIFS 'BTU$POUBJOFS αʔϏε૚ ίϯςφʹ৐Δ۩ମతͳ8FCΞϓϦ΍αʔϏε ΠϯϑϥετϥΫνϟ૚ ($1 "[VSF "84 0QFO4UBDL .FTPT #BSF.FUBM -JOVY,JU /ZBI ίϯςφϥϯλΠϜ૚ %PDLFS .PCZ DPOUBJOFSE -9$ SLU )BDPOJXB $POUBJOFS3VOUJNF*OUFSGBDF $3* ຊΞʔΩςΫνϟͷείʔϓ FastContainer͸ཧ૝తʹ͸ ΦʔέετϨʔγϣϯ૚ҎԼͷ πʔϧ܈Ͱ࣮૷ՄೳͰ͋Δ
  25. HTTP FastContainerͷϑϩʔ 25 8FC1SPYZ ʢOHY@NSVCZ $.%# ʴ "1* -PDBM8FC1SPYZ OHY@NSVCZ

    $MJFOU ίϯςφ ίϯςφ ίϯςφ w )551ϦΫΤετͷ)PTUOBNF ΛΩʔʹɺ$.%# ߏ੒؅ཧ%# ͔Βίϯςφͷ৘ใΛऔಘ )551 4  ϦΫΤετ w ίϯςφͷ*1ͱϙʔτʹج͍ ͯίϯςφʹϓϩΩγ w ίϯςφ͕-JTUFO͍ͯ͠ͳ͍ ৔߹͸$.%#͔Βίϯςφ ৘ใΛಘͯىಈ $POUBJOFS&OHJOF IBDPOJXB
  26. HTTPϦΫΤετܖػͰͷ௥Ճɾఀࢭॲཧ 26 -PDBM 8FC1SPYZ $.%# ʴ "1* ίϯςφ ίϯςφ w

    ϦΫΤετॲཧ࣌ʹίϯςφͷϦιʔε࢖༻ྔ͕ߴ ͘ͳͬͨ͜ͱΛݕ஌ͨ͠Β"1*ʹίϯςφͷ௥Ճࢦ ࣔʢ௿͘ͳͬͨΒ࡟আࢦࣔʣ w $.%#ʹίϯςφͷ৘ใ͕͋Ε͹ىಈͯ͠ϦΫΤετ Λసૹ w ىಈॲཧத͸ىಈࡁΈͷίϯςφʹҰ୴ϦΫΤετΛ సૹͯ͠ىಈޙʹৼΓ෼͚։࢝ 8FC1SPYZ w Ϋʔϧμ΢ϯλΠϜͱ͍͏֓೦Λઃ͚ɺසൟʹ௥Ճɾ ఀࢭॲཧ͕ൃੜ͠ͳ͍Α͏ʹࢦࣔڐՄ࣌ؒΛઃఆ ऩ༰αʔό ؂ࢹɾݕ஌
  27. 27 10ສϦΫΤετதɺ5ສ1ϦΫΤετ͔Β εέʔϧΞ΢τΛߦ͍ɺϨεϙϯεʹӨ ڹΛ༩͑Δ͜ͱͳ͘ॠ࣌ʹෛՙ෼ࢄ͕Ͱ ͖͍ͯΔɻ 5ສϦΫΤετҎ߱͸2ίϯ ςφʹεέʔϧΞ΢τ͞Εͨ ͨΊɺϨεϙϯελΠϜ͕൒ ෼ҎԼͱͳͬͯ࢒Γͷ5ສϦ ΫΤετ୹࣌ؒͰॲཧ͍ͯ͠

    Δ͜ͱ͕෼͔Δɻ
  28. 28 10ສϦΫΤετதɺ5ສ1ϦΫΤετ ͔ΒCPU2ഒͷεέʔϧΞοϓΛߦ ͍ɺϨεϙϯεʹӨڹΛ༩͑Δ͜ͱ ͳ͘ॠ࣌ʹෛՙ෼ࢄ͕Ͱ͖͍ͯΔɻ 5ສϦΫΤετҎ߱͸CPU͕ ݩͷ2ഒʹڧԽ͞ΕͨͨΊɺ ϨεϙϯελΠϜ͕໿൒෼ͱ ͳͬͯ࢒Γͷ5ສϦΫΤετ ୹࣌ؒͰॲཧ͍ͯ͠Δ͜ͱ͕

    ෼͔Δɻ
  29. • ϦΫΤετ୯ҐͰߴ଎ʹεέʔϧΞοϓɾεέʔϧΞ΢τՄೳ • Ұఆ࣌ؒܦա͔ͭϦΫΤετॲཧ͕ͳ͔ͬͨΒίϯςφఀࢭ • ίϯςφΛ࢖͍ࣺͯՄೳʹ → immutability • Ұఆ࣌ؒىಈ͢Δ͜ͱͰ౎౓ىಈΑΓߴ଎Խ

    → mortality • ίϯςφ͕ϦΫΤετΛॲཧ͍ͯ͠Δ࣌ؒͷΈ՝ۚ౳͕Մೳ 29 FastContainerΞʔΩςΫνϟͷ·ͱΊ
  30. • ίϯςφ͕॥؀͢ΔͷͰϥΠϒϥϦ͕ࣗવʹߋ৽͞Ε͍ͯ͘ • ར༻ऀ͸ηΩϡϦςΟ޲্ɺఏڙଆ͸ӡ༻ޮ཰Խ • ߟ͑ํʹΑͬͯ͸ϝϞϦϦʔΫ͢Διϑτ΢ΣΞΛ΋ڐ༰ • CMDBͷऩ༰ઌ৘ใΛม͑Δ͚ͩͰࣗવʹऩ༰αʔόΛҠಈ • ϝϯςφϯε΍ো֐ରԠ࣌ͷແఀࢭରԠ͕༰қʹͳΔ

    30 FastContainerΞʔΩςΫνϟͷ·ͱΊ
  31. • ߴ଎ʹεέʔϦϯάՄೳͳϗεςΟϯάαʔϏε • ϩϦϙοϓʂϚωʔδυΫϥ΢υ • ϗεςΟϯάͳ͕ΒಥൃతͳมԽʹڧ͍αʔϏεͱͳΓಘΔ • ར༻ऀ͸ઐ໳తͳ஌ࣝͳ͘มԽʹڧ͍γεςϜΛར༻Մೳ • ج൫ٕज़Ͱਓͷൃ૝Λࢧ͑ϓϩμΫτͷݶքΛ௒͑Δ

    31 FastContainerͷ࣮༻Խ
  32. 5. ·ͱΊ

  33. ͳΊΒ͔ͳγεςϜͷWebαʔϏεج൫ٕज़ͱAIٕज़ͷ׆༻ • AIతΞϓϩʔνʹΑΔݚڀ঺հ • ༧ଌʹجͮ͘εέʔϦϯάͷݚڀ • ج൫ٕज़తΞϓϩʔνʹΑΔݚڀ঺հ • Πϯελϯε͕॥؀͢ΔมԽʹڧ͍Ծ૝ج൫ٕज़ͷݚڀ 33

    ຊൃදͷ·ͱΊ
  34. • WebαʔϏεར༻ऀͷϢʔβʔମײ(User Sensation)ͷվળ • WebαʔϏεఏڙଆͷٕज़ऀମײ(Engineer Sensation)ͷվળ • ݚڀ։ൃΛ௨ͯ྆͠ํ޲ͷମײΛվળ͍ͯ͘͠ • ج൫ٕज़ͷվળΛ௨ͯ͠ਓ͕ࢧ͑Δ΂͖ྖҬΛΑΓߴ౓ʹ

    • WebαʔϏεج൫ͷݶքΛ௒͑ɺϓϩμΫτͷݶքΛ௒͑Δ 34 WebαʔϏεج൫ٕज़ͷݚڀ঺հ
  35. • AI׆༻ʹΑΔޮՌͷ༗ޮੑͱཧ༝෇͚͕ࠔ೉ • AI׆༻ͱWebج൫ٕज़ͷݚڀ྆ํ޲͔ΒऔΓ૊Ή͜ͱʹΑͬ ͯ༗ޮੑ΍ཧ༝෇͚ΛධՁ͍͖͍ͯͨ͠ 35 ࠓޙͷ՝୊