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 で検討する crontabless architectu...
Search
Yohei Kawahara
August 25, 2017
1
750
AWS Step Functions で検討する crontabless architecture/20170824_serverless_meetup_fukuoka#1
Serverless Meetup Fukuoka #1 でお話した資料でごわす。
Yohei Kawahara
August 25, 2017
Tweet
Share
More Decks by Yohei Kawahara
See All by Yohei Kawahara
20191002_CircleCIMeetupFukuoka#2
inokappa
1
820
kix_009_20190429
inokappa
0
820
2019-04-18 CircleCI Meetup Fukuoka #1
inokappa
2
8k
開発で使える AWS の API 操作を模倣する (OSS) ツールを探してみた/JAWS-UG Kagoshima Vol.8
inokappa
1
1.2k
隙間時間を使って exercism.io を始め隊 | リモートで勉強会 #2
inokappa
0
410
Congratulations fukuokarb#100
inokappa
0
3.9k
moto を 'もっと' 使おう/PyFukuoka#4
inokappa
0
4.5k
github-enterprise-user-kai-desuyone
inokappa
0
100
Elixir and AWS Tutorial
inokappa
0
550
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
A Tale of Four Properties
chriscoyier
157
23k
Writing Fast Ruby
sferik
628
61k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Transcript
"844UFQ'VODUJPOTͰݕ౼͢Δ DSPOUBCMFTTBSDIJUFDUVSF 2017.08.25 4FSWFSMFTT.FFUVQ'VLVPLB ͔ͬͺ !JOPLBSB
ҙ ‘ ຊࢿྉʹTFSWFSMFTTNFFUVQͳͷʹ &$αʔόʔͱݴͬͨ༻ޠ͕ਵॴʹݱΕ·͢ ͷͰ෦Λ໌Δͯ͘͠ޚཡ͍ͩ͘͞ ‘ ਵॴͰ৭ʑͳใΛંͬͯ͠·͍ͬͯΔͷͰɺ ৄࡉʹ͍ͭͯ8FCαΠτΛޚ֬ೝԼ͍͞
͍ͨ͜͠ͱΛࡾߦͰ ‘ DSPOͰಈ͘όονॲཧΛ ‘ 4UFQ'VODUJPOTʹஔ͖͑ͯ ‘ DSPOUBCMFTTΛໝ͓ͨ͠Ͱ͢
Ϟνϕʔγϣϯ ͜ΜͳDSPOUBC͕ఆٛ͞Εͨ&$͕͋ͬͨͱ͞ */3 * * * * batch /path/to/batch1 >
/dev/null 2>&1 30 1 * * * batch /path/to/batch2 > ./log/batch2.log 30 3 * * * batch /path/to/batch3 > ./log/batch3.log
࣌αʔόʔϨεɺόοναʔόʔͰͷՔಇ ࢭΊͯ-BNCEBʹҠߦ͢Ε͍͍ΜͫΌͳ͍͔ͳ
ͱ͜Ζ͕ ͜Ε໘ ‘ όον͕-BNCEBͰͦͷ··ಈ͔ͳ͍ ‘ -BNCEBͰαϙʔτ͞Ε͍ͯͳ͍ݴޠͰ࣮ ‘ Ҡ২ʹͦΕͳΓͷ͕͔͔࣌ؒΔ
Ͳ͏͔ͬ͢ͳ ‘ όονΛىಈ͍͚ͨ࣌ͩ͠&$Λىಈͯ͠ʜ ‘ &$͕ىಈͨ͠ޙʹόονΛ࣮ߦͯ͠ʜ ‘ όον͕ऴྃͨ͠Β&$Λఀࢭ -BNCEBͱ&$ͷϋΠϒϦουͰΠέͦ͏͍
ͱ͜Ζ͕ ‘ όονॲཧऴྃલʹ&$͕ఀࢭ͠ͳ͍ʁ ‘ όονʹґଘ͕ؔ͋ΔΜ͚ͩͲʜ ‘ ෳόονॲཧ͕ฒߦͰΒ͍ͤͨΜ͚ͩͲʜ ‘ ॲཧϑϩʔΛՄࢹԽ͍ͨ͠Μ͚ͩͲʜ
‘ ॲཧϑϩʔΛίʔυԽ͍ͨ͠Μ͚ͩͲʜ ͍Ζ͍ΖؾʹͳΔʜ
ͦ͜Ͱ4UFQ'VODUJPOT ‘ SF*OWFOUͰൃද ‘ -BNCEBͷෳΞϓϦέʔγϣϯΛͭͷ ϫʔΫϑϩʔͱͯ͠ఆٛɺ࣮ߦ ‘ ฒྻॲཧɺ࿈ଓॲཧɺذΛ+40/ϕʔεͷ %4-Ͱهड़
‘ ॲཧͷྲྀΕ࣮ߦ݁ՌΛΠΠײ͡ʹՄࢹԽ
ͦ͜Ͱ4UFQ'VODUJPOT ϫʔΫϑϩʔ $IPJDFεςʔτ ύϥϨϧ +PCTUBUVTQPMMFS ଞʹ͋ΔΑΧελϚΠζग़དྷΔΑ
ͦ͜Ͱ4UFQ'VODUJPOT ࣮ߦཧ
ͦ͜Ͱ4UFQ'VODUJPOT ༻ޠ ‘ 4UBUF.BDIJOFϫʔΫϑϩʔ ‘ 4UBUFछྨͷ4UBUFʢ5BTL $IPJDF 1BSBMMFMʜʣ
‘ 5BTL-BNCEBͷΞϓϦέʔγϣϯ ‘ "NB[PO4UBUF-BOHVBHF+40/ϕʔε Ͱ4UBUF.BDIJOFΛهड़
ͦ͜Ͱ4UFQ'VODUJPOT "4- { "Comment": “HelloWorld Sample", "StartAt": "HelloWorld", "States":
{ "HelloWorld": { "Type": "Pass", "Result": "Hello World!", "End": true } } }
ͰɺDSPOͷόονॲཧͲ͏͢Μͷʁ ‘ &$ΦϯϓϨαʔόʔ্ͷॲཧλεΫͱ͠ ͯར༻Մೳʢ"DUJWJUZ5BTLʣ ‘ "DUJWJUZ5BTLΛ࣮ߦ͢Δ8PSLFS"84 $-*"844%,Ͱཁ࣮ʢࠓճ(PMBOH Ͱʣ ‘ 8PSLFSఆظతʹ4UFQ'VODUJPOTΛϙʔ
Ϧϯάͯ͠ݺͼग़͠Λͭ
"DUJWJUZ5BTL Λར༻ͯ͠όονΛ࣮ߦ͢ΕΑ͛͞
ͱ͍͏͜ͱͰɺ͜Μͳײ͡ʹͳΓ·ͨ͠
None
"844UFQ'VODUJPOTͷΠΠͱ͜ ‘ $MPVE8BUDI&WFOUTͱͷΈ߹ΘͤͰϦο νͳ4FSWFSMFTTDSPOͱͳΔ ‘ -BNCEBΛύʔπͱͯࣗ͠༝ʹϫʔΫϑϩʔΛ σβΠϯՄೳ ‘ &$͢ΒλεΫΛॲཧ͢ΔҝͷϦιʔεͱͳΔ ‘
ॲཧϑϩʔ݁Ռ͕͍͍ײ͡ͰՄࢹԽ͞Ε͑Δ
"844UFQ'VODUJPOTͷؾʹͳΔͱ͜Ζ ‘ λεΫؒͷೖग़ྗ+40/ͰΓͱΓ͞ΕΔ ‘ "DUJWJUZ5BTL8PSLFSࣗ࡞͢Δඞཁ͋Γ ‘ 4UFQ'VODUJPOTͷར༻ࣗମʹֻ͓͕͔ۚΔ
ࢀߟ ‘ IUUQTXXXTMJEFTIBSFOFU"NB[PO8FC4FSWJDFT+BQBO CMBDLCFMUTUFQGVODUJPOT ‘ IUUQTXXXTMJEFTIBSFOFUTLJLVDIJBXTTUFQGVODUJPOT ‘ IUUQEFWDMBTTNFUIPEKQSFGFSFODFDBUBXTTUFQ GVODUJPOT ‘
IUUQTTQFBLFSEFDLDPNEBJLJNPSJBXTTUFQ GVODUJPOTGBMTFJSPIB ‘ IUUQJOPLBSBIBUFCMPKQFOUSZ