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
Ruby × AWS Lambdaで サーバーレスの導入~TUNAG分析基盤の事例をもとに~
Search
uuushiro
June 08, 2019
Technology
2
3.1k
Ruby × AWS Lambdaで サーバーレスの導入~TUNAG分析基盤の事例をもとに~
uuushiro
June 08, 2019
Tweet
Share
More Decks by uuushiro
See All by uuushiro
アウトカムに集中できる High Productivityなチームを目指して ~チームデザインとコラボレーションの取り組み事例~ / high productivity team focused on outcomes
uuushiro
0
630
スタメンのLeSSの導入と 事業部全体を巻き込んだ アウトカム文化への道のり / Introduction of LeSS and outcome culture
uuushiro
2
7.9k
スタートアップのプロダクト成長の舞台裏とコンテナ化までの道のり
uuushiro
0
710
Railsメジャーバージョンアップを 安全にカナリアリリースする
uuushiro
2
3k
プロダクトに集中し続けるために 開発組織が向き合ってきた課題
uuushiro
1
210
エンゲージメント経営を支える TUNAGのETL基盤
uuushiro
0
120
TUNAG の ETL基盤 ~AWS Summit Startup Architecture of the year 2019~
uuushiro
2
4.9k
銀座Rails#1_uuushiro.pdf
uuushiro
5
1.5k
Other Decks in Technology
See All in Technology
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
5分でわかるDuckDB
chanyou0311
10
3.2k
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
490
Wantedly での Datadog 活用事例
bgpat
1
500
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
kargoの魅力について伝える
magisystem0408
0
210
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
270
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
150
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
MLOps の現場から
asei
6
650
Featured
See All Featured
Navigating Team Friction
lara
183
15k
Rails Girls Zürich Keynote
gr2m
94
13k
Statistics for Hackers
jakevdp
796
220k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
4 Signs Your Business is Dying
shpigford
181
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Building Applications with DynamoDB
mza
91
6.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
The Invisible Side of Design
smashingmag
298
50k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Transcript
3VCZº"84-BNCEBͰ αʔόʔϨεͷಋೖ /BHPZB3VCZ,BJHJ 56/"(ੳج൫ͷࣄྫΛͱʹ :VTIJSP.BUTVUBOJ!VVVTIJSP
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ࣗݾհ 2 Yushiro Matsutani Twitter/GitHub @uuushiro 2016.9 גࣜձࣾελϝϯͰΠϯλʔϯ։࢝
2017.1 גࣜձࣾελϝϯʹೖࣾʢ৽ଔୈ1߸ʣ ݱࡏج൫νʔϜ Rubyྺ͏͙͢3͘Β͍ ॳΊͯ৮ͬͨRailsͷόʔδϣϯ5.0
ձ ࣾ ֓ ཁ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE גࣜձࣾελϝϯ 4 w݄ʹۀ ݄ઃཱ w໊ࣾ4UBS.FNCFSTʹ༝དྷ wຊ໊ࣾݹ ُౡӺ
ࢧࣾޒాɺകాɺԬ w৬һ໊ ϓϩμΫτ෦໊ w56/"(ͷاըɺ։ൃɺӡ༻
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(ͱ 5 wձࣾͱࣾһɺࣾһಉ࢜ͷ৴པؔߏஙΛతͱͨ͠اۀ͚4/4 w݄ʹϦϦʔε͠ɺಋೖاۀΛ͑Δ wۀ࿈བྷͰͳ͘ɺ͓ޓ͍ΛΓཧղ͢Δ͜ͱ͕త wlࣾ4/4͍͠zΛɺίϯαϧςΟϯάͱz੍ࣾzͰղܾ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ڈͷ݄ʹ"84-BNCEB͕3VCZʹରԠ 6
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "84-BNCEBͱʁ 7 w'VODUJPOTBTB4FSWJDF wαʔόʔͷཧແ͠ͰίʔυΛ࣮ߦͰ͖Δ wैྔ՝੍ۚ wࣗಈͰεέʔϧΞτ IUUQTEPDTBXTBNB[PODPNKB@KQMBNCEBMBUFTUEHXFMDPNFIUNM
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 3VCZ,BJHJʹͯ 8
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 3VCZ,BJHJʹͯ 9
3VCZº"84-BNCEBͷ ཧϑϨʔϜϫʔΫɾࣗಈςετʹ͍ͭͯ ։ൃɾӡ༻دΓͷΛ͠·͢
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ΞδΣϯμ 11 ཧϑϨʔϜϫʔΫΛར༻ͨ͠։ൃ αʔόʔϨε׆༻ͷഎܠ ࣗಈςετ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ΞδΣϯμ 12 ཧϑϨʔϜϫʔΫΛར༻ͨ͠։ൃ αʔόʔϨε׆༻ͷഎܠ ࣗಈςετ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(ͷچੳج൫ͷ՝ 13 㾎σʔλ૿Ճ͠ॲཧ͕࣌ؒ૿େ 㾎ूܭ༻αʔόʔ &$ ͷӡ༻ίετ͕͔͔Δ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "84-BNCEBͰղܾͦ͠͏ 14 w"84-BNCEBͰมॲཧΛฒྻॲཧ࣌ؒ͠ॖ w&$Λ"84-BNCEBʹஔ͖͑ӡ༻ίετͷݮ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ৽ج൫ʹ͓͚Δ -BNCEBͷར༻Πϝʔδ 15 w"84αʔϏεؒͷ ணࡎͱͯ͠͏ w3VCZͰ42-Λ ಈతʹΈཱͯΔ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ΞδΣϯμ 16 ཧϑϨʔϜϫʔΫΛར༻ͨ͠։ൃ αʔόʔϨε׆༻ͷഎܠ ࣗಈςετ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE αʔόʔϨεΞϓϦέʔγϣϯͷཧ͕େม 17 wෳͷ"84-BNCEBͷཧ͕ࡶ wσϓϩΠʹख͕͔͔ؒΔ w(FNڞ௨ίʔυͷѻ͍͕Α͘Θ͔Βͳ͍
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "844FSWFSMFTT"QQMJDBUJPO.PEFM "844". 18 wαʔόʔϨεΞϓϦέʔγϣϯͷཧϑϨʔϜϫʔΫ w$MPVE'PSNBUJPOͷ֦ு wϩʔΧϧͰ"84-BNCEBͷߏஙɾςετɾσόοά͕Մೳ wΞϓϦέʔγϣϯͷϏϧυɾύοέʔδϯάɾσϓϩΠίϚϯυΛఏڙ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 4".ͷ༻ྫ3VCZͷαϯϓϧΞϓϦέʔγϣϯ 19
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 4".ͷ༻ྫ3VCZͷαϯϓϧΞϓϦέʔγϣϯ 20 wରؔͷϑΥϧμͷ[JQϑΝΠϧΛ࡞͠4Ξοϓϩʔυ wQBDLBHFEZBNMΛ࡞͠ϩʔΧϧͷੜͷࢀরΛ Ξοϓϩʔυͨ͠4ͷ63-ʹஔ͖͑Δ wςϯϓϨʔτʹهड़͞Ε͍ͯΔ௨ΓͷϦιʔε͕ߏங͞ΕΔ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -BNCEBͷ࣮ߦڥΛ λʔήοτͱ͢ΔՌΛੜ ґଘؔͷղܾ 21 ՌΛBXTTBNCVJMEԼʹ࡞ (FNpMFʹԠͯ͡ҎԼ͕࣮ߦ͞ΕΔ "84-BNCEBͰWFOEPSCVOEMF͕ HFNͷ୳ࡧσΟϨΫτϦର
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE OBUJWFFYUFOUJPOͷѻ͍OPLPHJSJ 22 wωΠςΟϒ֦ு͕͋Δ(FNɺ-BNCEBͱ ಉڥͰίϯύΠϧ͢Δඞཁ͕͋Δ wOPLPHJSJ͕ґଘ͍ͯ͠ΔMJCYNMͱMJCYTMU -BNCEBͷΠϝʔδʹؚ·Ε͍ͯΔͷͰɺҎԼͰ ϏϧυՄೳ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE OBUJWFFYUFOUJPOͷѻ͍NZTRM 23 wNZTRM͕ґଘ͍ͯ͠ΔNZTRMEFWFM-BNCEBͷ Πϝʔδʹؚ·Ε͍ͯͳ͍ w-BNCEBΠϝʔδίϯςφͰඞཁͳύοέʔδΛ Πϯετʔϧ্ͨ͠ͰCVOEMFJOTUBMMΛ͢Δ wඞཁͳڞ༗ϥΠϒϥϦ MJCNZTRMDMJFOU
ɺ -%@-*#3"3:@1"5)ʹஔ͢Δ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ڞ௨ίʔυ(FNΛ͏·͘ѻ͍͍ͨ 24 wෳͷ-BNCEBͰڞ௨ͷ3VCZίʔυ (FN͕ଘࡏ ͦΕͧΕσϓϩΠύοέʔδʹؚΊͳ͚ΕͳΒͳ͍ wίʔυΛมߋ͢Δͨͼʹґଘؔͷ Ξοϓϩʔυ͕ඞཁ
(FNͱΞϓϦέʔγϣϯίʔυมߋͷपظҟͳΔ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "84-BNCEB-BZFST 25 w ෳͷ"84-BNCEBͰίʔυΛڞ༗Ͱ͖ΔΈ w -BNCEBΛݺͼग़͢ͱ-BZFST͕ίϯςφͷPQUԼʹϚϯτ͞ΕΔ w TBNCVJMEݱ࣌ͰඇରԠ
IUUQTBXTBNB[PODPNKQCMPHTDPNQVUFXPSLJOHXJUIBXTMBNCEBBOEMBNCEBMBZFSTJOBXTTBN
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "84-BNCEB-BZFSTͷϝϦοτ 26 wؔίʔυͷαΠζ͕খ͘͞ͳΔ wґଘؔͱϏδωεϩδοΫͷؒͰɺؔ৺ࣄͷΛڧ੍ IUUQTBXTBNB[PODPNKQCMPHTDPNQVUFXPSLJOHXJUIBXTMBNCEBBOEMBNCEBMBZFSTJOBXTTBN
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ڞ௨ίʔυ༻-BZFST 27 IUUQTHJUIVCDPNBXTMBCTBXTMBNCEBDPOUBJOFSJNBHFDPOWFSUFS -BZFSTʹ͓͚Δ3VCZϥΠϒϥϦͷ୳ࡧύε
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE (FN༻-BZFST 28 IUUQTHJUIVCDPNBXTMBCTBXTMBNCEBDPOUBJOFSJNBHFDPOWFSUFS -BZFSTʹ͓͚ΔHFNͷ୳ࡧύε
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE JNHMBNCEBΛͬͨ -BZFSTͷσϓϩΠ ͓·͚ 29 w %PDLFSΠϝʔδΛ-BNCEB -BZFSTʹม͠σϓϩΠ w
ґଘؔΛΠϝʔδʹด͡ࠐΊ มߋ͕͋Ε࠶Ϗϧυ w ศར͕ͩ4".ͷ ϩʔΧϧ࣮ߦ -BZFSTؚΊͨ ͕ ׆͔ͤͳ͍ͷͰࠓճෆ࠾༻ IUUQTHJUIVCDPNBXTMBCTBXTMBNCEBDPOUBJOFSJNBHFDPOWFSUFS
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "844".Λར༻ͨ͠։ൃ·ͱΊ 30 wෳͷ-BNCEBςϯϓϨʔτͰҰݩཧ wσϓϩΠTBNDMJͰίϚϯυͰ؆୯ʹ wґଘؔTBNCVJMEίϚϯυͰղܾ ඞཁʹԠͯ͡-BNCEBͷ%PDLFSΠϝʔδΛར༻ wڞ௨ίʔυ(FN-BZFSTͰڞ༗Մೳ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ΞδΣϯμ 31 ཧϑϨʔϜϫʔΫΛར༻ͨ͠։ൃ αʔόʔϨε׆༻ͷഎܠ ࣗಈςετ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ࣗಈςετͷํ 32 w-BNCEBଞͷαʔϏεͱͷ࿈ܞ͕ଟ͘ ౷߹ςετ͕ॏཁʹͳΔ wΫϥυ্Ͱͷݕূֻ͕͔࣌ؒΓա͗ΔͷͰ ͳΔ͘ϩʔΧϧͰ࣮ߦɾςετ͍ͨ͠ w*".ݖݶͳͲͷςετΫϥυ্Ͱߦ͏
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ϩʔΧϧςετ 33 w"84-BNCEBͷґଘΛഉআ͠ ୯ମςετΛ͍͢͠Α͏ʹ w"84αʔϏεʹґଘ͢ΔϩδοΫελϒΛར༻ wϩʔΧϧʹ-BNCEBͷΤϯυϙΠϯτΛىಈ͠ -BNCEBɾ-BZFSTΛςετ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ςετͷྫ"UIFOBͷΫΤϦ͕ࣦഊͨ͠έʔε 34 "UIFOBͷΫΤϦ࣮ߦ"1*Λୟ͘ ΫΤϦඇಉظతʹॲཧ͞ΕΔͨΊ ࣮ߦ*%Λͱʹ࣮ߦঢ়گΛ͍߹ΘͤΔ ΫΤϦͷ݁ՌΛऔಘ͠ঢ়ଶ͕ l'"*-&%zͳΒྫ֎Λ͛Δ 1
2 3
!35 "844%,GPS3VCZΛͬͯ "UIFOBͷΫΤϦΛ࣮ߦ͢Δ"1*Λୟ͘ 1
!36 "844%,GPS3VCZΛͬͯ "UIFOBͷΫΤϦΛ࣮ߦ͢Δ"1*Λୟ͘ ΫΤϦ࣮ߦ*%Λͱʹ ࣮ߦঢ়گΛ͍߹ΘͤΔ 1 2
!37 "844%,GPS3VCZΛͬͯ "UIFOBͷΫΤϦΛ࣮ߦ͢Δ"1*Λୟ͘ ΫΤϦ࣮ߦͷ εςʔλε͍߹Θͤ݁Ռ͕ '"*-&%ʹͳͬͨΒྫ֎Λ͛Δ ΫΤϦ࣮ߦ*%Λͱʹ ࣮ߦঢ়گΛ͍߹ΘͤΔ 1 2
3
!38 ϋϯυϥʔͷҾͳͲ -BNCEBʹґଘ͢ΔՕॴ͔Β ϩδοΫΛΓ͢
!39 -BNCEBʹґଘ͠ͳ͍ίʔυʹͳΓ ී௨ʹςετͰ͖Δ
!40 "84αʔϏεʹґଘ͢ΔϩδοΫΛ Ͳ͏ςετ͢Δ͔ʁ
!41 "84αʔϏεʹґଘ͢ΔϩδοΫΛ Ͳ͏ςετ͢Δ͔ʁ ελϒΛͼࠐ·ͤΔ༨Λ༩͑Δ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "844%,GPS3VCZͷελϒػೳ 42 w"1*ΞΫηεͷϨεϙϯεɾΤϥʔΛελϒ͢Δ w"84"1*ΫϥΠΞϯτΛ࣮ߦ͢ΔΑ͏ʹৼΔ͏ w-PDBM4UBDL͍͍͕ɺࠓճඞཁͳ"84"UIFOBɾ(MVF ඇαϙʔτͩͬͨ 5FTUBCMF-BNCEB
!U@XBEB ͕ͱͯࢀߟʹͳΔ IUUQTTQFBLFSEFDLDPNUXBEBUFTUBCMFMBNCEBXPSLJOHF⒎FDUJWFMZXJUIMFHBDZMBNCEB
!43 ελϒػೳΛ༗ޮʹ
!44 "UIFOBΫΤϦ࣮ߦͷ ϨεϙϯεσʔλΛ࡞ "UIFOBΫΤϦ࣮ߦͷ Ϩεϙϯεʹઃఆ
!45 "UIFOBΫΤϦ ࣮ߦঢ়گ͕z'"*-&%zͷ σʔλΛ࡞ ΫΤϦ࣮ߦঢ়گ֬ೝϦΫΤετͷ ϨεϙϯεʹϑΣΠΫͷ݁ՌΛઃఆ
!46 ελϒΦϒδΣΫτΛ ҾͰ͢ ϩʔΧϧͰ"84αʔϏε ґଘͷςετ͕Ͱ͖ͨ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ϩʔΧϧͰ"84-BNCEBɾ-BZFSTͷςετ 47 ϩʔΧϧͰ-BNCEBͷΤϯυϙΠϯτΛىಈ ΤϯυϙΠϯτΛϩʔΧϧʹ͚Δ -BZFSTΛؚΊͨςετ͕ ϩʔΧϧͰ࣮ߦՄೳʹ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE $*$% 48 w$PEF%FQMPZͷ1SF)PPLؔΛར༻͠؆қͳ౷߹ςετΛ࣮ߦ w1SF)PPLؔͰɺ৽WFSͷ-BNCEBΛ࣮ߦ wΤϥʔ͕͋ΕϩʔϧόοΫ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ৽ੳج൫ΞʔΩςΫνϟ 49
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ·ͱΊ 50 w-BNCEB͕3VCZରԠͨ͜͠ͱͰαʔόʔϨε͕ ελϝϯʹͱͬͯۙͳͷʹͳͬͨ wཧϑϨʔϜϫʔΫͷ͓͔͛Ͱӡ༻ָ͕ʹ wͳΔ͘ϩʔΧϧͰςετ͢Δ͜ͱͰ։ൃ61