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.1k
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
81
What is Serverless. Why is Serverless.
horike37
1
60
aws-with-functional-saas
horike37
2
160
serverless-with-oss
horike37
0
110
slsconftokyo
horike37
0
5.3k
slsconfworkshop
horike37
3
2.5k
Test Driven Development For Lambda
horike37
2
300
Other Decks in Programming
See All in Programming
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
830
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
3
300
良いユニットテストを書こう
mototakatsu
8
2.7k
선언형 UI에서의 상태관리
l2hyunwoo
0
180
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
260
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
270
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
103 Early Hints
sugi_0000
1
230
Recoilを剥がしている話
kirik
5
6.8k
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
550
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
390
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
335
57k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Statistics for Hackers
jakevdp
796
220k
Become a Pro
speakerdeck
PRO
26
5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Side Projects
sachag
452
42k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Fireside Chat
paigeccino
34
3.1k
KATA
mclloyd
29
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
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