Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
ここが辛いよサーバーレス だが私は乗り越えた #builderscon
Mitsuki Ogasahara
August 05, 2017
Technology
14
6.8k
ここが辛いよサーバーレス だが私は乗り越えた #builderscon
Mitsuki Ogasahara
August 05, 2017
Tweet
Share
More Decks by Mitsuki Ogasahara
See All by Mitsuki Ogasahara
yamitzky
0
160
yamitzky
32
15k
yamitzky
0
2.2k
yamitzky
4
2k
yamitzky
0
1.9k
yamitzky
1
1.7k
yamitzky
2
1.6k
yamitzky
0
95
yamitzky
0
82
Other Decks in Technology
See All in Technology
sansandsoc
0
400
inductor
1
140
go5paopao
9
1.7k
aditya45
2
2.4k
hiroyaiizuka
0
170
kentaro
1
710
sansandsoc
0
480
dena_tech
1
200
takumanakagame
1
210
gobeyond20xx
0
350
miura55
0
460
yoku0825
PRO
3
190
Featured
See All Featured
gr2m
83
11k
roundedbygravity
242
21k
caitiem20
308
17k
scottboms
251
11k
ufuk
56
5.4k
imathis
479
150k
rmw
11
820
chrislema
173
14k
tmm1
61
9.4k
trishagee
24
2.5k
zakiwarfel
88
3.4k
keathley
20
710
Transcript
͕͜͜ਏ͍ΑαʔόʔϨε ͕ͩࢲΓӽ͑ͨ খּݪΈ͖ͭ / @yamitzky
wಋೖ wlαʔόʔϨεzͷશମਤ w+9௨৴ࣾͷαʔόʔϨεϩάج൫ͷྫ wΓӽ͑ͨฤ w͕͜͜ਏ͍Αຊ൪ͱͷࠩ w͕͜͜ਏ͍ΑϚωʔδυ wਅʹΓӽ͑ΔαʔόʔϨε ࣍
wখּݪΈ͖ͭ!ZBNJU[LZ wใಓϕϯνϟʔʮ+9௨৴ࣾʯͷ 1ZUIPOc4DBMBc+BWB4DSJQUcػցֶश ΤϯδχΞ ࣗݾհ
wখּݪΈ͖ͭ!ZBNJU[LZ wใಓϕϯνϟʔʮ+9௨৴ࣾʯͷ 1ZUIPOc4DBMBc+BWB4DSJQUcػցֶश ΤϯδχΞ w48 ࣗݾհ
ಋೖฤ
ࠓ͢lαʔόʔϨεzͷఆٛ
ࠓ͢lαʔόʔϨεzͷఆٛ
ࠓ͢lαʔόʔϨεzͷఆٛ wશମΛؚΊͨʹ͍ͨ͠
wϩάج൫"1*ͳͲͰ΄ͲαʔόʔϨε Λ׆༻ +9௨৴ࣾͷʮαʔόʔϨεϩάج൫ʯ
wैདྷͷΞϓϦέʔγϣϯʹൺͯɺ ΠϯϑϥʗϦιʔεʹର͢Δؔ৺͕গͳ͘ࡁΉ wϦΫΤετ࣌ʹ͚ͩϦιʔεΛ֬อ͢Εྑ͍ ͷͰɺ҆͘ͳΔ͕͋Δ wϚωʔδυΛΈ߹ΘͤͯΞϓϦέʔγϣϯΛ ΈཱͯΔ αʔόʔϨεͷಛ
αʔόʔϨεWTαʔόʔϨε͡Όͳ͍ ඇαʔόʔϨεࣄલʹܭࢉϦιʔεΛ֬อ͠ɺϓϩηεΛ্ཱ͓ͪ͛ͯ͘ αʔόʔϨεܭࢉϦιʔε֬อͤͣɺ ཁٻ͕དྷͨΒϓϩηεΛ্ཱͪ͛ɺϦιʔεΛ֬อ͠ɺ͙͢ʹϓϩηε͕ࢮ͵ $MVTUFS
ϩʔΧϧڥͱຊ൪ڥ͕ ҧͬͯਏ͍ ͕ͩࢲΓӽ͑ͨ
ྫ.BDͰֶతܭࢉ͢ΔϓϩάϥϜΛ࡞Δ ·ͣিಥ͢Δ $ pip install numpy
σϓϩΠ͢Δͱى͜Δ͜ͱ
None
ྫ.BDͰֶతܭࢉ͢ΔϓϩάϥϜΛ࡞Δ ·ͣিಥ͢Δ $ pip install numpy ͢Ͱʹμϝ
w'BB4ී௨-JOVYͰ࡞ΒΕ͍ͯΔ wOVNQZlίϯύΠϧz͕ඞཁͳϥΠϒϥϦ wίϯύΠϧ͕ඞཁͳͷΛ.BD8JOEPXT Ͱ࡞ͬͯ-JOVYͰಈ͔ͳ͍ ͳͥμϝͳͷ͔
w.BD্Ͱ-JOVYΛಈ͔ͤΔͷ͕͋Δ Ͳ͏͢Ε͍͍͔
wΞϓϦέʔγϣϯ%PDLFS্Ͱ࡞Γɺ ੜAEPDLFSDQAͯ͠σϓϩΠ w"QFYTFSWFSMFTTͳͲͷσϓϩΠπʔϧΛ ͏ͱΑΓྑ͍ %PDLFSΛͬͨlαʔόʔϨεޓz։ൃ docker-compose.yml
w$3VTU(PͳͲͷίϯύΠϧͨ͠ όΠφϦͰɺ-BNCEB্Ͱಈ͔ͤΔ wཁ͢Δʹ-JOVY্ͰΔͷ͕େࣄ ͜Ε͕Ͱ͖Δͱɻɻɻ
wlαʔόʔϨεzϚωʔδυΛΈ߹ΘͤΔ ຊ൪ͱϩʔΧϧͷࠩ1BSU̎
wαʔόʔϨεͰॏ׆༻͢Δl4zl%ZOBNP%#z ͳͲ044Ͱͳ͍ wˠ$*ϩʔΧϧ։ൃͰࠔΔ Ϛωʔδυͷ
ϚωʔδυΛϩʔΧϧ։ൃͰ͏ͳΒ ݁γϛϡϨʔγϣϯͨ͠044Λ͏
wϚωʔδυl͍͍ͩͨzγϛϡϨʔγϣϯͰ ͖ΔϓϩμΫτ͕ଘࡏ͢Δ w%ZOBNP%#-PDBMɺGBLFTɺFUDʜ ϚωʔδυͷγϛϡϨʔγϣϯ044
w%ZOBNP%#Λຊ൪Ͱ͏ͷͱಉ͡Α͏ͳ69͕ ಘΒΕΔ %ZOBNP%#-PDBMY(6* https://hub.docker.com/r/yamitzky/dynamodb-gui/
wςετ༻ͷ%ZOBNP%#ςʔϒϧͳͲΛ༻ҙ͠ ͯɺͬͨ΄͏͕ྑ͍͜ͱ͋Δ w͓ۚݖݶωοτϫʔΫͷؔͰ͑ͳ͍͜ ͱ͋Δ͠ɺσόοάͷ͢͠͞ͷ͋Δ ී௨ʹ%ZOBNP%#4͏ͷμϝͳͷʁ
w"1*Λ։ൃ͢Δͱ͖ʹૺ۰͢Δ wαʔόʔϨε"1*ͷlమ൘z"1*(BUFXBZ w"1*(BUFXBZϩʔΧϧʹଘࡏ͠ͳ͍ ˠαʔόʔϨεͰಈͨ͘Ίʹ࡞ͬͨ"1*Λ ϩʔΧϧͰͲ͏σόοά͢Δ͔ʁ ຊ൪ͱϩʔΧϧͷࠩ1BSU
αʔόʔϨε"1*Λ࡞ΔͳΒ ݁ࠓ·Ͱ௨Γ ϑϨʔϜϫʔΫͰ࡞Δ
͍··Ͱ௨Γ࡞Δͱ 8"' ࣗ࡞"1* ϩʔΧϧڥ 8"' ࣗ࡞"1* αʔόʔϨεڥ $ python main.py
-BNCEBͰಈ͔͢ Ξμϓλʔ
1ZUIPOͷ߹ 'MBTL%KBOHP ࣗ࡞"1* ϩʔΧϧڥ 'MBTL%KBOHP ࣗ࡞"1* αʔόʔϨεڥ 84(*Λ-BNCEB Ͱಈ͔͢Ξμϓλʔ 84(*
w1ZUIPOʹ͓͚Δʮαʔόʔʯͷඪ४ن֨ Πϯ λʔϑΣʔε ˠ3VCZʹ͓͚Δ3BDLతͳ w'MBTL%KBOHPCPUUMF84(*ͱ͍͏ඪ ४ͷ্ʹ࡞ΒΕ͍ͯΔ 84(*ͱ
w͢ͰʹϥΠϒϥϦ͕͍͔ͭ͋͘Δ wIUUQTHJUIVCDPNBXTMBCTBXT TFSWFSMFTTFYQSFTT wIUUQTHJUIVCDPNTMBOLBXTHJ wIUUQTHJUIVCDPN.JTFSMPV;BQQB w8"'ͷنΛ-BNCEBͷنʹม͢Δ͚ͩͳͷ Ͱɺ͢Ͱʹ044͕ͳͯ͘ͳΜͱ͔ͳΔ طଘͷϑϨʔϜϫʔΫPO-BNCEB
w%PDLFSΛ׆༻ͯ͠ɺαʔόʔϨεڥͱϩʔ ΧϧڥͷࠩΛݮΒͦ͏ wطଘͷϑϨʔϜϫʔΫʹ͚ͬͯ"1*Λ࡞Ζ͏ ͜͜·Ͱͷ·ͱΊ
Ϛωʔδυ͕ਏ͍ ͕ͩࢲΓӽ͑ͨ
࣭-BNCEBσϓϩΠͨ͠Βɺ ͋ͱl͓·͔ͤzͳͷ͔ʁ
ʊਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹ-BNCEBಥવͷࢮɹʻ ʉ:?:?:?:?:?:?:?:?:?:ʉ
w8"'84(*ͷ্ʹͤΕɺ "ࣾ(ࣾ.͕ࣾϛαΠϧ߈ܸ͞ΕͯͳΜ ͱ͔ͳΔ -BNCEBಥવͷࢮରࡦ ۓٸ࣌௨ৗͷαʔόʔͰ ΞϓϦέʔγϣϯΛಈ͔͢
࣭Ϛωʔδυͬͯোͳ͍Μ͚ͩͬʁ
wαʔόʔϨεͰҰ൪ͭΒ͔ͬͨࣄҊ wࣗͷແྗ͞Λࢥ͍Δ ,JOFTJTಥવͷΤϥʔ
wαʔόʔϨεͰҰ൪ͭΒ͔ͬͨࣄҊ wࣗͷແྗ͞Λࢥ͍Δ w̍िؒفͬͨΒͬͨ ,JOFTJTಥવͷΤϥʔ
w4ʹো͕ى͖ͨΒʁ,JOFTJTʁ %ZOBNP%#ʁ wͦͷͱ͖ɺσʔλͷܽଛଘࡏ͠ͳ͍ʁ wোʹඋ͑ɺ༗ঈαϙʔτେࣄ Ϛωʔδυͷোఆ͠Α͏
ਅʹΓӽ͑Δ αʔόʔϨε
wݱ࣮ɺʮαʔόʔϨεʹΫϥυࡇΓʯ w-BNCEBʹଘࡏ͢Δ֤छ੍ wϓϥΠϕʔτωοτϫʔΫͷ੍ wύϑΥʔϚϯεͷ੍ wˠΫϥυґଘʹϚωʔδυΏ͑ʹɺ ɹΓӽ͑Α͏͕ͳ͍ɾɾɾͷ͔ɾɾɾʁ ϚωʔδυΏ͑ͷݶք
w'BB4ͬͯl-BNCEBzͱ͔l$MPVE'VODUJPOz ͚ͩͳͷ͔ʁ w'BB4lΫϥυͷձࣾz͔͠ఏڙͰ͖ͳ͍ ͷͳͷ͔ʁ wˠ࣮ɺͦΜͳ͜ͱͳ͍ ͦͦɺαʔόʔϨεͬͯ
w#VJMEJOH4FSWFSMFTT"QQTXJUI%PDLFS ࡞ΔαʔόʔϨε https://blog.docker.com/2016/06/building-serverless-apps-with-docker/ ͜͜ΛࣗͨͪͰ༻ҙ͢Δ͔ɺΫϥυ͕༻ҙ͢Δ͔ͷҧ͍
lαʔόʔϨεz࡞ΕΔ
wܭࢉϦιʔεͷϓʔϧΛΫϥυ͕࣋ͭͷ͔ɺ ࣗࣾͰ࣋ͭͷ͔ͷҧ͍ wͪΖΜɺ͕ࣗؔ৺Λ࣋ͭඞཁͷ͋Δͷ ૿͑Δ w+9௨৴ࣾͰɺ-BNCEBͱ&$4Λ͍͚ͯΔ wˠlϚωʔδυzʹͩ͜ΘΔඞཁɺ࣮ͳ͍ ࡞ΔlαʔόʔϨεz
wࠓɺlαʔόʔϨεzΛӡ༻ͯ͠ਏ͔ͬͨͱɺ ͦͷղܾࡦΛհ͠·ͨ͠ wαʔόʔϨεϚωʔδυɺࠇຐज़Ͱͳ͘ lͨͩͷ-JOVYzlͨͩͷίϯςφٕज़zͱଊ͑ɺΓӽ͑Δ wϚωʔδυͷαʔόʔϨεͱɺࣗࣾαʔόʔϨεɺ ͍͚͕େࣄ wใಓϕϯνϟʔʮ+9௨৴ࣾʯΤϯδχΞืूதͰ͢ʂ ·ͱΊ