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
770
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
850
kix_009_20190429
inokappa
0
860
2019-04-18 CircleCI Meetup Fukuoka #1
inokappa
2
8.5k
開発で使える AWS の API 操作を模倣する (OSS) ツールを探してみた/JAWS-UG Kagoshima Vol.8
inokappa
1
1.2k
隙間時間を使って exercism.io を始め隊 | リモートで勉強会 #2
inokappa
0
460
Congratulations fukuokarb#100
inokappa
0
4k
moto を 'もっと' 使おう/PyFukuoka#4
inokappa
0
4.6k
github-enterprise-user-kai-desuyone
inokappa
0
110
Elixir and AWS Tutorial
inokappa
0
580
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Music & Morning Musume
bryan
47
6.5k
Automating Front-end Workflow
addyosmani
1370
200k
A designer walks into a library…
pauljervisheath
205
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Building an army of robots
kneath
306
45k
Adopting Sorbet at Scale
ufuk
76
9.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
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