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
qron: Cloud Native Cron Alternativeの今
Search
aereal
March 19, 2023
2
2.4k
qron: Cloud Native Cron Alternativeの今
@ YAPC Kyoto 2023
aereal
March 19, 2023
Tweet
Share
More Decks by aereal
See All by aereal
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
4.1k
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
250
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
3.4k
自動作曲入門 / introduction to programatic music composition
aereal
1
530k
はてなブログ タグとCDK / The epic of AWS CDK and Hatena Blog Tag
aereal
3
200k
はてなブログ タグの技術選択 / The technical details of Hatena Blog Tag
aereal
3
200k
ブログサービスのHTTPS化を支えたAWSで作るピタゴラスイッチ / The construction of large scale TLS certificates management system with AWS
aereal
3
400k
AWSではてなブログの常時HTTPS配信をバーンとやる話 / The Epic of migration from HTTP to HTTPS on Hatena Blog with AWS
aereal
14
18k
ScalaとPerlでMicroservices in production / Building microservices with Perl and Scala in production
aereal
0
5.4k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.5k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Navigating Team Friction
lara
184
15k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Rails Girls Zürich Keynote
gr2m
94
13k
Music & Morning Musume
bryan
46
6.4k
Agile that works and the tools we love
rasmusluckow
328
21k
A Philosophy of Restraint
colly
203
16k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Transcript
RSPO $MPVE/BUJWF $SPO"MUFSOBUJWFͷࠓ !:"1$,ZPUPJEBFSFBM
͓ॻ͖ w RSPOͷհ w ࡞Δ͜ͱʹͳͬͨഎܠ w ͘͠Έ w ͠Β͘ӡ༻ͯ͠ͷ༷ʑͳʬϦΞϧʭ
ࣗݾհ w JEBFSFBM w $MBTTJגࣜձࣾ w ։ൃࢧԉ෦4ZTUFN1MBUGPSNྖҬ w (JU)VCӡ༻ҕһIUUQTUFDIDMBTTJKQFOUSZHJUIVCPQT w
։ൃऀϒϩάฤूIUUQTUFDIDMBTTJKQFOUSZ
എܠ
41P'͔Β ಀΕ͍ͨʂʂʂ
None
None
w 1)1Ͱॻ͔ΕͨσʔϞϯ͕ͨͩͭಈ͍ͯ3%#.4ΛϙʔϦϯά w ΞϓϦέʔγϣϯσʔλ͕ೖΔςʔϒϧڞଘ͢Δ%#ʹΩϡʔΛ࣋ͭ w ΤϯΩϡʔ͢Δࡍʮ͋Δ࣌ࠁʹॲཧ͢Δʯͱ͍ͬͨࢦࣔͰ͖Δ ༧ػೳ w 5IF4DIXBSU[ͷͰ͖ͦ͜ͳ͍ͱݴͬͯ૾Ͱ͖ͨͷ͕ਖ਼ղͰ͢
IUUQTZBQDKBQBOPSHLZPUPUJNFUBCMFIUNMUBML
w 1)1Ͱॻ͔ΕͨσʔϞϯ͕ͨͩͭಈ͍ͯ3%#.4ΛϙʔϦϯά w ΞϓϦέʔγϣϯσʔλ͕ೖΔςʔϒϧڞଘ͢Δ%#ʹΩϡʔΛ࣋ͭ w ΤϯΩϡʔ͢Δࡍʮ͋Δ࣌ࠁʹॲཧ͢Δʯͱ͍ͬͨࢦࣔͰ͖Δ ༧ػೳ w 5IF4DIXBSU[ͷͰ͖ͦ͜ͳ͍ͱݴͬͯ૾Ͱ͖ͨͷ͕ਖ਼ղͰ͢
2ʮͨͩͭʯͷ1)1ϓϩηε͕ ࢮΜͩΒͲ͏ͳΔͷʁ
"͓͠·͍
w 1)1Ͱॻ͔ΕͨσʔϞϯ͕ͨͩͭಈ͍ͯ3%#.4ΛϙʔϦϯά w ΞϓϦέʔγϣϯσʔλ͕ೖΔςʔϒϧڞଘ͢Δ%#ʹΩϡʔΛ࣋ͭ w ΤϯΩϡʔ͢Δࡍʮ͋Δ࣌ࠁʹॲཧ͢Δʯͱ͍ͬͨࢦࣔͰ͖Δ ༧ػೳ w 5IF4DIXBSU[ͷͰ͖ͦ͜ͳ͍ͱݴͬͯ૾Ͱ͖ͨͷ͕ਖ਼ղͰ͢
2໌Β͔ʹ3%#.4͖͡Όͳ͍ ͚Ͳ%#ͷෛՙͬͯେৎͳͷʁ
"େৎ େৎͰͳ͍
w 1)1Ͱॻ͔ΕͨσʔϞϯ͕ͨͩͭಈ͍ͯ3%#.4ΛϙʔϦϯά w ΞϓϦέʔγϣϯσʔλ͕ೖΔςʔϒϧڞଘ͢Δ%#ʹΩϡʔΛ࣋ͭ w ΤϯΩϡʔ͢Δࡍʮ͋Δ࣌ࠁʹॲཧ͢Δʯͱ͍ͬͨࢦࣔͰ͖Δ ༧ػೳ w 5IF4DIXBSU[ͷͰ͖ͦ͜ͳ͍ͱݴͬͯ૾Ͱ͖ͨͷ͕ਖ਼ղͰ͢
2υϝΠϯϩδοΫ͕ 3VCZͰॻ͔Ε͍ͯΔΜͰ͕͢ʜʜ
"େมͰ͢Ͷɻ 1)1Λॻ͍͍ͯͩ͘͞ɻ
ࠔ͍ͬͯͨ͜ͱ w FYBDUMZPODFͷ୲อ͕εέʔϥϏϦςΟͱҾ͖͑ʹͳ͍ͬͯͨ w δϣϒΛॲཧ͢Δϓϩηε͕ܥͷதͰ͚ͨͩͭͩͱ͍͏݅Ͱཱ͍ͤͯͨ͞ w ϓϩηεΛݮΒ͢͜ͱ૿͢͜ͱͰ͖ͳ͍ w ॲཧ͢Δδϣϒ͕૿͑Δ΄Ͳ%#ͷෛՙ͕૿͍ͯ͘͠ઃܭʹͳ͍ͬͯͨ w
ଞͷςʔϒϧʹٴ͠αʔϏεશମʹӨڹ͕ٴͿ w δϣϒͷ࣮Λ1)1Ҏ֎Ͱॻ͚ͳ͍
͜͏͍͏γεςϜ͕΄͍͠ w ༰қʹεέʔϧՄೳͳߏͰ w ڞ༗%#ʹෛՙΛ͔͚ͳ͍ w ҙͷݴޠͰδϣϒΛ࣮Ͱ͖ͯ w ͦͷ্ɺ༧࣮ߦػೳ͕͋Δ
RSPOͷ֓؍
RSPO w δϣϒͷऔΓग़͠༧͞Εͨ࣌ؒʹ࣮ߦ͢ΔͳͲͷδϣϒΩϡʔγεςϜʹٻΊ ΒΕΔػೳΛඋ͑ͨγεςϜ w δϣϒຊମίϯγϡʔϚͱͳΔνʔϜͰҙʹ࣮Ͱ͖Δ w ΠϯλʔϑΣʔε)551"1*ʹ͢Δ͜ͱͰݴޠඇґଘʹ w ͱͱલ৬ͷಉ྅ͱࡶஊϨϕϧͰ͍ͯͨ͠ίϯηϓτΛ͔ͨͪʹͨ͠ͷ
w $MBTTJגࣜձࣾͰӡ༻͍ͯ͠ΔγεςϜʹESPOͱ͍͏໊લΛ༩͑ͨ w IUUQTUFDIDMBTTJKQFOUSZESPOUIFDMPVEOBUJWFDSPO
RSPOͷ֤ίϯϙʔωϯτղઆ
None
w 'BDBEF w +PC&YFDVUPS w +PC4DIFEVMFS w &OEQPJOU%BUBTUPSF w +PC%BUBTUPSF
w +PC3FTFSWBUJPO%BUBTUPSF w 8PSLFS,JDLFS w 8PSLFS&OEQPJOU
w 'BDBEF w +PC&YFDVUPS w +PC4DIFEVMFS w &OEQPJOU%BUBTUPSF w +PC%BUBTUPSF
w +PC3FTFSWBUJPO%BUBTUPSF w 8PSLFS,JDLFS w 8PSLFS&OEQPJOU
None
'BDBEF w δϣϒͷొͳͲίϯγϡʔϚͷϦΫΤετΛड͚͚Δ w ޙड़͢Δ֤ίϯϙʔωϯτΛదʹݺͼग़͢ w (PͰॻ͔Εͨγϯϓϧͳ8FCΞϓϦέʔγϣϯ w "NB[PO&$4Ͱϗετ͞ΕΔ
'BDBEF w 1045FOEQPJOUT w XPSLFSFOEQPJOUͷొ w 1045FOEQPJOUTJEKPCT w XPSLFSFOEQPJOUʹδϣϒΛೖ w
1045SFTFSWBUJPOTXJMM3VO"U&QPDI w XJMM3VO"U&QPDIʹδϣϒΛ༧͢Δ
w 'BDBEF w +PC&YFDVUPS w +PC4DIFEVMFS w &OEQPJOU%BUBTUPSF w +PC%BUBTUPSF
w +PC3FTFSWBUJPO%BUBTUPSF w 8PSLFS,JDLFS w 8PSLFS&OEQPJOU
None
+PC&YFDVUPS w +PC%BUBTUPSF͔ΒϖΠϩʔυΛऔΓग़͠8PSLFS,JDLFSʹ࣮ͯ͠ߦ͢Δ w δϣϒͷഉଞ੍ޚ͜ͷίϯϙʔωϯτ͕Λ୲͏ w ॲཧΛ࢝·Δͱ+PC%BUBTUPSFʹʮ࣮ߦதͰ͋Δʯͱ͍͏ϚʔΫ͚Λ͠ w 8PSLFS,JDLFSΛݺͼग़͠ w
ॲཧ͕ऴྃͨ͠Βʮ࣮ߦྃͨ͠ʯͱ͍͏ϚʔΫ͚Λ͢Δ w ࣮ମ"844UFQ'VODUJPOT
w 'BDBEF w +PC&YFDVUPS w +PC4DIFEVMFS w &OEQPJOU%BUBTUPSF w +PC%BUBTUPSF
w +PC3FTFSWBUJPO%BUBTUPSF w 8PSLFS,JDLFS w 8PSLFS&OEQPJOU
None
+PC4DIFEVMFS w ఆظతʹىಈ͠+PC3FTFSWBUJPO%BUBTUPSF͔Β༧͞Εͨδϣϒ*%ΛऔΓ ग़͠ɺ+PC&YFDVUPSΛݺͼग़͢ w ࣮ମ"84$MPVE8BUDI&WFOUTͱ"844UFQ'VODUJPOT w .BQTUBUFΛͬͯฒྻʹ+PC&YFDVUPSΛݺͿ
w 'BDBEF w +PC&YFDVUPS w +PC4DIFEVMFS w &OEQPJOU%BUBTUPSF w +PC%BUBTUPSF
w +PC3FTFSWBUJPO%BUBTUPSF w 8PSLFS,JDLFS w 8PSLFS&OEQPJOU
None
%BUBTUPSF w ࣮ମ%ZOBNP%# w &OEQPJOU8PSLFS&OEQPJOUͷ63-Λอଘ͢Δ w +PCδϣϒͷϖΠϩʔυͱ࣮ߦঢ়ଶΛอଘ͢Δ w લड़ͷ௨Γഉଞ੍ޚʹΘΕΔ w
+PC3FTFSWBUJPOະདྷͷ͋Δ࣌ࠁʹ༧͞ΕͨδϣϒΛอଘ͢Δ
w 'BDBEF w +PC&YFDVUPS w +PC4DIFEVMFS w &OEQPJOU%BUBTUPSF w +PC%BUBTUPSF
w +PC3FTFSWBUJPO%BUBTUPSF w 8PSLFS,JDLFS w 8PSLFS&OEQPJOU
None
8PSLFS,JDLFS w +PC&YFDVUPS͔Βݺͼग़͞Εͯ8PSLFS&OEQPJOUʹ༩͑ΒΕͨϖΠϩʔυ Λ)5511045ͰૹΔ w దͳϦτϥΠͳͲΛڬΈ൱Λه͢Δ w ࣮ମ(PͰॻ͔Εͨ"84-BNCEBؔ
w 'BDBEF w +PC&YFDVUPS w +PC4DIFEVMFS w &OEQPJOU%BUBTUPSF w +PC%BUBTUPSF
w +PC3FTFSWBUJPO%BUBTUPSF w 8PSLFS,JDLFS w 8PSLFS&OEQPJOU
None
8PSLFS&OEQPJOU w ݫີʹRSPOͷܥ෦ʹ͍ͳ͍͚Ͳհ w ίϯγϡʔϚνʔϜ͕֤ࣗͰ࣮͢ΔδϣϒΛ࣮ࡍʹߦ͏)551ΤϯυϙΠϯ τ w 8PSLFS&OEQPJOUʹRSPO͕ٻΊΔͷ͋Β͔͡Ί0QFO"1*༷Ͱ߹ҙͨ͠ )551ϦΫΤετɾϨεϙϯεͷܗࣜͷΈ w
࣮ʹΘΕΔݴޠϑϨʔϜϫʔΫҰΘͳ͍
ഉଞ੍ޚ w 4UFQ'VODUJPOT͔Β%ZOBNP%#ͷ"1*Λݺͼग़ͤΔ w ͖݅ࣜͭͷ61%"5&ͰϩοΫΛͱΔ w 4UFQ'VODUJPOT֤TUBUFͷࣦഊΛิͰ͖ΔͷͰɺ Τϥʔ͕ى͖ͨΒهͯ͠ॲཧΛܧଓɺͳͲ͕༰қ w
͠εςʔτϚγϯͰิͰ͖ͳ͍Τϥʔ͕ൃੜͯ͠δϣϒͷঢ়ଶ %ZOBNP%#ʹΔ w ϩοΫΛऔͬͨ··ʹͳ͍ͬͯΕ։์ͯ͋͛͠ΕΑ͍
UPDATE IsExecuting = true IF IsExecuting =
false
None
RSPOΛӡ༻ͯ͠Έͯ
ӡ༻ͯ͠ΈͯΘ͔ͬͨ͜ͱ w 😇ωετͨ͠େྔͷ4UFQ'VODUJPOTͷঢ়ଶཤྺ͕ίϯιʔϧͰදࣔͰ͖ͳ͍ όά w 😇0QFO"1*ඍົ w 👍$MPVE8BUDI&WFOUTͷൃՐλΠϛϯάͷ༳Β͗ҙ֎ͱগͳ͍ w
😇ϝϯςφΛ૿͢ͷ͍ͨΜ
ωετͨ͠εςʔτϚγϯͷݺͼग़͠ w 4UFQ'VODUJPOT͞ΒʹผͷεςʔτϚγϯΛݺͼग़͢͜ͱ͕Ͱ͖Δ w ͭͷεςʔτϚγϯͷ࣮ߦ͋ͨΓͷঢ়ଶભҠ্͕ݶ͕͋Δ w ӽ͑ΔͱΤϥʔʹͳΔ w ผͷεςʔτϚγϯΛݺͼग़͢ςΫެࣜυΩϡϝϯτͰհ͞Ε͍ͯΔ w
IUUQTEPDTBXTBNB[PODPNTUFQGVODUJPOTMBUFTUEHCQIJTUPSZMJNJUIUNM
ωετͨ͠େྔͷ4UFQ'VODUJPOTͷঢ়ଶཤྺ͕ίϯιʔϧͰදࣔͰ͖ͳ͍ w ʜʜ͕ωετͯ͠ঢ়ଶભҠ͕૿͑ΔͱṖͷΤϥʔ͕ग़Δ w ωετͨ͠εςʔτϚγϯͷͿΜؚΊΔͱભҠ্ݶͷ ݅Λӽ͑ͯ ͍Δ w αϙʔτʹ͍߹Θ͚ͤͨͲղܾ͍ͯ͠ͳ͍ w
όάͳͷ͔ʜʜ
0QFO"1*ඍົ w εΩʔϚʹै͍ͬͯΔ͜ͱΛݫ֨ʹอূͯ͘͠Εͯ։ൃମݧྑ͍πʔϧνΣΠϯΛݟ͚ͭ ΒΕ͍ͯͳ͍ w (P 1)1 3VCZͰͦΕͧΕ΄͍͠ w ʮݫ֨ʹʯNFBOTεΩʔϚʹै͍ͬͯͳ͍ϦΫΤετϨεϙϯεͩͬͨΒͨͩͪʹ
࣮ߦ࣌ྫ֎Λ͛ΔͳͲڧ͍ϑΟʔυόοΫΛىͯ͘͜͠ΕΔ w (PΉ͚ʹͪΐͬͱͨ͠ϥΠϒϥϦΛ࡞͚ͬͨΕͲ w IUUQTHJUIVCDPNBFSFBMHPPQFOBQJWBMJEBUJPONJEEMFXBSF w ͦͦεΩʔϚΛॻ͘ͷ͕ͩΔ͍ʜʜ
0QFO"1*ඍົ w ͰଞʹԿ͕ྑ͍͔ w (SBQI2- w γεςϜؒ௨৴ͰΫΤϦͷΈཱͯͱׂ͔͕ʹ߹Θͳ͍͔Μ͕͢͡Δ w
3VCZ1)1ͩͱ(SBQI2-αʔόαΠυͷϥΠϒϥϦॆ࣮͍ͯ͠Δ͚ͲΫϥΠΞϯτͦ͏ Ͱͳ͍ͱ͍͏ҹ w H31$ w ϓϩτίϧྑ͍͚Ͳʜʜ w 1SPUPDPM#V ff FSTΛॻ͖ͨ͘ͳ͍
$MPVE8BUDI&WFOUTͷൃՐλΠϛϯά w ΘΓͱ҆ఆ͍ͯͯ͠Α͍ w υΩϡϝϯτͰʮࢦఆͨ࣌͠ࠁҎ߱ͱ͍͏͜ͱ͔͠อূ͠ͳ͍Α ΕΔ͜ ͱΛఆͯ͠Ͷ ʯͱॻ͍ͯ͋Δ w ʜʜ͕ɺΘΓͱࢦఆ࣌ࠁ͔ΒඵҎͷΕͰࡁΜͰ͍Δ
w ͪΖΜอূ͞Ε͍ͯΔΘ͚Ͱͳ͍ͷͰґଘ͢Δ͜ͱ·͘͠ͳ͍ w ͱ͍͍͑উखͱͯ͠ຬͰ͖ΔϨϕϧ
ϝϯςφΛ૿͢ͷ͕͍ͨΜ w ϝϯςφϯε͍ͯ͠Δͷ΄΅ࣗͻͱΓ w ڵຯΛ࣋ͬͯ͘Ε͍ͯΔࣾͰͪΒ΄Βฉ͕͘ʜʜ w ͍͠ͱࢥΘΕ͍ͯΔ w (P
w IUUQTUFDIDMBTTJKQFOUSZ@ w ࢄγεςϜ w "84ͷαʔϏεΛͨ͘͞ΜΈ߹Θ͍ͤͯΔ
࠷ޙʹॏཁͳ͜ͱ
Քಈ։͔࢝Β ϝδϟʔΠϯγσϯτͳ͘ݩؾʹಈ͍͍ͯΔ
·ͱΊ w "84ͷαʔϏεΛΈ߹Θͤͯεέʔϧ͢ΔDSPOସΛߏஙͨ͠ w ࣗવքʹFYBDUMZPODF࡞ΕΔ w ಈ͔࣮ͯ͠༻ʹΔ͜ͱΘ͔ͬͨ w ઃܭͨ࣌͠ʹ૾Ͱ͖ͳ͔ͬͨେখ༷ʑͳ௧ΈΛΕͨ
GJO