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
4.2k
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.9k
Other Decks in Technology
See All in Technology
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
390
ObsidianをMCP連携させてみる
ttnyt8701
2
140
OAuth/OpenID Connectで実現するMCPのセキュアなアクセス管理
kuralab
5
880
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
140
PostgreSQL 18 cancel request key長の変更とRailsへの関連
yahonda
0
110
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
2
400
生成AIでwebアプリケーションを作ってみた
tajimon
2
130
Welcome to the LLM Club
koic
0
140
Agentic DevOps時代の生存戦略
kkamegawa
0
1k
Azure AI Foundryでマルチエージェントワークフロー
seosoft
0
150
本部長の代わりに提案書レビュー! KDDI営業が毎日使うAIエージェント「A-BOSS」開発秘話
minorun365
PRO
14
2.3k
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.4k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.7k
Thoughts on Productivity
jonyablonski
69
4.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Facilitating Awesome Meetings
lara
54
6.4k
Navigating Team Friction
lara
187
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Practical Orchestrator
shlominoach
188
11k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
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