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.5k
slsconfworkshop
堀家隆宏
November 02, 2017
Tweet
Share
More Decks by 堀家隆宏
See All by 堀家隆宏
オープンソースコミュニティで加速するサーバーレスの未来/serverless will be
horike37
4
690
auth0-meetup.pdf
horike37
1
240
What’s happening with Serverless Framework, and it lives with AWS SAM.
horike37
0
77
What is Serverless. Why is Serverless.
horike37
1
59
aws-with-functional-saas
horike37
2
160
serverless-with-oss
horike37
0
100
slsconftokyo
horike37
0
5.3k
Test Driven Development For Lambda
horike37
2
280
serverless-kyoto
horike37
1
150
Other Decks in Programming
See All in Programming
ドメイン駆動設計を実践するために必要なもの
bikisuke
4
330
Our Websites Need a Lifestyle Change, Not a Diet
ryantownsend
0
140
労務ドメインを快適に開発する方法 / How to Comfortably Develop in the Labor Domain
yuki21
1
250
Go1.23で入った errorsパッケージの小さなアプデ
kuro_kurorrr
2
390
Go Code Generation at newmo / 2024-08-27 #newmo_layerx_go
genkey6
0
560
Desafios e Lições Aprendidas na Migração de Monólitos para Microsserviços em Java
jessilyneh
2
150
『ドメイン駆動設計をはじめよう』中核の業務領域
masuda220
PRO
5
990
Ruby Parser progress report 2024
yui_knk
2
230
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
440
事業フェーズの変化に対応する 開発生産性向上のゼロイチ
masaygggg
0
200
Understand the mechanism! Let's do screenshots tests of Compose Previews with various variations / 仕組みから理解する!Composeプレビューを様々なバリエーションでスクリーンショットテストしよう
sumio
3
620
Increased Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
330
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
517
39k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Thoughts on Productivity
jonyablonski
66
4.2k
What's in a price? How to price your products and services
michaelherold
242
11k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Designing with Data
zakiwarfel
98
5k
Writing Fast Ruby
sferik
623
60k
Web Components: a chance to create the future
zenorocha
308
42k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
Testing 201, or: Great Expectations
jmmastey
36
7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
326
21k
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ςʔϒϧͷআ