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
AMIMOTO X サーバレス
Search
堀家隆宏
March 12, 2016
Programming
5
3.2k
AMIMOTO X サーバレス
jawsdays2016で発表した資料
堀家隆宏
March 12, 2016
Tweet
Share
More Decks by 堀家隆宏
See All by 堀家隆宏
オープンソースコミュニティで加速するサーバーレスの未来/serverless will be
horike37
4
700
auth0-meetup.pdf
horike37
1
250
What’s happening with Serverless Framework, and it lives with AWS SAM.
horike37
0
87
What is Serverless. Why is Serverless.
horike37
1
64
aws-with-functional-saas
horike37
2
160
serverless-with-oss
horike37
0
110
slsconftokyo
horike37
0
5.4k
slsconfworkshop
horike37
3
2.6k
Test Driven Development For Lambda
horike37
2
310
Other Decks in Programming
See All in Programming
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
仕様変更に耐えるための"今の"DRY原則を考える / Rethinking the "Don't repeat yourself" for resilience to specification changes
mkmk884
2
510
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
370
DROBEの生成AI活用事例 with AWS
ippey
0
130
WebDriver BiDiとは何なのか
yotahada3
1
140
Spring gRPC について / About Spring gRPC
mackey0225
0
220
Writing documentation can be fun with plugin system
okuramasafumi
0
120
ソフトウェアエンジニアの成長
masuda220
PRO
12
1.7k
Immutable ActiveRecord
megane42
0
140
Honoとフロントエンドの 型安全性について
yodaka
7
1.3k
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
270
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
570
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building Adaptive Systems
keathley
40
2.4k
Faster Mobile Websites
deanohume
306
31k
Adopting Sorbet at Scale
ufuk
74
9.2k
Writing Fast Ruby
sferik
628
61k
It's Worth the Effort
3n
184
28k
Why Our Code Smells
bkeepers
PRO
336
57k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Transcript
".*.050YαʔόϨε גࣜձࣾσδλϧΩϡʔϒ ງՈོ ".*.050ΫϥυωΠςΟϒͳເΛݟΔͷ͔
ࣗݾհ
ॴଐ%JHJUBM$VCF$P-UE ଐੑΞϓϦέʔγϣϯΤϯδχΞ ࣄ8PSE1SFTT&OUFSQSJTF4VQQPSU
".*.050ͱ
None
ಛ
".*.050$%1
0OFDMJDLMBVODIPO"84.BSLFUQMBDF $MPVE'PSNBUJPO
ຊ
ΫϥυωΠςΟϒͱ
ΫϥυωΠςΟϒ ɾΫϥυͰఏڙ͞ΕαʔϏεར༻Λલఏʹߏங͢Δ ɹαʔϏεٴͼΞϓϦέʔγϣϯ ɾग़དྷΔ͚ͩԾϚγϯΛΘͣʹΫϥυͰఏڙ͞Εͨ ɹαʔϏεΛޮతʹར༻
αʔόϨεΞʔΩςΫνϟ
αʔόϨεΞʔΩςΫνϟͱ ΫϥυωΠςΟϒ͔ͭ/PO&$
ͳͥ/PO&$ʁ ɾΠϯϑϥϨΠϠʔͷϝϯςφϯε"84ͷαʔϏεଆʹͤΔ͜ͱͰ ɹΞϓϦέʔγϣϯίʔυʹूத ɾࣗ༝Լ͕Δ͕ͦͷ֤αʔϏεͷಛੑΛ׆͔ͯ͠ ɹΞϓϦέʔγϣϯΛ࡞Δ
"1*(BUFXBZ
"1*(BUFXBZ ɾ"1*Λ࡞ͯ͠ެ։͢Δ͜ͱ͕Ͱ͖ΔαʔϏε ɾΠϯϑϥͷϝϯςφϯεෆཁ ɾ$MPVE'SPOUΛར༻ͨ͠ϨΠςϯγݮɺ%%PTରࡦ ɾ"1*ΩʔΛ࡞ͯ͠
-BNCEB
-BNCEB ɾΞϓϦέʔγϣϯίʔυΛ࣮ߦͰ͖ΔίϯϐϡʔταʔϏε ɾΠϯϑϥͷϝϯςφϯεෆཁ ɾ֤छ"84αʔϏεͱ࿈ܞ ɾίʔυ࣮ߦ࣌ؒʹରͯ͠ͷ՝ۚɻίετޮ͕ඇৗʹߴ͍
%ZOBNP%#
%ZOBNP%# ɾϑϧϚωʔδυͳ/P42-σʔλϕʔεαʔϏε ɾ410'͕ଘࡏ͠ͳ͍ɻߴՄ༻ੑYϨϓϦέʔγϣϯ ɾετϨʔδ༰ྔ੍ݶͳ͠ ɾਫฏεέʔϦϯάʹΑΔෛՙࢄ
IUUQTEBXTTUBUJDDPNXIJUFQBQFST"84@
[email protected]
5JFS@"SDIJUFDUVSFTQEG
IUUQTEBXTTUBUJDDPNXIJUFQBQFST"84@
[email protected]
5JFS@"SDIJUFDUVSFTQEG
8PSE1SFTTͰαʔόϨεΞʔΩςΫνϟͱʁ
ैདྷͷ".*.050ߏ
-BNCEBͰ".*.050ʁ
ͦ͏͍͏͜ͱͰͳ͍ɾɾ
".*.050ͰͲͷΑ͏ʹ αʔόϨεΞʔΩςΫνϟΛར༻͍ͯ͠Δͷ͔
௨ৗͷ8PSE1SFTTͷػೳ։ൃ 8PSE1SFTT$PSF 1MVHJO 1MVHJO 1MVHJO 1MVHJO
1MVHJO
ൃੜ͢Δ ɾιʔείʔυͷංେԽ ɾ%#ͷංେԽ ɾ%#͕୯ҰোʹͳΓ ɹ"VUP4DBMJOH͕ແҙຯʹ 8PSE1SFTT$PSF 1MVHJO 1MVHJO 1MVHJO 1MVHJO
1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO
.JDSPTFSWJDFT
.JDSPTFSWJDFT ɾγεςϜΛෳͷίϯϙʔωϯτͰߏங ɾίϯϙʔωϯτͦΕͧΕಠཱͨ͠γεςϜͱͯ͠ಈ͘ ɾ3FTUGVMͳ"1*ͰγεςϜ͕ΓͱΓ ɾૄ݁߹
8PSE1SFTT$PSF $POOFDUPS1MVHJO .JDSPTFSWJDF .JDSPTFSWJDF .JDSPTFSWJDF "1* "1* "1*
".*.050Y&MBTUJDTFBSDI4FSWJDF
8PSE1SFTTͷऑ ݕࡧ
8PSE1SFTTͷऑ ɾݕࡧλΠτϧͱຊจͷ-*,&ݕࡧ ɾΧελϜϑΟʔϧυΛݕࡧʹՃ͑Δͱٸܹʹ͘ͳΔέʔε ɾશจݕࡧͷΑ͏ͳػೳͳ͍ ɾίϯςϯπ͕ສ୯Ґʹͳͬͯ͘Δͱ%#ͷෛՙ͕૿େ
&MBTUJDTFBSDI4FSWJDF ɾ&MBTUJDTFBSDIΫϥελΛͰىಈ ɾ,JCBOBʹΑΔϏδϡΞϥΠζ ɾ4OBQTIPUʹΑΔόοΫΞοϓ
&MBTUJDTFBSDI 4FSWJDF ͲͷΑ͏ʹղܾ͢Δͷ͔
None
&MBTUJDPNNFSDF4FSWJDFT ɾ".*.050Y8PP$PNNFSDFͷ֦ுαʔϏε ɾ&MBTUJDTFBSDIͷશจݕࡧʹΑΓݕࡧͱؔ࿈ͷػೳΛڧԽ ɾߪങσʔλͱݕࡧɺؔ࿈ͷؔ࿈ΛՄࢹԽͯ͠ɺ1%$"ࢧԉ
ΞʔΩςΫνϟ 8PSE1SFTT$PSF $POOFDUPS1MVHJO શจݕࡧ ߪങσʔλऩू ߪങσʔλՄࢹԽ "1* "1* "1*
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ શจݕࡧ ߪങσʔλՄࢹԽ ߪങσʔλऩू
શจݕࡧ"1*ͷ࿈ܞ࣮ 8PSE1SFTTͷϑοΫΛ͍ݕࡧ࣌ʹ &MBTUJDTFBSDIͷΤϯυϙΠϯτݕࡧΛϑΥϫʔυ
ߪങσʔλొ"1*ͷ࣮ จྃը໘Ͱɺݕࡧ݁Ռ ͱച্ใΛ͢
ߪങσʔλొ"1*ͷ࣮ จྃը໘ͰߪങσʔλΛ"1*
ՄࢹԽ෦ͷ࣮ -BNCEBͰ%ZOBNP%# ʹσʔλૹ৴
ՄࢹԽ෦ͷ࣮ -BNCEBϑΝϯΫγϣϯͰ%ZOBNP%#ʹσʔλ
ՄࢹԽ෦ͷ࣮ %ZOBNP%#ʹొ͞Εͨσʔλ
σʔλՄࢹԽ"1*ͷ࣮ ੵͨ͠σʔλΛ +40/Ͱฦ͢
σʔλՄࢹԽ"1*ͷ࣮ 8PSE1SFTTฦ٫͢Δ+40/
σʔλՄࢹԽ"1*ͷ࣮ 8PSE1SFTTଆͰ"1*(BUFXBZܦ༝Ͱ+40/Λऔಘ άϥϑԽॲཧΛߦ͏
σʔλՄࢹԽ"1*ͷ࣮
".*.050Y"NB[PO.BDIJOF-FBSOJOH
"NB[PO.BDIJOF-FBSOJOH ɾػցֶश͕ΕΔ ɾσʔλΛݩʹͨ͠ੳͱϨϙʔτ ɾϞσϧΛݩʹ༧ଌ݁Ռ"1*Λఏڙ
ղܾ͍ͨ͠՝ ɾߪങσʔλΛݩʹಛఆͷΛʮങ͍ͦ͏͔ʯ ʮങΘͳͦ͞͏͔ʯΛϢʔβ͝ͱʹ༧ଌ͢Δ ɾ݁Ռʹج͍ͮͯϚʔέςΟϯάͷํ๏Λม͑Δ
σʔλੳ ·ͣߪങσʔλͷੳ ༧ଌ͍ͨ݁͠Ռʹରͯ͠૬ؔͷ ͋Γͦ͏ͳσʔλΛϐοΫΞο
༧ଌثʢϞσϧʣΛ࡞Δ
1SFEJDU"1* ͜ͷ"1*Λ༻ͯ͠༧ଌث͔ Β༧ଌ݁ՌΛϦΞϧλΠϜͰ औಘͰ͖Δ
ΞʔΩςΫνϟ "1* 8PSE1SFTT$PSF $POOFDUPS1MVHJO ߪങ༧ଌϞσϧ "1*
ΞʔΩςΫνϟ ձһͷଐੑσʔλΛϦΫΤετ͢Δ ͜ͱͰͦͷϢʔβͷߪങ༧ଌΛฦ͢
ϯΫ 1SFEJDU"1*ʹσʔλΛೖग़ྗ͢Δ
༧ଌ݁Ռ QSFEJDUFE-BCFM͕Ͱ͋Εߪೖͦ͠͏ͳϢʔβ Ͱ͋Εߪೖͯ͘͠Εͳͦ͞͏ͳϢʔβ
8PSE1SFTT$POOFDUPS1MVHJO
8PSE1SFTTͷϢʔβҰཡ
".*.050Y.PCJMF)VC
".*.050ϚωʔδυϗεςΟϯάͷ ඦ&$ΠϯελϯεΛҰݩཧ͍ͨ͠ ղܾ͍ͨ͠՝
ϞόΠϧΞϓϦʹΑΔαʔόͷҰݩཧ ɾ(6*ʹΑΔૢ࡞͕Մೳ ɾΠϯϑϥΤϯδχΞͰͳͯ͘؆қͳૢ࡞ͳΒՄೳ ɾ1VTI௨ʹΑΔΞϥʔτݕ
None
"84.PCJMF)VC ɾ"84ΛͬͨϞόΠϧΞϓϦ։ൃΛ؆୯ʹ ɾελʔλʔίʔυͷࣗಈੜ ɾඞཁͳ*".ݖݶͷࣗಈઃఆ
࣮͕ඞཁͳ෦ ɾ-BNCEBϑΝϯΫγϣϯ ɾΞϓϦͷ6*ٴͼ ɹ-BNCEBϑΝϯΫγϣϯͷݺͼग़͠
ΞʔΩςΫνϟ
ػೳ ɾΠϯελϯεͷεέʔϧΞοϓμϯ ɾΠϯελϯεͷىಈɾఀࢭ ɾ$16ϞχλϦϯά ɾ$16ΞϥʔτͷQVTI௨
ΞʔΩςΫνϟ ΠϯελϯεΛૢ࡞͢Δ ֤छ-BNCEBϑΝϯΫγϣϯ ೝূٴͼೝՄ ֤Πϯελϯεͷ ΞϥʔτΛQVTI௨
ΠϯελϯεҰཡ
Πϯελϯεৄࡉ
$16Ξϥʔτ௨
ͬͱޮతʹӡ༻͢ΔͨΊʹ
None
4FSWFSMFTT'SBNFXPSLͱ ɾ"84ઐ༻ͷΞϓϦέʔγϣϯϑϨʔϜϫʔΫ ɾ-BNCEBɺ"1*(BUFXBZɺ%ZOBNP%#ɺ4Λαϙʔτ
ղܾ͢Δ՝ ɾαʔόϨεΞϓϦέʔγϣϯͷ ɹ։ൃɺςετɺσϓϩΠΛαϙʔτ ɾ-BNCEBͷϩʔΧϧͰͷ࣮ߦ ɾϒϧʔάϦʔϯσϓϩΠϝϯτ ɾ$MPVE'PSNBUJPOΈ͍ͨͳͷ
ϩʔΧϧ1$Ͱͷ-BNCEBϑΝϯΫγϣϯͷ࣮ߦ
"84ͷσϓϩΠ
(JU)VCͰαʔόϨεΞϓϦέʔγϣϯͷެ։ IUUQTHJUIVCDPNNFHVNJUFBNBNJNPUPNPCJMFBQQMBNCEB
(JU)VCͰαʔόϨεΞϓϦέʔγϣϯͷެ։ ࣗ࡞ͷ"84ΞϓϦέʔγϣϯ͕ੈքதʹͰ͖Δ
·ͱΊ
αʔόϨεΞʔΩςΫνϟ͕ղܾ͢Δͷͷຊ࣭
՝Λղܾ͢ΔͨΊͷίʔυΛ͔͚ྑ͍
ேࢥ͍͍ͭͨ͜ͱ͕༦ํʹ۩ݱԽ͍ͯ͠Δ
4NBMM4UBSU'BTU3FMFBTF
·ͣখ͞ͳίϯϙʔωϯτ͔Β࢝ΊͯΈΑ͏
"MMZPVOFFEJTDPEF
IUUQRJJUBDPNIPSJLF