Slide 1

Slide 1 text

AWS FargateͰ ಘ͢Δਓଛ͢Δਓ JAWS-UG ίϯςφࢧ෦ #10

Slide 2

Slide 2 text

SF*OWFOU ࢀՃ ͖ͯ͠·ͨ͠ େຬ଍ʂʂ &,4ͷൃදͷॠؒˠ

Slide 3

Slide 3 text

Masato Oshima github.com/mpon @_mpon iOS,Scala,Infra Engineer ίϯςφ·ΘΓͷ ͓༑ୡ͕ཉͯ͘͠΍ͬ ͖ͯ·ͨ͠

Slide 4

Slide 4 text

։ൃࢧԉ(ͱ͍͏ͱ͜ΖͰಇ͍͍ͯ·͢ ։ൃࢧԉ( ɾɾɾ w ֤αʔϏεͷΠϯϑϥߏஙɺӡ༻ w ۀ຿վળɺࣗಈԽਪਐ w "84্ʹΠϯϑϥߏங

Slide 5

Slide 5 text

w ୊ࡐͷελσΟαϓϦ&/(-*4)ʹ͍ͭͯ w ϚΠΫϩαʔϏεԽͷഎܠ w &$Ϋϥελʔͷ৔߹ͷ໰୊఺ w 'BSHBUFͱ&$Ϋϥελʔͷඅ༻ൺֱ w 'BSHBUFͷϝϦοτ w 'BSHBUFʹͨ͠ͱ͖ͷ՝୊ w ੕ʹئ͍Λ "HFOEB

Slide 6

Slide 6 text

ελσΟαϓϦ&/(-*4) ɾΦϯϥΠϯӳޠֶशαʔϏε ɾӳձ࿩Ի੠΍ը૾ɾಈըͳͲΛ഑৴ ɾΫΠζܗࣜͰֶशσʔλɺཤྺΛอଘ ɾJ04ɺ"OESPJEɺ8FCͰར༻Մೳ

Slide 7

Slide 7 text

೔ৗӳձ࿩ίʔε ϦϦʔε౰ॳ

Slide 8

Slide 8 text

೔ৗӳձ࿩ίʔε ࠷ॳ͸ݸ͙Β͍ͷαʔϏε ͩͬͨ ϦϦʔε౰ॳ

Slide 9

Slide 9 text

೔ৗӳձ࿩ίʔε αʔϏε͕ॱௐʹ৳ͼͯདྷͯ ৽͍͠ίʔεΛ૿΍͢͜ͱʹ %#͕ωοΫʹͳͬͯ͘Δ ϦϦʔε౰ॳ

Slide 10

Slide 10 text

ϚΠΫϩαʔϏεԽ

Slide 11

Slide 11 text

https://www.slideshare.net/danveloper/microservices-the-right-way ৺ʹਂ͍ইΛෛͬͨํͷ࡞඼

Slide 12

Slide 12 text

ελσΟαϓϦ&/(-*4)ͷαʔϏεؒͷίϯϙʔωϯτਤ ཁૉ͕ଟ͍ͷͰུ֓Ͱઆ໌͠·͢

Slide 13

Slide 13 text

೔ৗӳձ࿩ίʔε 50&*$ίʔε ςΩετൢച ϦϦʔε͔Β೥

Slide 14

Slide 14 text

೔ৗӳձ࿩ίʔε 50&*$ίʔε ςΩετൢച ͍ͬͺ͍૿͑ͨ ಺෦௨৴͸H31$Ͱߦ͏ %#Λ෼ׂ ϦϦʔε͔Β೥

Slide 15

Slide 15 text

ϦϦʔε౰ॳ ࠓ Ϋϥελʔ਺   ίϯςφΠϯελϯε਺ े਺୆ ਺ഒ ΠϯελϯελΠϓ NNFEJVN NMBSHF αʔϏε਺  ਺ഒ λεΫ਺  ਺ഒ QSPEVDUJPO؀ڥͷਪҠ

Slide 16

Slide 16 text

ίϯςφӡ༻͍͍ʂʂ &$4΋͍͍ ͍͍Αɺ͍͍Μ͚ͩͲ΋ ΋ͬͱ͓͍͖͍҆ͯͨ͘͠

Slide 17

Slide 17 text

&$4Λ&$Ͱ࡞Δ৔߹ w σϓϩΠͷͨΊʹ༨৒ͳϦιʔε͕͍Δ w εέʔϧΠϯ͠ʹ͍͘

Slide 18

Slide 18 text

.BYJNVNQFSDFOUΛʹ͍ͨ͠ w Ұ࣌తʹEFTJSFE$PVOUͷഒͷۭ͖༰ྔ͕͍ Δ w EFTJSFE$PVOU͕ͩͱݸͷUBTL͕Ұ࣌త ʹ্ཱ͕ͪΔ w ಈతϙʔτϚοϐϯάͰ͖ͯͳ͍ͱ͞Βʹ൵ ࢂͳ͜ͱʹ i-0001 task task i-0001 task task task task ৽͍͠UBTL͕ ऩ·Γ͖Βͳ͍ ͷͰ༨৒Πϯε λϯε͕ඞཁ i-0002

Slide 19

Slide 19 text

.BYJNVNNJOJNVNͰઅ໿ ͸Ͱ͖Δ͚Ͳɾɾ w গͣͭ͠ೖΕସ͑Λ͢ΔͷͰશ෦ೖΕସΘΔ· Ͱʹ͕͔͔࣌ؒΔ i-0001 task task i-0001 task task i-0001 task task i-0001 task i-0001 task

Slide 20

Slide 20 text

εέʔϧΠϯ͠ʹ͍͘ w BVUPTDBMJOHͰεέʔϧΠϯ͢Δͱ͖ʹ ESBJOJOHର৅Λબ΂ͳ͍ʢݸผʹ QSPUFDU͢Ε͹͍͚Δʣ  %SBJOJOHΨνϟ

Slide 21

Slide 21 text

εέʔϧΠϯ͠ʹ͍͘ w σϓϩΠͷ͚࣌ͩ૿΍ͯ͠΋ͦ͜ΛҰ࣌ తͳ৔ॴͱͯ͠σϓϩΠʹ࢖ͬͯ͘ΕΔ Θ͚Ͱ͸ͳ͍ʢຬวͳ͘λεΫ͕ࢄΒ ͹ΔͷͰESBJOJOHͰ͖ͳ͍ʣ i-0001 task task task task ཧ૝ ݱ࣮ i-0002 i-0001 task task task task i-0002 Ͳͬͪ΋ফͤͳ͍

Slide 22

Slide 22 text

ɾΫϥελʔ࡞Βͳ͍͍ͯ͘ ɾඵ՝ۚ

Slide 23

Slide 23 text

අ༻Λൺֱ ͯ͠ΈΑ͏

Slide 24

Slide 24 text

ϦϦʔε౰ॳ ࠓ Ϋϥελʔ਺   ίϯςφΠϯελϯε਺ े਺୆ ਺ഒ ΠϯελϯελΠϓ NNFEJVN NMBSHF αʔϏε਺  ਺ഒ λεΫ਺  ਺ഒ ·ͣ͸&$ͰΫϥελʔཱͯͨ৔߹ͷྉۚΛܭࢉ

Slide 25

Slide 25 text

NMBSHFI    NPOUI  ୆ NPOUI Ծʹ୆ͱͯ͠ܭࢉ

Slide 26

Slide 26 text

W$16 NFNPSZ શମʹ઎ΊΔ UBTL਺ͷׂ߹ "1*H31$  (#  ίϯςϯπ ೖߘ"1*  (#  8FC഑৴ OHJOY  (#  ίϯςϯπ ഑৴OHJOY  (#  QSPEVDUJPO؀ڥͷUBTL

Slide 27

Slide 27 text

QSPEVDUJPO؀ڥͷUBTL W$16 NFNPSZ શମʹ઎ΊΔ UBTL਺ͷׂ߹ "1*H31$  (#  ίϯςϯπ ೖߘ"1*  (#  8FC഑৴ OHJOY  (#  ίϯςϯπ ഑৴OHJOY  (#  ·ͣ͸͜͜Λܭࢉͯ͠ΈΔ

Slide 28

Slide 28 text

NMBSHFI    NPOUI  ୆ NPOUI W$16ɺ(#     I    NPOUI ࣌ؒW$16͋ͨΓ ࣌ؒ(#ϝϞϦ͋ͨΓ (# ϲ݄෼ͷI EBZTΛ͔͚Δ

Slide 29

Slide 29 text

NMBSHFI    NPOUI  ୆ NPOUI W$16ɺ(#     I    NPOUI  UBTL NPOUI ݱঢ়୆͋ͨΓUBTL͕ฏۉݸ ೖ͍ͬͯΔͷͰɺ ୆ͷ৔߹͸ UBTL UBTL ͱԾఆͯ͠ܭࢉ

Slide 30

Slide 30 text

W$16 NFNPSZ શମʹ઎ΊΔ UBTL਺ͷׂ߹ ߹ܭNPOUI "1*H31$  (#   ίϯςϯπ ೖߘ"1*  (#   8FC഑৴ OHJOY  (#   ίϯςϯπ ഑৴OHJOY  (#    QSPEVDUJPO؀ڥͷUBTL

Slide 31

Slide 31 text

NMBSHFI    NPOUI  ୆ NPOUI W$16ɺ(#     I    NPOUI UBTL૯߹ܭ ฏۉ ୆  NPOUI

Slide 32

Slide 32 text

NMBSHFI    NPOUI  ୆ NPOUI W$16ɺ(#     I    NPOUI UBTL૯߹ܭ ฏۉ ୆  NPOUI 'BSHBUFͷํ͕໿ׂߴ ͚ͩͲɺਓ݅අߟ͑ͨΒɾɾʁ

Slide 33

Slide 33 text

ͦΜͳʹѱ͘ͳ͍☺

Slide 34

Slide 34 text

NBYJNVNQFSDFOUΛʹؾܰʹͰ͖Δ w ඵ՝ۚͳͷͰҰ࣌తʹ૿͑Δ෼͸΄΅ແ ࢹͰ͖Δ w αʔϏεҰͭͣͭ͡Όͳ͘શαʔϏε ฒྻͰҰ౓ʹσϓϩΠͰ͖Δ serviceA task:1 task:1 task:2 task:2 serviceB task:1 task:2 ۭ͖༰ྔΛؾʹ ͠ͳͯ͘ྑ͍ ଴ͪ߹Θͤ͠ͳ ͯ͘ྑ͍

Slide 35

Slide 35 text

ؾܰʹ૿΍ͤΔ w JOTV⒏DJFOUDQVʹ೰·͞Εͳ͍ w αʔϏε௥Ճ࣌΋BVUPTDMBJOHؾʹ͠ͳ ͍ BVUPTDBMJOHͷ਺͸ ؅ཧ͠ͳͯ͘0,

Slide 36

Slide 36 text

ؾܰʹݮΒͤΔ w %SBJOJOHର৅Λߟ͑ͳͯ͘ྑ͍ w ؾܰʹεέʔϧΠϯɾΞ΢τ͕Մೳʹͳ Δ w FY໷த͸UBTLΛݮΒ͢ͳͲ taskA taskA taskA taskA taskB taskB UBTL"Λ taskA taskA taskB taskB ר͖ࠐΜͰผͷ 5BTLΛLJMM͠ͳ ͍

Slide 37

Slide 37 text

՝୊

Slide 38

Slide 38 text

'BSHBUFʹͨ͠৔߹ͷ՝୊ w 5BTLͭʹରͯ͠&/*͕ͭBUUBDI͞ΕΔͷͰ&/*ͷ੍ ݶΛؾʹ͠ͳ͍ͱ͍͚ͳ͍71$σϑΥϧτͰ w TVCOFU಺ͷ*1͕ރׇ͢Δࣾ಺ࣄ৘Ͱ੍ݶ͞Ε͍ͯ ͨΓ͢Δͱݫ͍͠ w %BUBEPHBHFOUΛͲ͜ʹ͍ΕΔ͔TJEFDBSύλʔ ϯ͸ͪΐͬͱ໘౗ w 4QPU'MFFUͱൺֱͯ͠͠·͏ͱྉۚతʹ͸ݫ͍͠ ຊ൪POMZͰ͔͠࢖͑ͳ͍ w ґવͱͯ͠4FSWJDF%JTDPWFSZʹ&-#͕ඞཁ&,4 ʹ͍͖͍ͨ

Slide 39

Slide 39 text

੕ʹئ͍Λ ɾUBTL͕উखʹࢭΊΒΕͯ͠·͏͜ͱ͕͋Δ͕ೖࡳՄೳ ʹͳͬͨΒ·ͨىಈͯ͠0''ఔ౓ͷྉۚͰར༻Ͱ͖ Δ'BSHBUFPO4QPU'MFFU ɾ$MVTUFSΛҙࣝ͠ͳͯ͘Α͘ͳͬͨͷͰຊ౰͸&-#΋ ࡞Γͨ͘ͳ͍ %PDLFSpMF͚ͩΛॻ͚͹͍͍ੈք΁

Slide 40

Slide 40 text

࠙਌ձͰ͜ͷลΓͷղܾࡦͳͲ Λڭ͑ͯ΋Β͍͍ͨͰ͢ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠