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
1.5k
qron: Cloud Native Cron Alternativeの今
@ YAPC Kyoto 2023
aereal
March 19, 2023
Tweet
Share
More Decks by aereal
See All by aereal
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
1.5k
自動作曲入門 / 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
190k
ブログサービスのHTTPS化を支えたAWSで作るピタゴラスイッチ / The construction of large scale TLS certificates management system with AWS
aereal
3
390k
AWSではてなブログの常時HTTPS配信をバーンとやる話 / The Epic of migration from HTTP to HTTPS on Hatena Blog with AWS
aereal
14
17k
ScalaとPerlでMicroservices in production / Building microservices with Perl and Scala in production
aereal
0
5.2k
Scalaで自動作曲の練習 / A study of automatic composition in Scala
aereal
1
390k
Goで実装する軽量マークアップ言語パーサー / Gohn: parser written in Go
aereal
3
3.6k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
21
6.4k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
7
3.4k
Music & Morning Musume
bryan
41
5.6k
The Invisible Side of Design
smashingmag
294
49k
How GitHub (no longer) Works
holman
305
140k
Scaling GitHub
holman
457
140k
[RailsConf 2023] Rails as a piece of cake
palkan
27
4k
Producing Creativity
orderedlist
PRO
338
39k
What's new in Ruby 2.0
geeforr
337
31k
Faster Mobile Websites
deanohume
300
30k
Design by the Numbers
sachag
274
18k
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