Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
slsconfworkshop
Search
堀家隆宏
November 02, 2017
Programming
3
2.7k
slsconfworkshop
堀家隆宏
November 02, 2017
Tweet
Share
More Decks by 堀家隆宏
See All by 堀家隆宏
オープンソースコミュニティで加速するサーバーレスの未来/serverless will be
horike37
4
710
auth0-meetup.pdf
horike37
1
260
What’s happening with Serverless Framework, and it lives with AWS SAM.
horike37
0
94
What is Serverless. Why is Serverless.
horike37
1
70
aws-with-functional-saas
horike37
2
170
serverless-with-oss
horike37
0
120
slsconftokyo
horike37
0
5.4k
Test Driven Development For Lambda
horike37
2
320
serverless-kyoto
horike37
1
160
Other Decks in Programming
See All in Programming
RubyKaigiで手に入れた HHKB Studioのための HIDRawドライバ
iberianpig
0
1.1k
AI Agents with JavaScript
slobodan
0
190
PHPによる"非"構造化プログラミング入門 -本当に熱いスパゲティコードを求めて- #phperkaigi
o0h
PRO
0
1.2k
SQL Server ベクトル検索
odashinsuke
0
150
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
120
Signal-Based Data FetchingWith the New httpResource
manfredsteyer
PRO
0
130
Going Structural with Named Tuples
bishabosha
0
190
Devin入門と最近のアップデートから見るDevinの進化 / Introduction to Devin and the Evolution of Devin as Seen in Recent Update
rkaga
9
4.2k
CTFのWebにおける⾼難易度問題について
hamayanhamayan
2
1.1k
パスキーのすべて / 20250324 iddance Lesson.5
kuralab
0
140
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.4k
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
630
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Git: the NoSQL Database
bkeepers
PRO
430
65k
How GitHub (no longer) Works
holman
314
140k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
177
52k
A Modern Web Designer's Workflow
chriscoyier
693
190k
GraphQLの誤解/rethinking-graphql
sonatard
70
10k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Fireside Chat
paigeccino
37
3.4k
Thoughts on Productivity
jonyablonski
69
4.6k
Music & Morning Musume
bryan
46
6.4k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Transcript
*OUSPEVDJOH"/FX &WFOU%SJWFO8PSME
ࣗݾհ w%JHJUBM$VCF$P-UE w4FSWFSMFTT'SBNFXPSL$PSF.BJOUBJOFS w4FSWFSMFTT'SBNFXPSLຊޠϑΥʔϥϜཧऀ IUUQTHJUIVCDPNTFSWFSMFTTKBQBOGPSVN
ΞδΣϯμ
w&WFOU(BUFXBZΛಈ͔ͯ͠ݟΑ͏ w,VCFSOFUFT্ʹࣗ࡞'BB4ڥΛߏங͠Α͏ w&WFOU(BUFXBZͱ(PPHMF#JH2VFSZΛ࿈ܞ͞ΕΑ͏
*OUSPEVDUJPO
wίετʁ wεέʔϥϏϦςΟʁ wՃՁΛ࢈·ͳ͍ϝϯςφϯε͔Βͷ։์ʁ αʔόϨεΞʔΩςΫνϟͷ ϝϦοτͬͯʁ
wͲͷΫϥυαʔϏεͷ'BB4Λ͏͔ w֤ΫϥυαʔϏε͝ͱͷϝϦοτɾσϝϦοτԿ͔ ࠓͷαʔόϨεΞʔΩςΫνϟͷจ຺
ࠓ͜ΕΒΛ ҰճΕΔ
wαʔόϨεͷੈքͷதͰɺΫϥυϕϯμʔʹґଘ͠ͳ͍044ͱ͍͏ Ξϓϩʔν͕ࠓੈքͰٸʹ৳ͼ͖ͯͨɻ044Ͱ͋Εɺ͜ͷ αʔόϨεͷੈքͰԿ͔୭ͰΛఏҊͰ͖Δ͜ͱɻ͜͏͍͏ੈք͕͢ Ͱʹۙʹ͋Δͱ͍͏͜ͱ ࠓײͯ͡Β͍͍ͨ͜ͱ ϚϧνΫϥυͱࣗલ'BB4ͱ͍͏ࠓ·Ͱʹͳ͍Ξϓϩʔν
None
ͳͥ&WFOU(BUFXBZ͕ ඞཁͳͷ͔ʁ
&WFOU(BUFXBZ͕ϑΥʔΧε ͍ͯ͠Δ wෳͷϚΠΫϩαʔϏε ͘͠ϓϩόΠμ Λ૬ޓʹ௨৴ͨ͠Γཧ͢Δ ͨΊͷϕετͳΞϓϩʔν͕ͳ͍ w4FSWFSMFTT'SBNFXPSLΛͬͯཧͰ͖ΔͷͭͷαʔϏε ϓϩόΠ μʔ ͷΈ
͜ΕΛͻͱͭͷϚΠΫϩαʔ Ϗεʹ·ͱΊΒΕΔʁ
௨ৗҙຯͷ͋Δ୯ҐʹϚΠ ΫϩαʔϏεׂ͞ΕΔ ϚΠΫϩ αʔϏε ϚΠΫϩ αʔϏε ϚΠΫϩ αʔϏε
&WFOU(BUFXBZ͕հ ϚΠΫϩ αʔϏε ϚΠΫϩ αʔϏε ϚΠΫϩ αʔϏε
ΑΓৄ͍͠ྫ
wڊେͳΠϕϯτυϦϒϯͳϓϥοτϑΥʔϜΛߏ͢Δ͜ͱΛՄೳ ʹ͢ΔͨΊ wطଘͷ'BB4ϓϩόΠμʔΛநԽͯ͠ɺશͯͷσʔλΛΠϕϯτͱ ͯ͠දݱ͢Δͱ͜ͰɺڊେͳΞʔΩςΫνϟͷதͰҰ؏ͨ͠σʔ λͷྲྀΕ͕ग़དྷΔ wϚϧνΫϥυԼʹ͓͚Δ'BB4ͷͨΊͷநԽιϦϡʔγϣϯ &WFOU(BUFXBZͷՁ
$PODFQU
044 IUUQTHJUIVCDPNTFSWFSMFTTFWFOUHBUFXBZ
w&WFOU(BUFXBZ(PόΠφϦͱͯ͠ৗற͢Δ w&WFOU(BUFXBZ͔Βఏڙ͞ΕΔཧ༻"1*Λ௨ͯ͠GVODUJPOFWFOUͷ ొ TVCTDSJQUJPO Λߦ͏ w'%,ͱ͍͏OPEFKTͷΫϥΠΞϯτϥΠϒϥϦ͋Δ IUUQTHJUIVCDPNTFSWFSMFTTGEL جૅ
ΞʔΩςΫνϟ
ϓϥοτϑΥʔϜඇґଘ w"84ɺ.JDSPTPGU"[VSFɺ*#.#MVNJYɺ(PPHMF$MPVE1MBUGPSN ؒͰϑΝϯΫγϣϯͱΠϕϯτͷڞ༗͕Մೳ
ΠϕϯτυϦϒϯ wͯ͢ͷσʔλΠϕϯτͱͯ͠දݱ͞ΕΔ wΠϕϯτυϦϒϯͳઃܭͰγεςϜΛߏங͢Δ͜ͱ͕લఏͱͳΔ
ϑΝετσϦόϦʔ wΠϕϯτΛૉૣ͘σϦόϦʔग़དྷΔ༷ʹͳΔ͜ͱ͕ϝΠϯͷΰʔϧ
&(ͷجຊૢ࡞
w'BB4'VODUJPOΛ&WFOU(BUFXBZʹొ͢Δ w'VODUJPOʹ&WFOUΛొ 'VODUJPO͕&WFOUͱͯ͠நԽ͞ΕΔ w&WFOUΛΫϥΠΞϯτ͔ΒൃՐͤ͞Δ ཪଆʹ͍Δ'VODUJPO͕࣮ߦ͞ΕΔ جຊతͳૢ࡞खॱ
'VODUJPOEJTDPWFSZ w'BB4'VODUJPOΛ&WFOU(BUFXBZʹొͯ͠Ͳ͔͜ΒͰݺͼग़͠ ͕ՄೳͱͳΔ
4VCTDSJQUJPO wొͨ͠'VODUJPOʹFWFOUΛՃ͢Δ TVCTDSJQUJPOͷొ -BNCEBΛFWFOUͱͯ͠நԽͨ͜͠ͱʹ
&NJU wొͨ͠FWFOUΛൃՐͤ͞Δ ઌ΄Ͳͷཧ"1*Ͱͳ͘ɺIUUQΠϕϯτΛ༻͍ͯ͠Δ͜ͱʹ
&(ͷجຊૢ࡞Λ ͬͯΈΑ͏ ʢϋϯζΦϯ։࢝ʣ
Δ͜ͱ
/PEFͷΠϯετʔϧ CSFXJOTUBMMOPEFCSFX FDIPFYQPSU1"5)1"5))0.&OPEFCSFX DVSSFOUCJOdCBTI@QSPpMF NLEJSQdOPEFCSFXTSD OPEFCSFXJOTUBMMCJOBSZW /PEFWܥΛ༻͍ͯͩ͘͠͞ɻWܥޙͷϋϯζΦϯͰΤϥʔ͕ग़·͢
4FSWFSMFTT'SBNFXPSLͷ Πϯετʔϧ OQNJOTUBMMHTFSWFSMFTT
࡞ۀσΟϨΫτϦͷ࡞ NLEJSFHXPSL &(͕࡞ۀσΟϨΫτϦʹΠϯετʔϧ͞ΕΔͨΊ
&(Πϯετʔϧ DVSMTG-IUUQTSBXHJUIVCVTFSDPOUFOUDPN TFSWFSMFTTFWFOUHBUFXBZNBTUFSJOTUBMMTIcTI
&(Πϯετʔϧ 8JOEPXT IUUQTHJUIVCDPNTFSWFSMFTTFWFOUHBUFXBZSFMFBTFT͔Β 8JOEPXT༻ͷFYFΛμϯϩʔυ
&(ىಈ CJOFWFOUHBUFXBZEFW
&(ىಈ 8JOEPXT aFWFOUHBUFXBZFYFEFW
'VODUJPOొ DVSMSFRVFTU1045a VSMIUUQWGVODUJPOTa IFBEFSDPOUFOUUZQFBQQMJDBUJPOKTPOa EBUB\GVODUJPO*EIFMMP QSPWJEFS\UZQF BXTMBNCEB BSOBSOBXTMBNCEBVT FBTUGVODUJPOTMTXPSLTIPQEFW QPTUQSPDFTT
SFHJPOVTFBTU^^`
$SFEFOUJBMͷొ DBUdBXTDSFEFOUJBMT <EFGBVMU> BXT@BDDFTT@LFZ@JEYYYYYY BXT@TFDSFU@BDDFTT@LFZYYYYYYYYYYYYYYY SFHJPOVTFBTU
ొ͞Εͨ'VODUJPOͷ֬ೝ DVSMSFRVFTU(&5VSMIUUQWGVODUJPOT
&WFOUͷ4VCTDSJQUJPO DVSMSFRVFTU1045a VSMIUUQWTVCTDSJQUJPOTa IFBEFSDPOUFOUUZQFBQQMJDBUJPOKTPOa EBUB\GVODUJPO*EIFMMP FWFOU BXFTPNF&WFOU^
4VCTDSJQUJPOͷ֬ೝ DVSMSFRVFTU(&5VSMIUUQWTVCTDSJQUJPOT
&WFOUͷ&NJU DVSMSFRVFTU1045a VSMIUUQa IFBEFSDPOUFOUUZQFBQQMJDBUJPOKTPOa IFBEFSFWFOUBXFTPNF&WFOUa EBUB\VTFS*E^
ޙย͚ DPOUSPM DͰ&(ͷϓϩηεͷఀࢭ
LVCFMFTTΛ͍ l0OQSFNJTFTz'BB4Λߏங͠Α͏
0OQSFNJTFT'BB4ͱ wίϯςφͷ্ʹߏங͞ΕΔಠࣗͷ'BB4ڥ w"84"[VSF($1*#.ͷΫϥυϕϯμʔʹϚωʔδυ͞Εͨ'BB4ͱ ۠ผ͢ΔͨΊʹ͜͏ಡΜͰ͍Δ
ͳͥ0OQSFNJTFT'BB4 wΫϥυϓϩόΠμʔͷ੍ݶʹറΒΕΔ͜ͱͷແ͍'BB4ڥ͕࣮ݱͰ͖Δ ࣮ߦ࣌ؒͳͲ wΠϯϑϥϨϕϧͰڥͷνϡʔχϯά͕Մೳɻͦͷ໘ྑ͘'BB4ͷϝϦοτͱͯ͠͞ΕΔ Πϯϑϥϝϯςφϯε͔Βͷ։์ͱ͍͏ϝϦοτࣦΘΕΔ w'BB4ͷੈքͷ৽͍͠બࢶ
ࠓճ࡞Δߏ
,VCFSOFUFT wΫϥελԽ͞Εͨ%PDLFSڥʹ͓͚ΔΦʔέετϨʔγϣϯπʔϧ w044ͱͯ͠։ൃ͞Ε͍ͯΔ
,VCFMFTT w,VCFSOFUFTωΠςΟϒͷαʔόʔϨεϑϨʔϜϫʔΫ w,VCFSOFUFTͷϦιʔεΛ׆༻ͯ͠ɺGVODUJPO୯ҐͰͷࣗಈεέʔϦϯάɺ"1*ϧʔ ςΟϯάɺࢹɺτϥϒϧγϡʔςΟϯάͳͲΛఏڙ͠·͢ w)551ٴͼ1VC4VCͷϝΧχζϜΛ௨ͯ͠ɺίʔυΛ࣮ߦͰ͖Δ w͜Ε044ͱͯ͠։ൃ
,VCFMFTT4FSWFSMFTT1MVHJO w4FSWFSMFTT'SBNFXPSLͷϓϥάΠϯͱͯ͠,VCFMFTTΛ͑Δ
࣮ࡍʹͬͯΈΑ͏
($1ͷίϯύωʹΞΫηε IUUQTDPOTPMFDMPVEHPPHMFDPN
ϓϩδΣΫτͷ࡞
ϓϩδΣΫτͷ࡞
(PPHMF$POUBJOFS&OHJOFͷ༗ޮԽ IUUQTDPOTPMFDMPVEHPPHMFDPNLVCFSOFUFTMJTU
՝ۚΛ༗ޮԽ͢Δ
LTΫϥελͷ࡞
σϑΥϧτͷঢ়ଶͰ0,ɻ࡞ΛΫϦοΫ
$-06%4)&--ͷىಈ
$-06%4)&--্ʹ 4FSWFSMFTTΛΠϯετʔϧ TVEPOQNJOTUBMMHTFSWFSMFTT
্ཱͪ͛ͨLTΛLVCFDUM͔Βૢ࡞Մೳʹ͢Δ
্෦ͷίϚϯυΛίϐϖͯ͠ $-06%4)&--্Ͱ࣮ߦ
LVCFMFTTͷQPEΛ࡞ FYQPSU3&-&"4&W LVCFDUMDSFBUFOTLVCFMFTT LVCFDUMDSFBUFGIUUQTHJUIVCDPNLVCFMFTTLVCFMFTT SFMFBTFTEPXOMPBE3&-&"4&LVCFMFTT3&-&"4&ZBNM
LVCFMFTTͷQPEΛ֬ೝ LVCFDUMHFUQPETOLVCFMFTT ͜͜·ͰͰ'BB4ͷڥͬͨ
,VCFMFTT4FSWFSMFTT1MVHJOͰGVODUJPOΛ σϓϩΠ͢Δ HJUDMPOFHJU!HJUIVCDPNTFSWFSMFTTTFSWFSMFTTLVCFMFTTHJU
,VCFMFTT4FSWFSMFTT1MVHJOͰGVODUJPOΛ σϓϩΠ͢Δ DETFSWFSMFTTLVCFMFTTFYBNQMFTHFUQZUIPOOQNJOTUBMM
,VCFMFTT4FSWFSMFTT1MVHJOͰGVODUJPOΛ σϓϩΠ͢Δ TFSWFSMFTTEFQMPZ
σϓϩΠ͞ΕͨGVODUJPOͷ֬ೝ LVCFDUMHFUGVODUJPO
GVODUJPOͷ࣮ߦ TFSWFSMFTTJOWPLFGIFMMPM
ϩάͷ֬ೝ TFSWFSMFTTMPHTGIFMMP
αʔϏεͷআ TFSWFSMFTTSFNPWF
ޙย͚ ίϯςφΫϥελͷআ
&(Λܦ༝ͯ͠(PPHMF#JH2VFSZ ʹσʔλΛొͯ͠ΈΑ͏
Δ͜ͱ ϩʔΧϧͰ&(Λىಈͤͯ͞ɺXFCͷϑϩϯτΤϯυܦ༝Ͱ&( ্ͷTVCTDSJQUJPOΛݺͼग़͠ɺ#JH2VFSZʹσʔλΛొ͢Δ
Δ͜ͱ
&(༻ͷαϯϓϧϦϙδτϦΛϩʔΧϧʹDMPOF HJUDMPOFHJU!HJUIVCDPNTFSWFSMFTT FWFOUHBUFXBZFYBNQMFHJU
ηοτΞοϓ DEFWFOUHBUFXBZFYBNQMFHJU OQNJOTUBMM
ηοτΞοϓͷྃ
#JH2VFSZͷ४උ IUUQTDMPVEHPPHMFDPNCJHRVFSZRVJDLTUBSUXFCVJΑΓ ՝ۚٴͼ"1*Λ༗ޮԽ
ೝূใͷ࡞ IUUQTDPOTPMFDMPVEHPPHMFDPNBQJTDSFEFOUJBMT͔Β࣮ࢪ
αʔϏεΞΧϯτΩʔͷ࡞
DSFEFOUJBMͷμϯϩʔυ
DSFEFOUJBMͷઃஔ μϯϩʔυͨ͠ೝূใΛDSFEFOUJBMTKTPOʹϦωʔϜɺ FWFOUHBUFXBZFYBNQMFTFSWJDFTBOBMZUJDTԼʹઃஔ͢Δ
ଓใͷฤू FWFOUHBUFXBZFYBNQMFTFSWJDFTBOBMZUJDT DPOpHKTPOΛ։͖ɺ130+&$5@*%Λࣗͷͷʹฤू
130+&$5@*%μογϡϘʔυ͔Β ֬ೝͰ͖·͢
ςʔϒϧͷ࡞ DEFWFOUHBUFXBZFYBNQMFTFSWJDFTBOBMZUJDTOPEF TFUVQKT
IUUQTCJHRVFSZDMPVEHPPHMFDPN͔Β UFTU@FWFOUTςʔϒϧ͕ग़དྷ͍ͯΔ͜ͱΛ֬ೝ͢Δ ςʔϒϧ͕࡞͞Ε͍ͯΔ͜ͱΛ֬ೝ
ςʔϒϧ͕࡞͞Ε͍ͯΔ͜ͱΛ֬ೝ IUUQTCJHRVFSZDMPVEHPPHMFDPN͔Β UFTU@FWFOUTςʔϒϧ͕ग़དྷ͍ͯΔ͜ͱΛ֬ೝ͢Δ
&(ͷ্ཱͪ͛ 4FSWFSMFTT1MBUGPSNʹϩάΠϯ TMTMPHJO
&(ͷ্ཱͪ͛ 4FSWFSMFTT'SBNFXPSLʹಉࠝ͞ΕͯΔFNVMBUPSΛ༻͠·͢ DEFWFOUHBUFXBZFYBNQMFTFSWJDFTBOBMZUJDTTMTSVO
IUUQΠϕϯτͷTVCTDSJQUJPO DVSMSFRVFTU1045VSMIUUQMPDBMIPTUW TVCTDSJQUJPOTIFBEFSDPOUFOUUZQFBQQMJDBUJPOKTPO EBUB\ GVODUJPO*EBOBMZUJDTBOBMZUJDT FWFOUIUUQ NFUIPE1045
QBUIVTFST ^
IUUQΠϕϯτͷTVCTDSJQUJPO DVSM9(&5IUUQMPDBMIPTUW TVCTDSJQUJPOTcKR
XFCϑϩϯτը໘ͷ্ཱͪ͛ DEFWFOUHBUFXBZFYBNQMFGSPOUFOE OQNTUBSU IUUQMPDBMIPTUʹϒϥβͰΞΫηε
XFCϑϩϯτը໘ͷ্ཱͪ͛ ϝʔϧΞυϨεΛೖྗͯ͠SFHJTUFSΛΫϦοΫ
ಈ࡞֬ೝ TMTSVOԼλʔϛφϧ্Ͱϩά͕ग़͍ͯΔͣ
ಈ࡞֬ೝ #JH2VFSZͷίϯύωʹҠಈ
ಈ࡞֬ೝ 4&-&$5 FWFOU SFDFJWFE"U +40/@&953"$5 EBUB FNBJM "4FNBJM
EBUB '30. <ZPVSQSPKFDUJEFNJU@EFNPUFTU@FWFOUT> 03%&3#:SFDFJWFE"U%&4$ -*.*5 3VO2VFSZΑΓ্هͷ42-Λྲྀ͢
ޙย͚ wTMTMPHPVUͰQMBUGPSN͔ΒϩάΞτ wςʔϒϧͷআ