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
720
auth0-meetup.pdf
horike37
1
260
What’s happening with Serverless Framework, and it lives with AWS SAM.
horike37
0
100
What is Serverless. Why is Serverless.
horike37
1
77
aws-with-functional-saas
horike37
2
180
serverless-with-oss
horike37
0
120
slsconftokyo
horike37
0
5.5k
Test Driven Development For Lambda
horike37
2
340
serverless-kyoto
horike37
1
170
Other Decks in Programming
See All in Programming
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
210
イベントストーミングから始めるドメイン駆動設計
jgeem
4
820
Passkeys for Java Developers
ynojima
3
850
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
1.3k
TypeScript LSP の今までとこれから
quramy
1
500
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
22
6k
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
2
250
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
110
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
300
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
130
ワンバイナリWebサービスのススメ
mackee
10
7.7k
実はすごいスピードで進化しているCSS
hayato_yokoyama
0
110
Featured
See All Featured
For a Future-Friendly Web
brad_frost
179
9.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
43
2.4k
Thoughts on Productivity
jonyablonski
69
4.7k
Unsuck your backbone
ammeep
671
58k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
480
4 Signs Your Business is Dying
shpigford
184
22k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Done Done
chrislema
184
16k
Designing for Performance
lara
609
69k
A better future with KSS
kneath
239
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ςʔϒϧͷআ