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
AWS Step FunctionsとAmazon MWAA両方使ったので比較してみた
Search
武田隆志
July 25, 2022
Technology
0
3.7k
AWS Step FunctionsとAmazon MWAA両方使ったので比較してみた
Classmethod主催のイベント、DevelopersIO 2022の登壇資料です。
武田隆志
July 25, 2022
Tweet
Share
More Decks by 武田隆志
See All by 武田隆志
claspではじめるサーバーレス開発 Google Apps Scriptで簡単自動化
takedatakashi
2
1.8k
Other Decks in Technology
See All in Technology
SkiaとImpellerについて
moriya0130
0
140
"とにかくやってみる"で始めるAWS Security Hub
maimyyym
2
110
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
150
型チェック 速度改善 奮闘記⌛
tocomi
1
190
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
600
電話を切らさない技術 電話自動応答サービスを支える フロントエンド
barometrica
2
360
Mastering Quickfix
daisuzu
1
340
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
230
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
160
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
Application Development WG Intro at AppDeveloperCon
salaboy
0
210
TypeScript、上達の瞬間
sadnessojisan
48
14k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Thoughts on Productivity
jonyablonski
67
4.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
How GitHub (no longer) Works
holman
310
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Embracing the Ebb and Flow
colly
84
4.5k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Side Projects
sachag
452
42k
Transcript
"84ࣄۀຊ෦αʔϏε෦ాོࢤ "844UFQ'VODUJPOTͱ"NB[PO.8"" ྆ํͬͨͷͰൺֱͯ͠Έͨ
ఆࢀՃऀ w όονγεςϜΛӡ༻͓ͯ͠Γ"84ͰͷϦϓϨʔε Λݕ౼͍ͯ͠Δ w όονγεςϜΛ৽͘͠ߏங͢Δʹ͋ͨΓใΛूΊ ͍ͯΔ w "844UFQ'VODUJPOT·ͨ"NB[PO.8""Λ
༻͓ͯ͠Γɺ͏ยํͷαʔϏε͕ͲΜͳͷ͔ Γ͍ͨ
આ໌͢Δ͜ͱ͠ͳ͍͜ͱ આ໌͢Δ͜ͱ w 4UFQ'VODUJPOT͓Αͼ.8""ͷ֓ཁͱಛ w ͦΕͧΕͷ͖ɾෆ͖͓Αͼͦͷൺֱ આ໌͠ͳ͍͜ͱ w όονγεςϜͷجຊతͳ͜ͱ
w 71$ͳͲ"84ͷجຊతͳ͜ͱ
ࣗݾհ ాོࢤ "84ࣄۀຊ෦αʔϏε෦ "84ΞΧϯτϝϯςφϯεγεςϜ ϝʔϧ৴γεςϜ
ΞδΣϯμ 4UFQ'VODUJPOTͷ֓ཁͱಛ .8""ͷ֓ཁͱಛ 4UFQ'VODUJPOTͱ.8""ͷൺֱ ·ͱΊ
Step Functionsͷ֓ཁͱಛ
4UFQ'VODUJPOTͷ֓ཁ ࢄΞϓϦέʔγϣϯΛߏங͢ΔͨΊͷϏδϡΞϧϫʔ ΫϑϩʔαʔϏε %ZOBNP%#4BHF.BLFSͳͲҎ্ͷ"84αʔ Ϗεͱ౷߹͞Ε͓ͯΓϩʔίʔυͰߏஙͰ͖Δ 4UBOEBSEͱ&YQSFTTͷछྨͷϫʔΫϑϩʔΛఏڙ͠ ͓ͯΓϢʔεέʔεʹԠ͍͚ͯ͡ΒΕΔ
4UFQ'VODUJPOTεςʔτϚγϯͷྫ
4UFQ'VODUJPOTͷϝϦοτɾσϝϦοτ ϝϦοτ w αʔόʔϨε w ࣄલͷϓϩϏδϣχϯάෆཁɻར༻͚ͨͩ͠ࢧ͍ w ߴύϑΥʔϚϯε w
ঢ়ଶભҠ͕ଟͯ͘εϜʔζʹਐΈɺฒྻλεΫԆͳ͘ॲཧ͞ ΕΔ
4UFQ'VODUJPOTͷϝϦοτɾσϝϦοτ ϝϦοτ w 8PSL fl PX4UVEJP͕ఏڙ͞ΕɺϏδϡΞϧπʔϧͰϫʔΫ ϑϩʔߏங͕Ͱ͖Δ w υϥοάˍυϩοϓͳͲʹΑΔײతͳૢ࡞ͰߏஙՄೳ
w ӡ༻ํ๏ʹ͍ͭͯߟྀ͕ඞཁʢ*B$ཧͳͲʣ
4UFQ'VODUJPOTͷϝϦοτɾσϝϦοτ σϝϦοτ w λεΫ୯ҐͰͷ࠶࣮ߦෆՄ w ࠶࣮ߦεςʔτϚγϯશମ w ॲཧͪXBJUMPPQΛεςʔτϚγϯϨϕϧͰࣗલఆٛ w
-BNCEBؔͳͲͰXBJUΛ࣮ͯ͠͠·͏ͱػ࣌ؒʹରͯ͠ར༻ අ͕͔͔Δ
4UFQ'VODUJPOTͷϝϦοτɾσϝϦοτ σϝϦοτ w $IPJDFεςʔτͰذͰ͖Δ͕ෳࡶͳ݅ࢦఆͰ͖ͳ͍ w ෳࡶͳͷ-BNCEBؔͳͲͰ݅Λܭࢉͤ͞Δ
ͦͷଞԡ͓͖͍͑ͯͨ͞ϙΠϯτ w ࣮ߦཤྺʹϋʔυϦϛοτ͋Γ w ΤϯτϦ্͕ݶɻ͑ΔͱΤϥʔʹͳΔ w λεΫ͕ΤϥʔʹͳΔͱશମ͕ఀࢭ͢Δʢ࣮ߦதͷλ εΫΩϟϯηϧ͞ΕΔʣ
w ࣮ߦཤྺͷอ࣋ؒ w ͦΕҎ্$MPVE8BUDI-PHT࿈ܞΛ༗ޮԽ͢Δ
MWAAͷ֓ཁͱಛ
.8""ͷ֓ཁ ΦʔϓϯιʔειϑτΣΞ"QBDIF"JS fl PXͷ"84Ϛ ωʔδυαʔϏεɻਖ਼໊ࣜশ"NB[PO.BOBHFE 8PSL fl PXTGPS"QBDIF"JS fl
PX 1ZUIPOεΫϦϓτͰϫʔΫϑϩʔΛఆٛ͠εέδϡʔ ϧཧɺࢹͳͲΛߦ͑Δ "UIFOB&.3ͳͲͷ"84αʔϏεͱ౷߹͞Ε͓ͯ ΓɺଞͷΫϥυϓϥοτϑΥʔϜͷαʔϏεར༻Մ ೳ
.8""%"(ͷྫ
.8""ͷϝϦοτɾσϝϦοτ ϝϦοτ w "JS fl PXͷࢿ࢈͓Αͼ։ൃɾӡ༻ܦݧΛੜ͔ͤΔ w طଘͷίϯϙʔωϯτ࠶ར༻ΦϯϓϨ͔ΒͷҠߦͳͲ w
*".ͱ౷߹͞Εͨཧը໘ w %"(ͷ࣮ߦཧΛ͢Δ8FC6*͕ఏڙ͞ΕΔ
.8""ͷϝϦοτɾσϝϦοτ ϝϦοτ w λεΫ୯Ґͷ࠶࣮ߦ͕Մೳ w λεΫ͕ॏ͍%"(ͳͲͰશମΛ࠶࣮ߦ͢Δඞཁ͕ͳ͍ w طଘͷ.8""ڥ͕͋ΔͳΒ΄΅ίετͰόονΛՃ Ͱ͖Δ
.8""ͷϝϦοτɾσϝϦοτ σϝϦοτ w %"(શମͷੑೳߴ͘ͳ͍ w λεΫͷঢ়ଶભҠʹ͕͔͔࣌ؒΓɺͬ͞Γͨ͠ಈ͖ʹݟ͑Δ w େྔͷ%"(Λಉ࣌ىಈ͢ΔͱΩϡʔ͕٧·Δ w
ΩϡʔͷλεΫΛεέδϡʔϥ͕࣍ʑࡹ͘Θ͚Ͱͳ͍ͷͰ٧·Δ
.8""ͷϝϦοτɾσϝϦοτ σϝϦοτ w %"(ϨϕϧͰͷϧʔϓఆٛෆՄ w "JS fl PXͷϫʔΫϑϩʔ%"(ʢ༗ඇ८ճάϥϑʣͷͨΊఆٛͰ ͖ͳ͍
ͦͷଞԡ͓͖͍͑ͯͨ͞ϙΠϯτ w 1ZUIPOͷόʔδϣϯݻఆ w .8""WͰ1ZUIPO w ϥΠϒϥϦΞοϓσʔτՄೳ w %"(ͷࣦഊ௨ͳͲ%"(ࣗମʹΈࠐΉ
w ηϧϑϗετʹର੍ͯ͠ݶ͕͋Δ
Step FunctionsͱMWAAͷൺֱ
4UFQ'VODUJPOTͱ.8""ͷରൺ 4UFQ'VODUJPOT .8"" ΞʔΩςΫνϟλΠϓ αʔόʔϨε Ϛωʔδυ ΦʔτεέʔϦϯάʢϫʔΧʔʣ ࠶࣮ߦ୯Ґ
ϫʔΫϑϩʔ λεΫ λεΫͷཻ ࡉ͔͍ େ͖͍ ϫʔΫϑϩʔఆٛ "NB[PO4UBUFT-BOHVBHFʢ"4-ʣ +40/:".- 1ZUIPO "84౷߹ "844%,౷߹ -BNCEBͳͲ 4%, "NB[POϓϩόΠμʔ 0QFSBUPS CPUP ίϯϐϡʔςΟϯάͳ λεΫఆٛ -BNCEB&$4ͳͲͰ࣮ ϫʔΧʔ্Ͱ࣮ߦ͞ΕΔॲཧΛ 0QFSBUPSͱ࣮ͯ͠ &$4ͳͲΦϑϩʔυՄೳ
ྉۚͷൺֱ w .8""໌ࣔతʹڥΛఫڈ͠ͳ͍ݶΓྉۚൃੜ ͠ଓ͚ɺ࠷খڥͰ݄͘Β͍ൃੜ͢Δ w 4UFQ'VODUJPOTঢ়ଶભҠ͋ͨΓ w
ճʹ૬ w ࣮ߦ͋ͨΓฏۉભҠͱ͢Δͱ ࣮ߦʹ૬
࠶࣮ߦ୯Ґͷൺֱ w 4UFQ'VODUJPOTεςʔτϚγϯ୯ҐͰ࠶࣮ߦ w ॏ͍λεΫ͕͋ΔͱͦΕ࠶࣮ߦ͢ΔͨΊޮѱ͍ w .8""λεΫ୯ҐͰ࠶࣮ߦ w ࠶࣮ߦͷͨͼʹ݁Ռߋ৽͞ΕΔͨΊ։ൃ࣌ͳͲศར
w Լྲྀ·ͱΊͯ࠶࣮ߦ͢Δ͜ͱͰ%"(શମͷ࠶࣮ߦ͕Մೳ
λεΫཻͷൺֱ w 4UFQ'VODUJPOTͰλεΫͷཻࡉ͔͘ w ঢ়ଶભҠʹʢ࣌ؒతͳʣίετ͕͔͔Βͳ͍ w ͚͓ͯ͘͜ͱͰݸผʹνϡʔχϯάՄೳ w .8""ͰλεΫͷཻେ͖͘
w ཻΛେ͖ͯ͘͠ঢ়ଶભҠΛݮΒ͢ w ࠶࣮ߦ͍ͨ͠୯Ґ͕҆
ϫʔΫϑϩʔఆٛͷൺֱ w "4-Ͱදݱͷݶք͋Δ w $IPJDFεςʔτͷ݅ذʹෳࡶͳࣜΛॻ͚ͳ͍ w ྫɿʮύϥϝʔλʔͷྻʹ"ؚ͕·Ε͍ͯΔ͔ʯͱ͔ແཧ w ݅ܭࢉ༻ͷ-BNCEBؔΛՃͳͲ͢Δ
w .8""1VSF1ZUIPO w #SBODI1ZUIPO0QFSBUPSͳͲͰ͖ʹϩδοΫΛॻ͚Δ
ϫʔΫϑϩʔఆٛͷൺֱ w 4UFQ'VODUJPOTͰಈతͳ.BQεςʔτ͕αϙʔ τ͞ΕΔ w ྻͷೖྗʹରͯ͠ฒྻʹ࣮ߦͰ͖Δ w .8""Ͱಈతͳ.BQະαϙʔτ w
"JS fl PXWͰ࣮͞Ε͕ͨɺ.8""͕࠷৽
"84౷߹ͷൺֱ w 4UFQ'VODUJPOTͰ4%,౷߹͞Ε͍ͯΔαʔϏε "4-Ͱఆٛ͢Δ͚ͩ w ౷߹͞Ε͍ͯͳ͍αʔϏε-BNCEB&$4ͳͲͰݺͼग़ ͢ॲཧΛࣗલ࣮͢Δ w .8""Ͱ"NB[POϓϩόΠμʔͱͯ͠ఏڙ͞Ε͍ͯ
ΔαʔϏε0QFSBUPSΛݺͼग़͚ͩ͢ w ఏڙ͞Ε͍ͯͳ͍αʔϏε0QFSBUPSΛࣗલ࣮͢Δ
ػॲཧͷൺֱ w 4UFQ'VODUJPOTͰXBJUMPPQ͢ΔΑ͏εςʔτϚ γϯΛఆٛ͢Δ w -BNCEB&$4ͳͲͰXBJUMPPQ͢ΔλεΫ࡞ΕΔ͕࣮ߦ ࣌ؒʹରͯ͠ྉ͕ۚൃੜ͢Δ w ແݶϧʔϓʹͳΒͳ͍Α͏ඞͣؾΛ͚ͭΔʢεςʔτϚγ
ϯʹλΠϜΞτΛઃఆ͢Δ͜ͱͰ͋Δఔ؇Մೳʣ w .8""Ͱ4FOTPSΛར༻͢Δ
4UFQ'VODUJPOTͱ.8""ͲͪΒΛ࠾༻͢Δ͔ w 4UFQ'VODUJPOT w େྔʹϫʔΫϑϩʔΛฒྻ࣮ߦ͍ͨ͠ w ϫʔΫϑϩʔͷ࣮ߦස͕͍ w .8""
w ΦϯϓϨଞΫϥυͷ"JS fl PXΛ"84ʹҠߦ͍ͨ͠ w ཧ͢ΔϫʔΫϑϩʔ͕ଟ͘ཧը໘͕ཉ͍͠
·ͱΊ
·ͱΊ w 4UFQ'VODUJPOTίεύɺ࣮ߦੑೳڞʹߴ͍ w "84ʹशख़͍ͯ͠ΔͳΒ༗ྗީิ w .8""ͷڧΈطଘΤίγεςϜͷ࠶ར༻ w ඞཁͳཧػೳ8FC6*Ͱఏڙ͞Ε͍͍͢
w ͲͪΒΛ࠾༻ͯ͠ႈੑͷߟྀඞਢ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠
None