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
「サーバーレス」ってなんだろう みんなでワイガヤ談義 / What is "serverless?" Wigaya discussion with everyone
Search
shiro seike
PRO
March 16, 2024
Programming
0
37
「サーバーレス」ってなんだろう みんなでワイガヤ談義 / What is "serverless?" Wigaya discussion with everyone
Ya8 2024
https://hachiojipm.connpass.com/event/304403/
shiro seike
PRO
March 16, 2024
Tweet
Share
More Decks by shiro seike
See All by shiro seike
地方こそサーバーレス、その意義に迫るサーバーレスPHP / Serverless PHP: The Rural Areas, and Why Serverless PHP Matters
seike460
PRO
2
110
サーバーレスらしさを意識した AWSにおける開発手法 / Development methodologies in AWS that are serverless-like
seike460
PRO
1
58
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
200
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
130
フルサーバーレスアーキテクチャの運用を重ねた先に見える価値 / The value that can be seen beyond the operation of a full serverless architecture
seike460
PRO
0
23
決断するための勇気、そのためのBacklog / Courage to make decisions, Backlog for that.
seike460
PRO
4
2.1k
Backlog API x Generative AI
seike460
PRO
0
90
とにかくHTTP3をライトニングに話す / Anyway, I'll talk to Lightning about HTTP3.
seike460
PRO
0
140
PHP Serverless Pattern
seike460
PRO
0
16
Other Decks in Programming
See All in Programming
TypeScriptコードの漸進的改善 / Progressive Improvement of TypeScript Code
medley
1
460
Exploring Type-Informed Lint Rules in Rust based TypeScript Linters
unvalley
3
650
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
620
TypeScriptのパフォーマンス改善
yajihum
14
5.2k
TypeScriptから始める VR生活
tamagokakeg
2
140
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
74k
Documentation testsの恩恵 / Documentation testing benefits
ssssota
1
570
JavaScript Closure
asoluka
0
2k
TypeScriptとGraphQLで実現する 型安全なAPI実装 / TSKaigi 2024
hokaccha
5
2.9k
Timeline エディター拡張入門
yucchiy
0
460
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
1
140
Try creating your own orderedmap
kazamori
1
290
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
Why Our Code Smells
bkeepers
PRO
331
56k
How to Ace a Technical Interview
jacobian
273
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Side Projects
sachag
451
41k
Thoughts on Productivity
jonyablonski
60
3.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
Code Review Best Practice
trishagee
56
15k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
The World Runs on Bad Software
bkeepers
PRO
61
6.8k
Debugging Ruby Performance
tmm1
70
11k
Transcript
!TFJLF ʮαʔόʔϨεʯͬͯͳΜͩΖ͏ ΈΜͳͰϫΠΨϠஊٛ :B
ࣗݾհ w ໊લɿਗ਼Ո࢙ w 5XJUUFSɿ!TFJLF w "84$PNNVOJUZ#VJMEFST TFSWFSMFTT w
Ԭ͔Βདྷ·ͨ͠ w झຯɿΧϯϑΝϨϯεࢀՃɺొஃ w ίϛϡχςΟɿ4FSWFSMFTT.FFUVQ'VLVPLBɺ$MPVE fl BSF.FFUVQ'VLVPLB
ࠓͷηογϣϯͷత w αʔόʔϨεʹ͍ͭͯΈͳ͞Μͱձ͢Δ͜ͱͰ͢ʂ w લͰ͍ͯ͠Δ͚ͩͰɺΈͳ͞ΜొஃऀͰ͢ʢҙʣ w ͕͍ͯ͠Δ࠷தʹಥͬࠐΈ͍ͨ͜ͱ͕͋Δɺ࣭͕͋ΔͳͲ͋Ε ԕྀͳ͘खΛ͍͋͛ͯͩ͘͞ɻϚΠΫΛ࣋ͬͯߦ͘ͷͰࣗ༝ʹൃݴ͍ͩ͘͞ ͨͿΜԶΔͳʙͬͯํɺલʹདྷ͍͍ͯͨͩͨ΄͏͕ྑ͍͔Ͱ͢ ͨͩ͠ɺ୭͔Λই͚ͭΔΑ͏ͳൃݴɺಛఆͷαʔϏεΛ
ᩫΊΔΑ͏ͳൃݴ͠ͳ͍Ͱ͍ͩ͘͞ɻ
Έͳ͞Μ αʔόʔϨεͯ͠·͔͢ʁ ৮ͬͨ͜ͱ͕͋Ε0,Ͱ͢
αʔόʔϨεͷྺ࢙
αʔόʔϨείϯϐϡʔςΟϯάͷఆٛ w αʔόʔϨεͷجຊ֓೦ w αʔόʔઃఆཧΛӅṭ͠ɺ ΫϥυϓϩόΠμʔ͕όοΫΤϯυαʔϏεΛఏڙ w ։ൃऀʹ༩͑ΔӨڹ w ίʔυهड़ʹूதͰ͖ɺΠϯϑϥετϥΫνϟͷཧෛ୲͕ܰݮ
αʔόʔϨεͷॏཁੑ w αʔόʔϨεͷϏδωεͷӨڹ w ਝͳΞϓϦέʔγϣϯ։ൃͱσϓϩΠϝϯτΛ࣮ݱ w ΠϊϕʔγϣϯͷՃ w ৽͍͠ΞΠσΞΛ͘ࢢʹೖ͠ɺΠϊϕʔγϣϯΛଅਐ
αʔόʔϨεͷޡղ w αʔόʔϨεͷҰൠతͳޡղ w αʔόʔ͕ͳ͍Θ͚Ͱͳ͍ɺΫϥυϓϩόΠμʔ͕ཧΛ୲ w ࣮ࡍαʔόʔϨε w ։ൃऀΠϯϑϥετϥΫνϟͷৄࡉ͔Βղ์͞ΕΔ w
ΠϯϑϥετϥΫνϟͷཧ͔Β֎ΕΔΘ͚Ͱͳ͍
αʔόʔϨεͷྺ࢙ w αʔόʔϨεͷىݯ w தࠒͷΫϥυίϯϐϡʔςΟϯάͷਐԽ w "84-BNCEBͷൃදͱͦͷӨڹ w ͷ"84-BNCEBɺʹ"NB[PO"1*(BUFXBZ w
ΠϕϯτۦಈܕͷΞϓϦέʔγϣϯ։ൃͷଅਐ
αʔόʔϨεͷਐԽ w αʔϏεͱͯ͠ͷؔʢ'BB4ʣ w "84-BNCEB "[VSF'VODUJPOTͳͲ w ΦʔϓϯιʔείϛϡχςΟͷߩݙ w πʔϧϑϨʔϜϫʔΫͷ։ൃ
αʔόʔϨεςΫϊϩδʔͷൃల w େاۀ͔ΒελʔτΞοϓ·Ͱ w ෯͍࠾༻ͱ࣮ફతͳ༻ྫ w αʔόʔϨεͷීٴ w Ϗδωεͱ։ൃͷมֵ
$/$'8(4FSWFSMFTT8IJUF1BQFSW w ϗϫΠτϖʔύʔͷ༰ w ΫϥυωΠςΟϒٕज़ʹ͓͚ΔαʔόʔϨεͷׂͱల w ۀքશମͷτϨϯυͱϕετϓϥΫςΟεͷ֓ཁ w ओͳτϐοΫ w
αʔόʔϨεͷఆٛͱείʔϓ w αʔόʔϨεͷओཁͳརͱ༻γφϦΦ
αʔόʔϨεͬΆ͞ͷݴޠԽ w Ί͓͖5FDI3FQPSU w ͜͜ͷҰ෦Ͱຬ͍ͨͯͨ͠ΒʮαʔόʔϨεͬΆ͍ʯΜ͡Όͳ͍ͷ͔ʁ w ϓϩϏδϣϯෆཁɺཧෆཁ w ࠷ྉۚͷͳ͍͚ͬͨͩͷࢧ w
ͭͷ"1*ݺͼग़͠Ͱར༻Մೳ w ܭըఀࢭ͕ͳ͍ w Πϯελϯε͕ແ͍ IUUQTCPPUIQNKBJUFNT
Έͳ͞Μ αʔόʔϨεͯ͠·͔͢ʁ ৮ͬͨ͜ͱ͕͋Ε0,Ͱ͢
αʔόʔϨεςΫϊϩδʔͷ ֩৺ίϯϙʔωϯτ
ϑΝϯΫγϣϯɾΞζɾΞɾαʔϏεʢ'BB4ʣ w 'BB4ͷ֓೦ w Ϋϥυ্Ͱಠཱͨؔ͠Λ࣮ߦ w ओཁͳϓϥοτϑΥʔϜ w ྫ"84-BNCEB "[VSF'VODUJPOT
όοΫΤϯυɾΞζɾΞɾαʔϏεʢ#BB4ʣ w #BB4ͷఆٛ w ΫϥυαʔϏεͱͯ͠ͷόοΫΤϯυػೳఏڙ w αʔϏεྫ w σʔλϕʔεɺೝূɺετϨʔδ
Ұ෦ͷྫ
"84-BNCEB w ֓ཁ w "84ఏڙͷ'BB4αʔϏε w ΠϕϯτۦಈܕɺεέʔϥϒϧͳΞʔΩςΫνϟ w ओͳ༻్ w
ϦΞϧλΠϜϑΝΠϧॲཧɺόοΫΤϯυ"1*ɺσʔλॲཧ w ಛ w ڧྗͳ౷߹Φϓγϣϯɺߴ͍Մ༻ੑ
"[VSF'VODUJPOT w ֓ཁ w .JDSPTPGUͷ'BB4ιϦϡʔγϣϯ w ๛ͳݴޠαϙʔτɺ౷߹͞Εͨ։ൃڥ w ओͳ༻్ w
ΣϒΞϓϦέʔγϣϯɺϞόΠϧόοΫΤϯυɺϦΞϧλΠϜσʔλॲཧ w ಛ w γʔϜϨεͳ.JDSPTPGUΤίγεςϜͱͷ౷߹
(PPHMF$MPVE'VODUJPOT w ֓ཁ w (PPHMF$MPVEͷ'BB4ιϦϡʔγϣϯ w γϯϓϧͰεέʔϥϒϧͳΠϕϯτϋϯυϦϯά w ओͳ༻్ w
)551τϦΨʔɺόοΫΤϯυΠϕϯτॲཧɺσʔλม w ಛ w γϯϓϧͳεέʔϦϯάɺ(PPHMF$MPVEαʔϏεͱͷڧྗͳ౷߹
$MPVEGMBSF8PSLFST w ֓ཁ w ΤοδίϯϐϡʔςΟϯάʹ͓͚ΔαʔόʔϨεؔ w 1BHFTͱ͍͏੩తϖʔδͱͷ࿈ܞՄೳɺੈքதͷσʔληϯλʔʹΘͨΔ৴ w ओͳ༻్ w
ΣϒϦΫΤετͷϧʔςΟϯάɺαΠτͷΧελϚΠζɺ"1*ΤϯυϙΠϯτ w ಛ w ແྉఏڙɺߴͳΤοδωοτϫʔΫɺ؆୯ͳεέʔϦϯά
'MZJP w ֓ཁ w ϚΠΫϩ7.Λ༻ͨ͠1BB4 w )FSPLVͷସͱͯ͠͞ΕΔαʔϏε w ओͳ༻్ w
%PDLFSΠϝʔδΛར༻ͨ͠ΞϓϦέʔγϣϯͷσϓϩΠ w ಛ w "84ͷ'JSFDSBDLFSΛϕʔεʹͨ͠ϚΠΫϩ7.ɺແྉ͋Γ
'JSFCBTF w ֓ཁ w ϞόΠϧͱΣϒΞϓϦ։ൃ͚ͷόοΫΤϯυϓϥοτϑΥʔϜ w ೝূɺσʔλϕʔεɺΞφϦςΟΫεͳͲͷαʔϏε w ओͳ༻్ w
ϦΞϧλΠϜσʔλϕʔεɺϢʔβʔཧɺΞϓϦੳ w ಛ w ൣғͷແྉɺ(PPHMFͷΠϯϑϥΛ׆༻ɺଟػೳੑ
4VQBCBTF w ֓ཁ w Φʔϓϯιʔεͷ'JSFCBTFସ w ϦΞϧλΠϜσʔλϕʔεɺೝূɺετϨʔδ w ओͳ༻్ w
ϦΞϧλΠϜΞϓϦέʔγϣϯɺਝͳϓϩτλΠϐϯά w ಛ w 1PTUHSF42-ͷڧྗͳαϙʔτɺϦΞϧλΠϜσʔλಉظ
5J%#4FSWFSMFTT w ֓ཁ w ࢄ42-σʔλϕʔεͷαʔόʔϨε൛ w εέʔϥϒϧͰΫϥυωΠςΟϒͳΞϓϩʔν w ओͳ༻్ w
ߴՄ༻ੑͱϦΞϧλΠϜͷσʔλੳ͕ඞཁͳΞϓϦέʔγϣϯ w τϥϯβΫγϣϯॲཧɺେنσʔλΣΞϋε w ಛ w ਫฏεέʔϦϯάͱࣗಈෛՙࢄ w .Z42-ͱͷߴ͍ޓੑɺΫϥυϓϩόΠμʔؒͷ༰қͳҠߦ
.PNFOU w ֓ཁ w αʔόʔϨεΞϓϦέʔγϣϯͷΩϟογϡͱϝοηʔδϯάαʔϏε w ύϑΥʔϚϯεͷߴԽͱεέʔϥϏϦςΟ w ओͳ༻్ w
ϋΠύϑΥʔϚϯεͳΩϟογϡɺϦΞϧλΠϜσʔλॲཧ w ಛ w ߴͳΩϟογϡॲཧɺॊೈͳϝοηʔδϯάͱτϐοΫཧ
/FUMJGZ w ֓ཁ w ੩తαΠτϗεςΟϯάͱαʔόʔϨεόοΫΤϯυػೳ w +".TUBDLΞʔΩςΫνϟ͚ͷϓϥοτϑΥʔϜ w ओͳ༻్ w
੩తαΠτͷσϓϩΠɺαʔόʔϨεؔͷϗεςΟϯά w ಛ w ແྉఏڙɺ$*$%౷߹ɺߴͳ$%/
7FSDFM w ֓ཁ w ϑϩϯτΤϯυϑΥʔΧεͷσϓϩΠϝϯτϓϥοτϑΥʔϜ w 3FBDU /FYUKTͳͲͷαϙʔτ w ओͳ༻్
w ϞμϯϑϩϯτΤϯυͷσϓϩΠͱ࠷దԽ w ಛ w ແྉϓϥϯར༻ՄೳɺߴͳύϑΥʔϚϯεɺ؆୯ͳηοτΞοϓ
͜͜Ͱฉ͍ͯΈ͍ͨʂ ͋ͳͨͷਪ͠ͷαʔϏεʂ 'BB4ɺ#BB4ʹ߆Βͣ αʔόϨεͬΆ͕͋͞Ε0,
ΠϕϯτۦಈΞʔΩςΫνϟ w γεςϜͷಈ࡞ݪཧ w ΠϕϯτʹԠͯ͠ػೳ w Πϕϯτιʔε w )551ϦΫΤετɺσʔλϕʔεมߋɺδϣϒΩϡʔɺDSPO
"1*ήʔτΣΠͱΤϯυϙΠϯτཧ w "1*ήʔτΣΠͷׂ w ϦΫΤετͷϧʔςΟϯάͱηΩϡϦςΟཧ w ΤϯυϙΠϯτͷॏཁੑ w τϥϑΟοΫͷ੍ޚͱཧ
αʔόʔϨεͱίϯςφٕज़ w ૬ޓ࡞༻ w αʔόʔϨεڥͷίϯςφ༻ w εέʔϥϏϦςΟͱॊೈੑ w ίϯςφΦʔέετϨʔγϣϯͷ౷߹
͜͜Ͱฉ͍ͯΈ͍ͨʂ ͋ͳͨͷαʔόʔϨεߏ
αʔόʔϨεͷརͱ՝
αʔόʔϨεͷརͱ՝ w αʔόʔϨεͷओͳར w ίετݮ w ։ൃͱల։ͷਝԽ w ߴ͍εέʔϥϏϦςΟ
ίετݮ w ैྔ՝ۚϞσϧʹΑΔίετޮ w ະ༻Ϧιʔεʹର͢Δίετൃੜͷݮ
։ൃͱల։ͷਝԽ w ΠϯϑϥετϥΫνϟͷཧෛ୲ܰݮ w ։ൃऀ͕ϏδωεϩδοΫʹूதՄೳ w ݁ՌϏδωεΞδϦςΟΛ্͛Δ͜ͱ͕Մೳ
εέʔϥϏϦςΟ w τϥϑΟοΫͷมಈʹର͢ΔࣗಈεέʔϦϯά w ϚΠΫϩαʔϏεΞʔΩςΫνϟͱͷੑ w Ϗδωεʹ͏༰қͳεέʔϧΞοϓ
αʔόʔϨεͷ՝ w ίʔϧυελʔτ w ηΩϡϦςΟͱίϯϓϥΠΞϯε w Ϧιʔε੍ݶͱӡ༻ͷෳࡶ͞ w ϕϯμʔϩοΫΠϯͷϦεΫ
ίʔϧυελʔτ w ॳճϦΫΤετ࣌ͷԆ w ύϑΥʔϚϯεͷӨڹ
ηΩϡϦςΟͱίϯϓϥΠΞϯε w ϚϧνςφϯτڥͷηΩϡϦςΟϦεΫ w σʔλϓϥΠόγʔͱ๏ن੍ͷରԠ
Ϧιʔε੍ݶͱӡ༻ͷෳࡶ͞ w ϝϞϦ࣮ߦ࣌ؒͷ੍ݶ w ࢄγεςϜͷσόοάͱτϥϒϧγϡʔςΟϯάͷ͠͞
ϕϯμʔϩοΫΠϯ w ΫϥυϓϩόΠμʔͷґଘ w Ҡ২ੑͱޓੑͷ
͜͜Ͱฉ͍ͯΈ͍ͨʂ ͋ͳͨͷαʔόʔϨεͷ ͖ͳͱ͜Ζ ۤखͳͱ͜Ζ
αʔόʔϨεͷ࣮ફత༻ྫ
αʔόʔϨεͷ࣮ફత༻ྫ w αʔόʔϨεͷԠ༻ൣғ w ελʔτΞοϓ͔Βେاۀ·Ͱ w ༷ʑͳۀքͱΞϓϦέʔγϣϯʢ*P5ɺػցֶशɺ"*ʣ
ελʔτΞοϓاۀʹ͓͚ΔαʔόʔϨεͷར༻ w ίετͱӡ༻ͷޮԽ w ։ൃͱࢢೖͷਝԽ
େناۀͰͷαʔόʔϨεͷԠ༻ w σʔλॲཧͱࣗಈԽλεΫ w Ϗδωεϓϩηεͷ࠷దԽ
*P5ΞϓϦέʔγϣϯͰͷαʔόʔϨε w େྔͷσʔλॲཧ w ϦΞϧλΠϜੳͷ࣮ݱ
"*ͱػցֶशͷ౷߹ w ػցֶशϞσϧͷτϨʔχϯάͱσϓϩΠ w ෳࡶͳσʔλੳͱ༧ଌϞσϦϯά
͜͜Ͱฉ͍ͯΈ͍ͨʂ ͋ͳͨͷαʔόʔϨεࣄྫʂ খ͞ͳࣄྫ0, ඞཁͳΒ4/4ېࢭ