Share
Embed
Transcript
44 slides
-
ҙࣝ w 8FCΞϓϦέʔγϣϯʹཁٻ͞ΕΔਫ४ɺ·͢ ·͢ߴ·͍͔ͬͯ͘Γͩ w ΞϓϦέʔγϣϯංେԽ͠ɺΞʔΩςΫνϟෳ ࡶԽ͠ɺରԠ͢Δ͖σόΠεଟ༷Խ͍ͯ͠Δ w ٕज़తڥɺݴޠϑϨʔϜϫʔΫʹ͓͍ͯɺ༷ʑ ͳબࢶ͕૿͑ͨ͜ͱتͿ͖͜ͱ͕ͩɺҰํͰɺ
దͳબࠔʹͳ͍ͬͯΔ w ͦ͏ͨ͠ঢ়گԼͰٕज़બΛߦ͏ʹɺͲͷΑ͏ʹ ߟ͑ͨΒΑ͍ͷ͔ʁ -
ϓϩάϥϚʔෆཁʁ lγεςϜΛಈ͔͢ιϑτɺίϯϐϡʔλʔઐ༻ͷϓϩάϥϜݴޠ Ͱߏ͢Δඞཁ͕͋Δɻ௨ৗͷγεςϜ։ൃͰɺٕज़ऀ͕ར༻ا ۀͱΓࠐΈ͍ͨ༰ΛࡲΓ߹Θͤɺ·ͣҰൠͷݴ༿Ͱنఆͨ͠ʮઃ ܭॻʯΛ࡞ɻͦΕΛجʹϓϩάϥϚʔ͕ϓϩάϥϜݴޠʹʮ༁ʯ ͠ɺͤ͞ΔΈͩɻ ࢜௨جװγεςϜͷϓϩάϥϜ͕ԋࢉσʔλͷҠಈɺ߲ νΣοΫͳͲಛఆͷॲཧͷΈ߹ΘͤͰߏͰ͖Δ͜ͱʹணɻॲ ཧͷछྨ͝ͱʹઐ༻ͷઃܭॻͷͻͳܕΛ༻ҙͨ͠ɻ
γεςϜ։ൃऀͻͳܕʹԊͬͯʮʰ̖ʱΛʰ̗ʱʹઃఆ͢Δʯͱ ͍ͬͨॲཧ༰Λ·ͣબͿɻ࣍ʹ͋Β͔͡Ίنఆ͓͍ͯͨ͠ʮޱ࠲ ൪߸ʯʮऔҾֹۚʯͳͲͷۀ༻ޠΛॱ൪ʹΊ͜Ήɻ͜ͷ܁Γ ฦ͠ͰઃܭॻΛͤ͞ΕɺϓϩάϥϜݴޠʹࣗಈม͞ΕΔɻz ܦ৽ฉ݄ -
ϓϩάϥϛϯάݴޠͷબࢶ w ͜͜Ͱݟ͍ͨͷɺελʔτΞοϓʹݶΒͣɺϓϩ άϥϛϯάݴޠʹ͍ͭͯɺ͍Ζ͍Ζͳબࢶ͕͋Δ ͱ͍͏͜ͱ w ʮͳΜͰΞϨ ͋ͳͨͷ͖ͳݴޠ ͕ͳ͍Μͩʁʯ ͱ͖ͬͱࢥ͏ͣɻ࣮ࡍʹͦΕҎ্ʹɺબࢶ
ͬͱ͋Δ w ਓʑɾ৫ͷ͓͔Εͨঢ়گʹΑͬͯɺબͷج४ ҟͳΔ w ͰɺͦΕͲͷΑ͏ʹҟͳΔͷ͔ʁ -
બͷత w छʑͷٕज़ཁૉͷதͰɺൺֱతେ͖ͳׂΛՌͨ ͢ Ͱ͋Ζ͏ ϓϩάϥϛϯάݴޠΛదʹબ͢Δ ͜ͱͰɺզʑ͕։ൃ͢ΔγεςϜ͕ɺϢʔβʹఏڙ ͢ΔՁΛ࠷େԽ͢ΔͨΊ w ·ͨɺҰ࣌తͳՁͷΈͳΒͣɺ࣋ଓతΛՌͨ
͢͜ͱͰɺܧଓతʹߴ͍ՁΛఏڙ͢ΔͨΊ ! ൺֱతظؒʹΘͨΔ8FCαʔϏεΛల։͢Δલఏ ͳΒɺޙऀ͕ΑΓॏཁʹͳͬͯ͘Δɻ -
ݴޠࣗମͷಛੑ w ܕγεςϜ w 001ͷαϙʔτ w ࣮ߦܗࣜ w γϯλΫε w
൚༻ੑ w ϙʔλϏϦςΟ w ύϑΥʔϚϯε w ฒྻɾฒߦϓϩάϥϛ ϯάͷαϙʔτ w ఏڙݩͷϒϥϯυ w ࠃࡍతඪ४ن֨ͷଘࡏ w ϥΠηϯε w ػೳͷϘϦϡʔϜ w शಘͷ༰қ͞ w Πϯετʔϧͷ༰қ͞ w ඪ४ϥΠϒϥϦͷॆ࣮ w πʔϧνΣΠϯͷॆ࣮ w FUD -
ίϛϡχςΟ w ϦϦʔεϚωδϝϯτ w ϦϦʔεස w ޙํޓੑͷϙϦγ w ܧଓੑ w
εϙϯαʔ w ίϛϡχςΟͷن w ΤϰΝϯδΣϦετͷଘࡏ w ٕज़Πϕϯτͷଘࡏ w FUD -
ΤίγεςϜ w ϥΠϒϥϦͷɺར༻͍͢͠ܗଶ w (JU)VCͳͲͰͷɾධՁ w υΩϡϝϯτͷॆ࣮ w ܾఆతͳϥΠϒϥϦϑϨʔϜϫʔΫͷଘࡏ w
αʔϏε։ൃʹඞཁͳϥΠϒϥϦͷॆ࣮ w ։ൃޮԽΛࢧԉ͢ΔπʔϧϥΠϒϥϦͷॆ࣮ w ςετΛࢧԉ͢ΔπʔϧϥΠϒϥϦͷॆ࣮ w ಉۀଞࣾͱͷؔ Ԟ w FUD -
ܾఆཁҼʹجͮ͘ධՁ දͷதదͰ͢ 1FSM 3VCZ 1)1 (P +BWB ܕγεςϜ × ×
× ̋ ̋ 001αϙʔτ × ̋ × × ̋ ࣮ߦܗࣜ ̋ ̋ × ̋ × γϯλΫε × ̋ ̋ × ̋ ɾ ɾ ɾ ɾɾɾ ߹ܭ 14 10 6 13 9 -
αʔϏε։ൃ࣌ؒͱͷઓ͍ w γεςϜɺҰ࡞ΕऴΘΓͰͳ͍ w ࣋ଓతΛՌͨ͢͜ͱͰɺܧଓతʹՁΛఏڙ͠ ͍͔ͯͳ͚ΕͳΒͳ͍ w લड़ͷʮܾఆཁҼʹجͮ͘ධՁʯɺҙࢥܾఆ࣌ʹ ݶͬͨɺͦͷݶΓͷͷͰ͔͠ͳ͍ w
ৗʹҠΓมΘΔঢ়گͷԼͰɺͦͷదͳબΛ ߦ͍ଓ͚Δඞཁ͕͋Δ w ৄࡉ ܀ྛB Λࢀরͷ͜ͱ -
ࢿຊߏઓུ ιϑτΣΞ ࢿ࢈ ٕज़త lෛ࠴z ٕज़త lࢿຊz ιϑτΣΞ ࢿ࢈ ٕज़త
lෛ࠴z ٕज़త lࢿຊz ιϑτΣΞ ࢿ࢈ ٕज़త lෛ࠴z ٕज़త lࢿຊz ઓུ ࣌ؒ -
มԽͷٕज़తదԠ w զʑɺݟ͑ͳ͍ɺෆ࣮֬ͳকདྷʹ͔ͬͯɺબΛ ߦ͍ͬͯΔ w কདྷಘΒΕΔͩΖ͏ՁΛݟੵΓɺٕज़બ͢Δͱ ͍͏ͷ͕جຊతͳߟ͑ํ w ಉ͡Α͏ʹɺఫୀʹΑΓಘΒΕΔͩΖ͏Ձ͕ܧଓ͢ ΔՁΑΓߴ͚Εɺఫୀ͢Δ
w ෆ࣮֬ੑʹର͢ΔʹɺมԽͷదԠΛߴΊΔ͜ͱͰɺ ίετΛԼ͛Δઓུ w ͦͷͨΊʹɺఫୀΦϓγϣϯΛߟྀͯ͠ɺٕज़બ Λߦ͏ඞཁ͕͋Δ -
NJDSPTFSWJDFT w -FXJT'PXMFS ʹΑΓఏএ w ʮछʑͷػೳΛؚΉҰຕؠͷΞϓϦέʔγϣϯʯͰ ͳ͘ʮ୯Ұͷػೳ͔ΒͳΔܰྔͳΞϓϦέʔγϣ ϯͷΈ߹Θͤʯ w "NB[PO5XJUUFSͳͲͷ8FCاۀ͕ɺͦͷ
աఔʹ͓͍ͯ࠾༻͖ͯͨ͠ΞʔΩςΫνϟ w 40"ͱҧ͍ɺ8FCاۀൃͷϓϥΫςΟΧϧͳ ΞʔΩςΫνϟͰ͋Γɺ3&45GVM"1*ͷΑ͏ͳ 8FCٕज़Λϕʔεʹ࿈ܞΛߦ͏ͷ͕ಛ৭ -
NJDSPTFSWJDFTͷಛ৭ w αʔϏεʹΑΔίϯϙʔωϯτԽɿϥΠϒϥϦͰͳ͘ผϓϩηεͰಈ࡞͢ΔαʔϏεʹ ΑͬͯΞϓϦέʔγϣϯͷίϯϙʔωϯτԽΛ࣮ݱ͍ͯ͠Δɻ w ϏδωεέΠύϏϦςΟʹجͮ͘৫Խɿׂ͝ͱʹνʔϜ͕ߏ͞ΕΔͷͰͳ͘ɺෳ ͷׂ͕ࠞࡏͨ͠νʔϜ͕ͻͱͭͷαʔϏεΛߏங͢ΔɻʢίϯΣΠͷ๏ଇʂʣ w ϓϩδΣΫτͰͳ͘ϓϩμΫτɿίϯϙʔωϯτظݶͷ͋ΔϓϩδΣΫτͱͯ͠։ൃ ͞ΕΔͰͳ͘ɺܧଓతͳϓϩμΫτͱͯ͠ఏڙ͞ΕΔɻ
w εϚʔτΤϯυϙΠϯτɺμϜύΠϓɿαʔϏεؒͷϝοηʔδɺ)551ܦ༝Ͱ"1*ݺ ͼग़͠͞ΕΔ͔ɺ3BCCJU.2;FSP.2ͱ͍ͬͨܰྔϝοηʔδϯάγεςϜʹΑΔ௨ ৴Ͱަ͞ΕΔɻ w ࢄΨόφϯεɿαʔϏε͝ͱʹݴޠσʔλϕʔεͳͲ౷Ұ͞Εͣɺݸผʹదͳ ͷ͕બ͞ΕΔɻ w ࢄσʔλཧɿαʔϏε͝ͱʹσʔλΛ࣋ͪɺ౷߹͞Ε͍ͯͳ͍ɻ w ΠϯϑϥετϥΫνϟࣗಈԽɿܧଓతσϦόϦ͕࣮ݱ͞ΕɺࣗಈςετɺࣗಈσϓϩΠͳ Ͳ͕࠾༻͞Ε͍ͯΔɻ w োઃܭɿߏ͞ΕΔαʔϏεͷোʹੑΛ࣋ͭΑ͏ʹઃܭ͞Ε͍ͯΔɻ w ਐԽతઃܭɿ֤αʔϏε͝ͱʹมߋ͕ߦͳΘΕɺਐతʹઃܭ͕͞ΕΔ 5BLBJ -
1SPTఫୀίετ w ఫୀΦϓγϣϯΛબ͢Δίετ w ࢄ߹͍͕ߴ·Εɺఫୀίετ͘ͳΔ ! ྫ w ෆཁʹͳͬͨίϯϙωϯτͷআڈ͕༰қ
w ৽ٕज़ͷҠߦ͕εϜʔζ w ΤϯδχΞ࠾༻ʹ .JZBHBXB*UP -
$POTௐίετ w ࢄ֤ͨ͠ίϯϙωϯτؒΛௐ͢Δίετ w ࢄ߹͍͕ߴ·Εɺௐίετߴ͘ͳΔ ! ྫ w ։ൃ࣌ͷΦʔόʔϔου
w σϓϩΠϝϯτͷෳࡶ͞ w ίϯϙωϯτؒ௨৴ -
ٕज़తࢄԽ w ෆ࣮֬ੑϦεΫʹରͯ͠ɺࢄԽ ϙʔτϑΥϦΦԽ ʹΑΓରԠ͢Δ w ϙʔτϑΥϦΦͷΈํ w ϙʔτϑΥϦΦʹଟ͘ͷٕज़ΛΈࠐΉ w
ޓ͍ͷ૬͕͍ٕؔज़Λબ͢Δ ! lٕज़ࢿ࢈ͷࢄԽϙʔτϑΥϦΦɺূ݊·ͨࣄۀϙʔ τϑΥϦΦΑΓ͞ΒʹΈ߹Θͤਫ਼ࢉ͕͍͠ɻٕज़ͷ ΄ͱΜͲͷ෦৫తͳจ຺ͷதʹଘࡏ͢Δɻz #PZFS -
৫ೳྗ w ࠾༻ରͷݴޠʹৄ͠ ͍ͻͱͷଘࡏ w ৽͍͠ݴޠशಘΛଅ͢ ڥ w ৽͍ٕ͠ज़Λड͚ೖΕɺ ࣮ફ͍ͯ͘͠෩
w ଟ༷ͳڥͰͷɺӡ༻ ϊϋͷੵ w ਓࡐͷଟ༷ੑ w 044ΞΫςΟϰΟε τͷଘࡏ w ίϛϡχςΟͷӨڹ ྗ w ৫ͷن w ӳޠͷಡղೳྗ w FUD -
3BJMTͷͭΒΈ l3BJMTͰ։ൃΛ͢Δ߹ʹɺҰ୴ϨʔϧʹͬͨΒϓϩμΫ τ͕ࢮ͵·ͰΓଓ͚Δ֮ޛ͕ඞཁͰ͢ɻ ࣌LNҎԼʹͳͬ ͨΒരൃ͢Δ ͦΕΛ࠷ॳʹཧղ͓͔ͯ͠ͳ͍ͱɺ͋ͬͱ͍͏ؒʹϨΨγʔԽ ͯ͠ϝϯςͷਏΈ͕͡Θ͡Θͱ૿͍͖ͯ͠·͢ɻ ·͋ɺ3BJMTҎ͔߱Β։ൃΛελʔτͨ͠߹ɺൺֱతϚ γͳ௧ΈͰࡁΈ·͕͢ʜʜɻ
ͦͦԿͰόʔδϣϯΞοϓ͠ͳ͍ͱ͍͚ͳ͍͔ͱ͍͏ͱɺ ͪΖΜ੬ऑੑͷ͋Γ·͕͢ɺ৽͘͠ೖͬͨศརػೳ ΨϯΨϯߋ৽͞Ε͍ͯ͘HFNΛԣʹ։ൃ͠ଓ͚͍ͯ͘ͷ ͕৺ཧతʹਏ͍ͬͯͷ͕݁ߏେ͖͍ཧ༝Ͱ͋Γ·͢ɻz KPLFS -
ΤίγεςϜʹKPJO͢Δ lͦͷ্Ͱɺ3VCZPO3BJMTදతͳΤίγεςϜܕ'-044ͳ ͷͰɺϑϨʔϜϫʔΫͱ͔ʹٻΊ͍ͯΔͷ͕ͨͩศརͱ͔ɺͨͩ ݎ࿚ͱ͔ͩͱͦͦͣΕ͕ੜ͡ΔΑͳ͋ͬͯࢥ͏ɻҰ࣌తͳΒ ͱ͔ͣͬ͘ͱ͖߹ͬͯߦ͘લఏͳΒͳ͓͞Βɻ 3BJMTɺͦͷΤίγεςϜʹδϣΠϯͯ͠ɺࣗΒߩݙͯ͠ߦ ͘ͱ͍͏ଶ͕Ұ൪Ϛον͢Δͱࢥ͏ɻ ٯʹݴ͏ͱɺΤίγεςϜʹࢀՃ͢Δؾ͕ͳ͍ਓ͕ࣗ༝ʹආ͚Β ΕΔҎ্ͦΕͰ͍͍Μ͚ͩΕͲɺ͍Ζ͍ΖͳஅͰۀͰ3BJMT Λબ͢Δ໘Α͏͘૿͍͑ͯΔͷ͔ͱࢥͬͨɻͦ͏͢Δ
ͱΤίγεςϜͷࢀՃҙ͡Όͳ͘ͳΔͷͰɺͨͱ͑੩త ܕ࠷ߴͳਓͱ͔͕ڧ੍ࢀՃͤ͞ΒΕΔͱେมͦ͏ͱ͔ࢥ͏ɻz VE[VSB -
৫ೳྗͷᔻཆ w ݴޠར༻ऀͱͯ͠ɺ৫ͷड͚ೖΕମ੍Λඋ͠ɺ ৫ೳྗΛ্ͤ͞Δ w ͦΕͧΕͷܾఆཁҼʹରͯ͠ɺड͚Ͱͳ͘ɺί ϛϡχςΟΤίγεςϜͦͷͷʹӨڹΛ༩͑ͯ ͍͘ Ԟ ͕ɺ1FSM
ίϛϡχςΟͱΤί γεςϜʹ͓͚Δɺ ཧతͳࣄྫΛࣔ͠ ͍ͯΔɻ -
·ͱΊ w ٕज़બɺγεςϜ͕Ϣʔβʹఏڙ͢ΔՁΛ࠷େ Խ͢Δ͜ͱ͕త w બʹ͓͍ͯɺʮݴޠࣗମͷಛੑʯʮΤίγεςϜʯ ʮ৫ೳྗʯͱ͍͏ධՁ͕࣠͋Δ w બɺ͋Δ࣌Ͱ֬ఆ͢Δ͜ͱͳ͘ɺ࣌ؒͷܦա ͱͱʹɺͦͷɺԿͰߦ͏ඞཁ͕͋Δ
w কདྷෆ࣮֬ͳͷͰɺݟ௨͢͜ͱͰ͖ͳ͍ w ͦͷͨΊɺෆ࣮֬ͳকདྷʹ͚ͯબࢶΛ֬อ͢Δͨ Ίʹɺ ٕज़తࢄ มԽʹରԠͰ͖ɺ͞Βʹ֎ ෦ڥʹӨڹΛ༩͑ΒΕΔ৫ೳྗͷᔻཆ͕ඞཁ -
ࢀߟจݙ • Boyer, P. (2004)ʰٕज़ՁධՁʱٶਖ਼ٛɾ༁, ຊܦࡁ৽ฉࣾ • Brealey, R., Myers,
S. C., Allen, F. (2014)ʰίʔϙϨʔτϑΝΠφϯε ୈ10൛ʱ ౻Ҫᚸཧࢠ, ᅳࢬໜथɾ༁, ܦBP ࣾ • joker007 (2014) ʮRailsΛόʔδϣϯΞοϓ͠ଓ͚ΔͨΊʹඞཁͳ͜ͱʯ http://qiita.com/joker1007/items/ 82db0b5d1a7f2572710b • ܀ྛ݈ଠ (2014a)ʮʮʮٕज़తෛ࠴ʯΛ͍ͳ͓͢ʯͱ͍͏λΠτϧͰJAWS DAYS 2014Ͱ͖ͯͨ͠ #jawsdaysʯ http://blog.kentarok.org/entry/2014/03/15/224227 • ܀ྛ݈ଠ (2014b)ʮGMOϖύϘͷΤϯδχΞ৽ਓݚम #lldiverʯ http://blog.kentarok.org/entry/2014/08/23/145417 • Lewis, J., Fowler, M. (2014) “Microservices”, http://martinfowler.com/articles/microservices.html • Miyagawa, T., Ito, N. (2014) “Rebuild 55: Legacy Monolithic Macroservices (Naoya Ito)”, http://rebuild.fm/55/ • Masuda, S. (2014)ʮຊͷελʔτΞοϓRuby͕͓͖ʁɹPHPͱਓؾ΄΅ޓ֯ʹʯ”TechCrunch”, http:// jp.techcrunch.com/2014/08/25/jp20140825wantedly/ • ܦ৽ฉ (20148݄28)ʮجװγεςϜ ϓϩάϥϚʔෆཁɹ࢜௨͕ιϑτɺ։ൃඅׂ̐ݮʯ http:// www.nikkei.com/article/DGXLASDZ2705Y_X20C14A8TJ1000/ • ԞҰึ (2013) ʮ͏ͻͱͭͷΒΕ͟ΔΦʔϓϯιʔε ʙ ΣϒاۀͷOSSઓུʯ, http://blog.kazuhooku.com/ 2013/11/oss.html • Takai, N. (2014) “ϚΠΫϩαʔϏεʢmicroservicesʣͱԿ͔”, https://recompile.net/posts/microservices.html • udzura (2014) ʮRailsόʔδϣϯΞοϓେม͡ΌΜͷҧײʯ http://udzura.hatenablog.jp/entry/2014/08/27/ 010234