Webサービス基盤の自律制御と動的平衡性 / web-autonomy-homeostasis

Webサービス基盤の自律制御と動的平衡性 / web-autonomy-homeostasis

なめらかなシステムのアイデアと実現に向けて
松本亮介 / GMO PEPABO inc.
2016.07.02 はてな・ペパボ技術大会〜インフラ技術基盤〜@京都

2b692bd83f4418103142a053ecf5ff59?s=128

MATSUMOTO Ryosuke

July 02, 2016
Tweet

Transcript

  1. ͳΊΒ͔ͳγεςϜͷΞΠσΞͱ࣮ݱʹ޲͚ͯ দຊ྄հ(.01&1"#0JOD ͸ͯͳɾϖύϘٕज़େձʙΠϯϑϥٕज़ج൫ʙ!ژ౎ 8FCαʔϏεج൫ͷࣗ཯੍ޚͱಈతฏߧੑ

  2. γχΞɾϓϦϯγύϧΤϯδχΞ দຊ྄հ!NBUTVNPUPSZ ٕज़෦ٕज़ج൫νʔϜݚڀ։ൃ୲౰ IUUQSFTFBSDINBUTVNPUPSKQ

  3. ໨࣍ wͳΊΒ͔ͳγεςϜͷίϯηϓτ w8FCαʔϏεͷݱঢ়ͱ՝୊ͱਓ޻஌ೳͷΞϓϩʔν w8FCαʔόͷࣗ཯੍ޚ w8FCαʔϏεج൫ͷಈతฏߧੑ w·ͱΊ

  4. ͳΊΒ͔ͳγεςϜͷίϯηϓτ

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

    ຊൃදͰ͸ͳΊΒ͔ͳγεςϜͱ͍͏ίϯηϓτΛ8FCΠϯϑϥ΁ద༻͢Δྫ
  6. None
  7. 8FCαʔϏεͷঢ়گͱ՝୊

  8. 8FCαʔϏε

  9. ϖύϘ෱Ԭͷ8FCαʔϏε

  10. ൺֱతن໛ͷେ͖͍ϩϦϙοϓʂ ສαΠτҎ্؅ཧ͓ͯ͠Γɺ೔ͷΞΫηε਺͸ԯҎ্

  11. 8FCαʔϏε΁ͷෆຬ wϢʔβɾΠϯλϑΣʔε͕࢖͍ʹ͍͘ wද͕ࣔ஗͍ɺμ΢ϯϩʔυ͕஗͍ w8FCαΠτʹͭͳ͕Βͳ͍ w͜ͷ8FCαʔϏε͸࢖͑ͳ͍ wݸਓͷ4/4֦ࢄͰ͋ͬͱ͍͏ؒʹධ൑͕མͪΔ࣌୅

  12. շదʹར༻Ͱ͖ͯ౰ͨΓલͷੈք

  13. 8FCαʔόͷӡ༻͕େม

  14. ࣌ؒ೔ͷ8FCαʔόӡ༻ͱ͸ wߴෛՙɾো֐ରԠ w໰͍߹ΘͤௐࠪɾରԠ wϋʔυ΢ΣΞɾιϑτ΢ΣΞͷόʔδϣϯΞοϓ wαʔϏε΍ج൫ʢΠϯϑϥʣͷ؂ࢹ w৽نߏங΍༧๷ાஔͳͲ

  15. αʔό؂ࢹͷᮢ஋ઃఆ͸೉͍͠

  16. Ұ࣌తͳߴෛՙ͸ແࢹ͍ͨ͠ αʔόͷϦιʔε࢖༻ྔ      ෼  

              ແࢹ͍ͨ͠
  17. ܏޲͕มԽ͢Δߴෛՙ͸༧ଌ͍ͨ͠ αʔόͷϦιʔε࢖༻ྔ      ෼  

              Ͱ͖Δ͚ͩ͸΍͘༧ଌ͍ͨ͠
  18. ਖ਼ৗʹݟ͑ΔҟৗΛݕ஌͍ͨ͠ αʔόͷϦιʔε࢖༻ྔ      ෼  

              ༧ଌ͍ͨ͠ ࣮͸ҟৗ͕ൃੜ͍ͯ͠Δ࣌఺
  19. ஈ֊తͳ܏޲ͷมԽ΋ݕ஌͍ͨ͠ ݕ஌͍ͨ͠ ແࢹ͍ͨ͠

  20. ৄࡉͳมԽͱͦͷݪҼΛಘΔʹ͸ ਓͷ໨ʹΑΔ؂ࢹӡ༻͕ඞཁ

  21. Ͱ΋ࣗಈͰ੍ޚ͍ͨ͠

  22. ਓͷ໨͸ର৅ͷৼΔ෣͍Λଊ͍͑ͯΔ

  23. ৼΔ෣͍Λද͢ಛ௃Λநग़͢Ε͹ྑ͍

  24. ਓ޻஌ೳͷΞϓϩʔν

  25. ߟ͑ํ͸ඇৗʹγϯϓϧ wαʔό΍γεςϜʹ͸ಛ௃͕͋Δ͸ͣ wαʔόͷಛ௃ͷ௨ৗঢ়ଶΛֶश͓ͯ͘͠ w௨ৗঢ়ଶ͔Β֎Εͨঢ়ଶΛղੳ͢Δ w࿈ଓతʹ֎Εͨঢ়ଶΛҟৗͷ͸͡·Γͱ͢Δ wσʔλϚΠχϯάͷ؍఺͔Β֎Ε஋ɾมԽ఺ݕग़

  26. 8FCαʔόͷҟৗঢ়ଶΛ༧ଌͯ͠ ࣗಈͰ੍ޚ

  27. ֤छج൫ٕज़͸׬੒ w8FCαʔόઃఆΛϓϩάϥϜԽ˞  wઃఆϓϩάϥϜͱ04ͷϦιʔε੍ޚΛ࿈ܞ˞  wޙ͸্هͷٕज़ؒͰಛ௃ྔͷఆٛͱղੳ͕ඞཁ ˞দຊ྄հ Ԭ෦णஉ NPE@NSVCZεΫϦϓτݴޠͰߴ଎͔ͭলϝϞϦʹ֦ுՄೳͳ8FCαʔόͷػೳ֦ுࢧԉػߏ ৘

    ใॲཧֶձ࿦จࢽɼ7PM /P QQ /PW ˞3ZPTVLF.BUTVNPUP 3FTPVSDF$POUSPM"SDIJUFDUVSFGPSB8FC4FSWFS4FQBSBUJOH$PNQVUFS3FTPVSDFT 7JSUVBMMZBU&BDI)5513FRVFTU 3VCZ,BJHJ 4FQ
  28. ղੳ

  29. ղੳ͸มԽ఺ݕग़˞ ΍ΫϥελϦϯάͳͲ ༷ʑͳख๏͕͋Δ ˞+5BLFVDIJBOE,:BNBOJTIJ l"6OJGZJOH'SBNFXPSLGPS%FUFDUJOH0VUMJFSTBOE$IBOHF1PJOUTGSPN5JNF4FSJFT z *&&&USBOTBDUJPOTPO,OPXMFEHFBOE%BUB&OHJOFFSJOH QQ 

  30. γϛϡϨʔγϣϯσʔλ Կ͔ى͖ͯΔͷͰݕ஌͍ͨ͠ ैདྷͷᮢ஋ॲཧͰ͸ҙ֎ͱ໘౗ ˞দຊ྄հ NSVCZDIBOHFpOEFS IUUQTHJUIVCDPNNBUTVNPUPSNSVCZDIBOHFpOEFS ೥݄

  31. ಛ௃ྔͷఆ͕ٛॏཁ

  32. ྫ͑͹ෳ਺σʔλͷؔ܎ੑΛಘΔ

  33. ಛ௃ྔ"ͷ࣌ܥྻσʔλ ಛ௃ྔͷσʔλ஋      ෼  

              ҟৗ͕ى͖͍ͯΔʁ ͜ͷσʔλͰ͸Α͘෼͔Βͳ͍ ࣮͸ҟৗ͕ى͖͍ͯΔ࣌఺
  34. ಛ௃ྔ#ͷ࣌ܥྻσʔλ ಛ௃ྔͷσʔλ஋      ෼  

              ҟৗ͕ى͖͍ͯΔʁ
  35. "ͱ#ͷσʔλؒͷ૬ؔؔ܎ΛݟΔ ಛ௃ྔͷσʔλ஋      ෼  

              ҟৗ͕ى͖͍ͯͦ͏ʂ
  36. "ͱ#ͷ૬ؔ܎਺ͷ࣌ܥྻσʔλ ಛ௃ྔͷσʔλ஋      ෼  

              ҟৗʢมԽʣ͕ى͖͍ͯΔʂʂ ˞দຊ྄հ τϥϑΟοΫಛ௃ྔͷ૬ؔಛੑΛ༻͍ͨҟৗݕग़ ฏ੒೥౓ଔۀݚڀൃදձ ೥݄
  37. ࣗݾ͋Δ͍͸ؔ܎ੑΛ؂ࢹ͠ ࣗಈͰϦιʔε੍ޚ͢Δٕज़

  38. 8FCαʔόͷࣗ཯੍ޚ

  39. ैདྷͷᮢ஋؂ࢹ ᮢ஋

  40. ಛ௃ྔநग़ʹΑΔݕ஌Ͱ͖Δ࣌఺ͷ૿Ճ

  41. ᮢ஋ҎԼͰ΋܏޲มԽΛࡉ͔͘ݕ஌Ͱ͖Δ w܏޲มԽͷੵΈॏͶʹΑΓߴෛՙʹͳΔͱԾఆ wߴෛՙݕ஌࣌ʹ͸ݪҼ͕ແ਺ʹ͋Δঢ়ଶʹͳΔ wᮢ஋͸௒͍͑ͯͳ͍͕܏޲͕มԽͨ࣌͠఺Λ஌Γ͍ͨ w8FCαʔϏεج൫ʹ͓͍ͯ͸มԽ఺΍֎Ε஋ʹ͸Կ ͔ݪҼ͕͋Δ͸ͣ

  42. ࡉ͔͘܏޲มԽͨ࣌͠఺ͰԿΛ͢΂͖͔ wҟৗݕ஌ͳͷͰGBMTFQPTJUJWFOFHBUJWF͕ॏཁ wݕ஌੍͙ͯ͢͠ݶΛ͢Δͱޡݕ஌ͷӨڹ͕େ͖͍ wͱ͸͍͑ݕग़ͨ͠ΒݪҼΛಛఆͯ͠ΞΫγϣϯ͢΂͖ w͜ΕΒͷಛੑΛ׆੍͔͢ޚख๏Λߟ͑Δ wඇఆৗͳσʔλͷ౷ܭ஋ΛͲ͏׆༻͢Δ͔

  43. όϥϯεΛͱΓ͍ͨ৚݅ wྫ͑͹ߴूੵͳϚϧνςφϯτ؀ڥΛ૝ఆ wશମͷϦιʔε͕ۭ͍͍ͯΔঢ়گͰ͸ࣗ༝ʹ࢖͑Δ wϦιʔε͕ṧഭ͖ͯͨ࣌͠ͷΈʹ੍ݶΛ͔͚Δ wṧഭ࣌ͷ੍ݶର৅͸໰୊ͱͳΔςφϯτͷΈ wશମͱͯ҆͠ఆͨ͠ͳΊΒ͔ͳঢ়ଶΛ࡞Γ͍ͨ

  44. ϨϯαόΛྫʹݕ஌ɾ੍ޚΛઃܭ wมԽ఺ݕग़࣌ʹͲͷϗετ͕มԽ఺είΞ͕ߴ͍͔ w֤ϗετͷϦιʔε࢖༻܏޲ͷॏΈ෇͚Λߦ͏ wॏΈ෇͚ϦετΛ܏޲มԽຖʹߋ৽͍ͯ͘͠ wશϦιʔε͕ṧഭ͖ͯͨ͠ΒϦετΛݩʹࣗಈ੍ޚ

  45. ॏΈ෇͚Ϧετͷੜ੒ 8FCαʔό ϓϩηε ॏΈ෇͚Ϧετ FYNBQMFDPN NBUTVNPUPSKQ FYBNQMFKQ FYBNQMFPSH ɾ ɾ

    ϗετຖʹϦιʔε࢖༻܏޲ ͷॏΈ෇͚ϦετΛߋ৽ ྫ͑͹ߴ͍είΞΛܭଌͨ͠৔߹ͷΈϦετΛߋ৽ͯ͘͠౳
  46. αʔόͷϦιʔε͕ṧഭ͖ͯͨ͠Β੍ޚ αʔόϦιʔε͕ඡഭ͍ͯ͠ͳ͍৔߹͸ϦετͷॏΈ෇͚ͷΈʹ຿ΊΔ ॏΈ෇͚Ϧετ FYNBQMFDPN NBUTVNPUPSKQ FYBNQMFKQ FYBNQMFPSH ɾ ɾ ϗετຖʹϦιʔε࢖༻܏޲

    ͷॏΈ෇͚ϦετΛߋ৽ αʔόશମͷϦιʔε͕ඡഭ͖ͯͨ͠Β ϦετΛݩʹ8FCαʔόࣗ਎੍͕ޚ 8FCαʔό ϓϩηε
  47. ࣌ܥྻσʔλͷੜ੒ wϨεϙϯεੜ੒ʹফඅͨ͠Ϧιʔε஋͔Βੜ੒ wؔ܎ੑͷ͋Δෳ਺ͷ࣌ܥྻσʔλ͔Β૬ؔؔ܎ͷ࣌ܥ ྻσʔλΛ࡞Δ͜ͱ΋Ͱ͖Δ wαʔόશମͷมԽͱϗετ୯ମͷมԽʹ૬͕ؔ͋Ε͹ ͦΕ͸αʔόʹେ͖͘ෛՙΛ͔͚͍ͯΔɺͳͲ

  48. σʔλੜ੒ͱղੳιϑτ΢ΣΞ w8FCαʔόͷػೳ֦ுNPE@NSVCZOHY@NSVCZ wϓϩηεͷϦιʔεফඅ஋औಘNSVCZSFTPVSDF wมԽ఺ݕग़ΤϯδϯNSVCZDIBOHFpOEFS w૬ؔ܎਺ੜ੒ΤϯδϯNSVCZDPSSFMBUJPO

  49. ੍ݶͷ࣮૷ํ๏ wϦΫΤετ୯ҐͰ$16΍*0ͳͲͷׂ౰Λมߋ wDHSPVQ NSVCZDHSPVQ ΍SMJNJU NSVCZSFTPVSDF  wϗετ୯ҐͰͷಉ࣌઀ଓ਺Λมߋ wNPE@NSVCZ΍NPE@WIPTU@NBYDMJFOUT

  50. ϦΫΤετ୯ҐͰͷϦιʔε੍ޚ 8FCαʔό ϓϩηε ΫϥΠΞϯτ ϦΫΤετ Ϩεϙϯε Ϩεϙϯεੜ੒ͷॲཧͷؒͷΈ ϓϩηεΛಛఆͷDHSPVQʹΞλον ʢ$16ͳͲʣ DHSPVQΞλον

    DHSPVQσλον
  51. ϛυϧ΢ΣΞ͕ಛ௃ྔநग़ɾղੳɾ੍ޚ Λࣗ཯తʹߦ͏

  52. 8FCαʔϏεج൫ͷಈతฏߧੑ

  53. ੜ໋ͱ͸

  54. ੜ໋ͱ͸ wಈతฏߧʹ͋ΔྲྀΕ wࡉ๔पظνΣοΫϙΠϯτ

  55. ੜ໋ͱ͸ಈతฏߧʹ͋ΔྲྀΕ ˞˞˞ wੜମߏ੒੒෼ͷΤϯτϩϐʔ૿େͷ๏ଇʹΑΔ่յ wཚࡶ͕͞஝ੵ͢Δ଎౓ΑΓ΋ૣ͘෼ղͯ͠࠶ߏங wடংΛकΔͨΊʹઈ͑·ͳ͘յͯ͠࡞Γม͑Δ wࣗΒͷ੍ޚԽͰฏߧঢ়ଶΛ࡞Δ ˞8#$BOOPO l5IF8JTEPNPGUIF#PEZz  

    88/PSUPO$P /FX:PSL ˞4DIPFOIFJNFS 3VEPMG5IFEZOBNJDTUBUFPGCPEZDPOTUJUVFOUT5IFEZOBNJDTUBUFPGCPEZDPOTUJUVFOUT   ˞෱Ԭ৳Ұ  ੜ෺ͱແੜ෺ͷ͍͋ͩ ߨஊࣾݱ୅৽ॻ ೥݄
  56. ࡉ๔पظνΣοΫϙΠϯτ ˞ wࡉ๔͕ਖ਼͘͠ࡉ๔पظΛਐߦ͍ͤͯ͞Δ͔؂ࢹ wҟৗ͕͋ͬͨ৔߹͸पظਐߦΛݪଇ͢ΔͳͲ੍ޚ wࡉ๔ࣗ਎͕͜ͷ੍ޚػߏΛ͍࣋ͬͯΔ ˞ࡉ๔पظνΣοΫϙΠϯτ IUUQTKBXJLJQFEJBPSHXJLJ &##&&&"&$'&&"&&"' &%&"&#&

  57. ੜ໋ͷಛ௃Λ8FCγεςϜʹԠ༻

  58. ҎԼͷΑ͏ʹݟཱͯΔ wࡉ๔ɿαʔόʢ7.ɺϓϩηεʣ wಈతฏߧɿઈ͑ؒͳ͍αʔόͷഁյͱ࠶ߏங wΤϯτϩϐʔ૿େɿҟৗঢ়ଶͷϦεΫ૿େ wࡉ๔पظνΣοΫϙΠϯτɿαʔόͷࣗ཯੍ޚ

  59. 8FCαʔϏεج൫Λੜ໋ͷΑ͏ʹѻ͏ wߴ౓ͳγεςϜ͸ੜ໋ͷΑ͏ʹݟ͑Δ wίϯϐϡʔλ͸௕͍ؒಈ͔͢ͱԿ͔Β͠ΒҟৗͱͳΔ wҟৗʢΤϯτϩϐʔ૿େʣ͔Β͸ಀΕΒΕͳ͍ wࣗ཯੍ޚͭͭࣗ͠ΒΛյ͠૿৩͠࠶ߏங͢Ε͹ྑ͍ wಈతฏߧੑʹΑΓடংΛอͭ8FCαʔϏεج൫

  60. Քಇத ఀࢭத ఀࢭத ఀࢭத ఀࢭத Քಇத Քಇத Քಇத Քಇத Քಇத

    Քಇத Քಇத Քಇத Քಇத Քಇத ৗʹ̍ͷʮՔಇதʯ͕ଘࡏ͢ΔલఏͰɺʮՔಇதʯ͕೚ҙͷ࣌ؒܦաͰ ʮఀࢭதʯʹͳͬͨ৔߹ɺྡ઀ͷؔ܎ੑͷ؂ࢹ͍ͯ͠ΔʮՔಇதʯ͕৽ͨ ͳʮՔಇதʯΛ࡞Γग़͠ఆৗతʹ॥؀ͤ͞Δ ☓ Քಇத
  61. ఀࢭத ఀࢭத Քಇத Քಇத Քಇத Քಇத Քಇத Քಇத Քಇத Քಇத

    Քಇத ఀࢭத ఀࢭத ఀࢭத Քಇத Քಇத Քಇத Քಇத Քಇத Քಇத Քಇத Քಇத Քಇத Քಇத ఀࢭத Քಇத Քಇத Քಇத 7.ʹϥΠϒϥϦόʔδϣϯ΍ϩέʔγϣϯଐੑͳͲΛ࣋ͨͤͯ 7.ͷৼΔ෣͍͕͓͔͍͠Ϋϥελ͔ΒҟৗͳଐੑΛநग़͢ΔΫϥελϦϯά؂ࢹ
  62. ಈతฏߧੑʹ͍ͭͯৄ͘͠஌Γ͍ͨ৔߹ͷࢿྉ IUUQTTQFBLFSEFDLDPNNBUTVNPUP@SOBNFSBLBEJEFBEFTJHO

  63. ·ͱΊ

  64. ·ͱΊ wਓͷෆ׬શੑ΍Τϯτϩϐʔ૿େΛڐ༰͢ΔγεςϜ wࣗ཯੍ޚͱಈతฏߧͷܥʹ͋Δ8FCγεςϜج൫ wγεςϜͦͷ΋ͷͷঢ়ଶ΍ಛ௃Λ෼ྨɾ؂ࢹ͢Δ

  65. ࠓޙͷݚڀ։ൃͷ༧ఆ w45/4ϓϩάϥϚϒϧͳ࣍ੈ୅-JOVYೝূج൫ wIBDPOJXBϓϩάϥϚϒϧͳ࣍ੈ୅ίϯςφΤϯδϯ w8FCαʔόͷࣗ཯੍ޚ wಈతฏߧੑΛ࣋ͭ8FCαʔϏεج൫ wػցֶशʹΑΔγεςϜͷଐੑͷ෼ྨͱঢ়ଶ؂ࢹ