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
96
What is Serverless. Why is Serverless.
horike37
1
73
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
330
serverless-kyoto
horike37
1
170
Other Decks in Programming
See All in Programming
파급효과: From AI to Android Development
l2hyunwoo
0
160
ニーリーQAのこれまでとこれから
nealle
2
160
flutter_kaigi_mini_4.pdf
nobu74658
0
140
The Implementations of Advanced LR Parser Algorithm
junk0612
1
1.3k
KANNA Android の技術的課題と取り組み
watabee
0
190
Orleans + Sekiban + SignalR でリアルタイムWeb作ってみた
tomohisa
0
230
Thank you <💅>, What's the Next?
ahoxa
1
590
Amazon CloudWatchの地味だけど強力な機能紹介!
itotsum
0
230
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
170
個人開発の学生アプリが企業譲渡されるまで
akidon0000
2
1.2k
State of Namespace
tagomoris
5
2.4k
ComposeでのPicture in Picture
takathemax
0
130
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.7k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Docker and Python
trallard
44
3.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Speed Design
sergeychernyshev
29
920
Music & Morning Musume
bryan
47
6.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Site-Speed That Sticks
csswizardry
6
530
Rails Girls Zürich Keynote
gr2m
94
13k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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ςʔϒϧͷআ