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
590
スタメンのLeSSの導入と 事業部全体を巻き込んだ アウトカム文化への道のり / Introduction of LeSS and outcome culture
uuushiro
2
7.8k
スタートアップのプロダクト成長の舞台裏とコンテナ化までの道のり
uuushiro
0
700
Railsメジャーバージョンアップを 安全にカナリアリリースする
uuushiro
2
3k
プロダクトに集中し続けるために 開発組織が向き合ってきた課題
uuushiro
1
200
エンゲージメント経営を支える 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.4k
Other Decks in Technology
See All in Technology
Terraform Stacks入門 #HashiTalks
msato
0
350
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
複雑なState管理からの脱却
sansantech
PRO
1
130
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
860
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
170
[FOSS4G 2019 Niigata] AIによる効率的危険斜面抽出システムの開発について
nssv
0
310
フルカイテン株式会社 採用資料
fullkaiten
0
40k
AGIについてChatGPTに聞いてみた
blueb
0
130
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Six Lessons from altMBA
skipperchong
27
3.5k
Typedesign – Prime Four
hannesfritz
40
2.4k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Code Reviewing Like a Champion
maltzj
520
39k
Practical Orchestrator
shlominoach
186
10k
Teambox: Starting and Learning
jrom
133
8.8k
What's new in Ruby 2.0
geeforr
343
31k
Unsuck your backbone
ammeep
668
57k
Designing the Hi-DPI Web
ddemaree
280
34k
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