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
mrubyをプロダクションに 投入する / hosting-on-mruby
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
KONDO Uchio
July 07, 2018
Technology
1.8k
4
Share
mrubyをプロダクションに 投入する / hosting-on-mruby
Rubyアソシエーション開発助成成果報告会
https://rubyassociation.doorkeeper.jp/events/74355
KONDO Uchio
July 07, 2018
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.6k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
310
Narrative of Ruby & Rust
udzura
0
270
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.8k
Talk of RBS
udzura
0
500
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
860
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
810
Device access filtering in cgroup v2
udzura
1
1k
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
920
Other Decks in Technology
See All in Technology
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
180
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
7.4k
noUncheckedIndexedAccess、3時間、1万円。 / noUncheckedIndexedAccess, 3 Hours, 10,000 JPY.
kaonavi
1
290
EventBridge Connection
_kensh
2
340
Building applications in the Gemini API family.
line_developers_tw
PRO
0
1.3k
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
3
1k
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
1.2k
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
370
「気づいたら仕事が終わっている」バクラクAIエージェント本番運用の裏側 / layerx-bakuraku-aie2026
yuya4
18
10k
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
360
探して_入れて_作って_使う_Agent_Skills___LT.pdf
peintangos
2
160
【Gen-AX】20260530開催_JJUG CCC 2026 Spring
genax
0
420
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
Building an army of robots
kneath
306
46k
Deep Space Network (abreviated)
tonyrice
0
160
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
360
Google's AI Overviews - The New Search
badams
0
1k
GraphQLとの向き合い方2022年版
quramy
50
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Marketing to machines
jonoalderson
1
5.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Transcript
8FCϗεςΟϯάج൫ར༻Ͱͷ࣮ূ࣮ݧɾ։ൃͷใࠂ ۙ౻Ӊஐ࿕(.01FQBCP *OD 3VCZΞιγΤʔγϣϯ։ൃॿՌใࠂձ NSVCZΛϓϩμΫγϣϯʹ ೖ͢Δ
γχΞɾϓϦϯγύϧΤϯδχΞ ۙ౻ Ӊஐ࿕ / @udzura https://blog.udzura.jp/ Uchio Kondo ٕज़෦ ٕज़ج൫νʔϜ
#PPLT
1SPEVDUT
$PNNVOJUZ Fukuoka.rb
IUUQTNDMPMJQPQKQ
େنϗεςΟϯά ࣮ূ࣮ݧ
ϗεςΟϯά࣮ূ࣮ݧ wίϯςφΛ༻͍ͨ8FCϗεςΟϯάͷγεςϜʹؔͯ͠ɺύϒϦοΫ Ϋϥυେ͖ͳϦιʔεΛ༻͍ͯ௨ৗͷڥͰ࣮ࢪ͠ʹ͍͘Α͏ ͳ༰ͷ࣮ݧΛߦͬͨɻ wߴෛՙ࣌ͷڍಈɺඇৗʹूੵ͕ߴ·ͬͨ߹ͷڍಈͷ֬ೝͳͲ
ͳͥ ϗεςΟϯάͰ
ϗεςΟϯάݻ༗ͷٕज़త՝ wҰൠతͳ8FCαʔϏεʹൺͯɺϓϥοτϑΥʔϜΛఏڙ͢Δϗε ςΟϯάαʔϏεͰҎԼͷΑ͏ͳ՝͕ݦஶʹͳΔ wγεςϜύϑΥʔϚϯεͷ wߴूੵੑͷ wηΩϡϦςΟͷ w͍ͣΕɺΞϓϦέʔγϣϯͷΈͳΒγεςϜྖҬͰͷ։ൃ͕ඞਢͱ ͳΔɻͦͷͷྖҬʹɺγεςϜϓϩάϥϛϯάʹڧ͍NSVCZ ϑΟοτ͢Δ
͓ޓ͍ͷվળؔ͠߹͏ NSVCZΛར༻ͨ͠ ϛυϧΣΞͷվળ NSVCZͷվળ ϗεςΟϯά ج൫ͷվળ
NSVCZΛར༻ͨ͠ ϛυϧΣΞͷվળ
ୡͰ͖ͨՌͷ͏ͪ ओͨΔͷΛհ
OHY@NSVCZ
OHY@NSVCZ wߴੑೳͳ8FCαʔό࣮/HJOYͷڍಈΛɺNSVCZͰ੍ޚͰ͖ΔΑ͏ʹ ͢Δ֦ு wϩʔυόϥϯγϯά44-ূ໌ॻͷಈతཧ͕؆ܿͳίʔυͰ࣮ݱ wࠓྲྀߦͷ4FSWJDF.FTIͰߦͳ͍ͬͯΔػೳͷઌۦ͚తଘࡏʁ
OHY@NSVCZWͷϦϦʔε wࠓճͷॿʹΑΔ࣮ݧ༰Λड͚ɺઌόʔδϣϯͷϦϦʔε wଟ͘ͷՃػೳΛ࣮
ϦΫΤετϋϯυϥͷඇಉظԽ
ϦΫΤετϋϯυϥͷඇಉظԽ wWҎલɺϫʔΧʔ͝ͱʹNSVCZͰͷॲཧϒϩοΫ͍ͯͨ͠ɻ wඇৗͳߴෛՙ࣌ɺNSVCZͰ*0όΠϯυͳॲཧΛ͍ͯ͠Δ߹ʹ εϧʔϓοτॲཧϦΫΤετͷ͕ى͜Δ͜ͱ͕͋ͬͨɻ w͜ͷରԠͷҰͱͯ͠ɺNSVCZͷϋϯυϥॲཧΛ'JCFSΛϕʔεʹඇ ಉظԽ͢Δ͜ͱʹޭͨ͠ w/HJOYࣗମͷΞʔΩςΫνϟʹ߹͍ͬͯΔ
ࠓ·Ͱͷϋϯυϥͷڍಈ 3FR 3FT NSVCZ
Wʹ͓͚Δϋϯυϥͷڍಈ 3FR 3FT NSVCZ *OJUNSC@TUBUF
'JCFSͷར༻ 'JCFSGPSFBDIIBOEMFS "XPSLFSQSPDFTT
ϕϯνϚʔΫ IUUQTICNBUTVNPUPSKQFOUSZ
େنϗεςΟϯάʹ͓͚ΔӨڹ wେنϗεςΟϯάͷҎԼͷՕॴͰOHY@NSVCZΛར༻ w֎෦%#Λ༻͍ͨಈతͳϩʔυόϥϯγϯά wϦΫΤετܖػͰͷίϯςφىಈʢ'BTU$POUBJOFSʣ w͜ͷΑ͏ʹϋϯυϥͰ֎෦"1*ͷΞΫηεɺ%#ͷΞΫηεͷΑ ͏ʹҰఆͷ*0͕ͪىͬͯ͜͠·͏ύλʔϯʹ͓͍ͯεϧʔϓοτͷ ͕͋ͬͨɻݱࡏOHY@NSVCZWͷಋೖΛྃ
ࠓޙͷ՝ wવ·ͩར༻࣮͕গͳ͘ɺΤοδέʔεͰͷόάଘࡏ͠͏ΔͷͰɺ ͦ͏ݴͬͨͷʹରॲ͍ͯ͘͠ඞཁ͕͋Δ w5$1TUSFBNͰͷϋϯυϥͳͲҰ෦·ͩ'JCFSԽ͞Ε͍ͯͳ͍ɻ ՃͰ։ൃ͍ͯ͘͠
)BDPOJXB
)BDPOJXB wNSVCZʹΑΓɺ༷ʑͳઃఆΛهड़Ͱ͖ΔίϯςφϥϯλΠϜ wҎԼͷػೳΛϓϩάϥϜͰΈ߹ΘͤΔ͜ͱ͕Ͱ͖Δ w-JOVYͷϦιʔεʢ-JOVY/BNFTQBDFͳͲʣɺϦιʔε੍ݶ ʢDHSPVQͳͲʣɺݖݶ੍ޚʢ-JOVY$BQBCJMJUZɺ4FDDPNQͳͲʣͷ ֤छίϯςφػೳ wίϯςφͷΠϕϯτʢىಈɺఀࢭɺྫ֎΄͔ʣɺىಈޙͷܦա࣌ؒ ʹ߹ΘͤͨϑοΫॲཧɺγάφϧϋϯυϥ
'BTU$POUBJOFS wίϯςφΛඞཁͳ࣌ʹॳΊͯىಈ͠ɺ·ͨఆظతͳίϯςφͷೖΕସ ͑Λ͢Δ͜ͱͰίϯςφͷཧίετͱϦιʔεޮΛ্ͤ͞Δ ίϯςφཧͷΞʔΩςΫνϟ wݱࡏɺOHY@NSVCZ )BDPOJXBͰ࣮ͯ͠ɺαʔϏεͰͷӡ༻ʹ ͍ͤͯΔ
1JDUVSFPG'BTU$POUBJOFS Web Proxy Web Request Dispatcher FastContainer Runtime CMDB ❌
FastContainer Killed 1. Check 2. Boot 3. Forward 4. Terminate
ىಈΦʔόʔϔουΛݮ͍ͨ͠ wࠓճͷେنϗεςΟϯάͰɺ'BTU$POUBJOFSΞʔΩςΫνϟΛ࠾ ༻͠ɺίϯςφཧͱϦιʔεͷར༻ޮͷ࠷େԽΛਤ͍ͬͯΔ wʮඞཁͳ࣌ͷΈىಈ͢Δෆཁͳ࣌ίϯςφΛ࡞Βͳ͍ʯͱ͍͏Ξʔ ΩςΫνϟΛ࣮ݱ͢Δʹසൟͳ࠶ىಈ͕ඞཁʹͳΓɺϢʔβମݧͱ ͍͏؍ͰΞϓϦέʔγϣϯʹΑΓىಈ࣌ͷΦʔόʔϔουΛແࢹ Ͱ͖ͳ͍
ઓུ wίϯςφͷىಈܧଓ࣌ؒΛ͘͢Δ ˠ૬ରతͳͪ࣌ؒͷׂ߹͕ݮΔͨΊɺϢʔβମݧ্͢Δ ىಈ த ϦΫΤετՄೳ
ίϯςφͷಉ࣌ىಈ w࣮ݧʹͯɺίϯςφͷಉ࣌ىಈʹؔ͢ΔݕূΛߦͬͨɻ w݁Ռͱͯ͠ɺγεςϜతͳͰ࠷ऴతʹϗετͷϝϞϦ͚ͩͷى ಈͤ͞ΒΕΔ͜ͱ͕͔͕ͬͨɺ͜ΕϋʔυΣΞతͳ্ݶͰ ͋Γɺಉ࣌ىಈΛͳΔ͘খ͘͞อͯΔͱ·͍͠ w'BTU$POUBJOFSతʹɺىಈܧଓ࣌ؒΛͳΔ͘͘ɺਫ਼៛ʹϦιʔ είϯτϩʔϧ͕Ͱ͖ΔͱϕλʔͳγεςϜʹͳΔ
ઓུ wىಈʹඞཁͳ࣌ؒࣗମΛ͘͢Δ wͦͦͷ͕ͪ࣌ؒҰఆҎ্খ͘͞ͳΕɺϨεϙϯελΠϜશମ ͷϘτϧωοΫΛΞϓϦέʔγϣϯʹҠ͢͜ͱ͕Ͱ͖Δ #PPUVQ "QQ -PHJD
NSVCZͱ $3*6ͷ࿈ܞ
$IFDLQPJOU3FTUPSF wϓϩηεͷ֤छଐੑϝϞϦঢ়ଶΛΠϝʔδʹμϯϓ͠ $IFDLQPJOU ɺ ͦΕΛݩʹϓϩηεΛߴʹ࠶ੜ͢Δ 3FTUPSF ٕज़ wίϯςφϓϩηεͰ͋Δ™ͨΊɺίϯςφͷঢ়ଶμϯϓͱɺμϯϓ Πϝʔδ͔ΒͷىಈʹԠ༻Ͱ͖Δ wදతͳ࣮ͱͯ͠$3*6
$IFDLQJOU3FTUPSF*O6TFSTQBDF ͕ ΒΕ͍ͯΔ
$3*6 w-JOVYʹ͓͚Δ$IFDLQPJOU3FTUPSFͷ࣮ wQSPDͷԼͷใΛऩू͠ɺϓϩηεͷϝϞϦͷঢ়ଶ֤छଐੑɺ ಛʹ/BNFTQBDFDHSPVQɺϑΝΠϧهड़ࢠͷঢ়ଶΛอଘ͢Δ wDSJVࣗମαʔϏεԽ͢Δ͜ͱՄೳͰɺMJCDSJVͱ͍͏"1*ϥούʔ ͷ$࣮͕ఏڙ͞Ε͍ͯΔ w%PDLFSͷDIFDLQPJOUSFTUPSF࣮ʹΘΕΔ
ϗεςΟϯάͰͷ՝ wίϯςφͷνΣοΫϙΠϯτΛ࡞͢ΔλΠϛϯά wϢʔβʔΞϓϦέʔγϣϯʹͲͷΑ͏ͳͷ͕Δ͔Θ͔Βͳ͍ͨ ΊɺՄೳͰ͋ΕͳΔ͘อ͍࣋ͯ͠Δใ͕গͳ͍λΠϛϯάɺྫ ͑ϛυϧΣΞͷઃఆ͕ϝϞϦʹΓϙʔτΛϦεϯ͢Δલɺͷ Α͏ͳ໘ͰνΣοΫϙΠϯτΛ࡞Γ͍ͨ w͜ͷࡍɺҙͷγεςϜίʔϧͳͲΛϑοΫʹνΣοΫϙΠϯτॲཧ ΛΒ͍ͤͨ
4FDDPNQͷ׆༻
4FDDPNQʹΑΔγεςϜίʔϧϑοΫ wTFDDPNQͱɺಛఆͷϓϩάϥϜʹΑΔγεςϜίʔϧͷݺͼग़͠Λ ࢹɺϑΟϧλϦϯά͢Δ-JOVYΧʔωϧͷػೳ wྫ͑ɺݺͼग़͠ͷېࢭڐՄɺݺͼग़͠ͷτϥοϓɺϩΪϯάͳͲ͕ ՄೳͱͳΔ w࡞NSVCZTFDDPNQʹΑΓNSVCZͰ੍ޚͰ͖Δ
4FDDPNQˠ$3*6ͷ࿈ܞ wྫ͑ϛυϧΣΞ͕ىಈ͠ɺϙʔτΛϦεϯ͢ΔλΠϛϯά·Ͱʹ ༷ʑͳιέοτૢ࡞ͷγεςϜίʔϧ͕Δ wͦΕΒΛܖػͱͯ͠νΣοΫϙΠϯτΛ࡞͢ΕɺىಈͷΦʔόʔ ϔουΛࣦͭͭ҆͘͠શʹϓϩηεΛ࠶ੜͰ͖Δ w)BDPOJXBͷΑ͏ͳ࣮Ͱ͋ΕɺͦΕΒͷϥΠϒϥϦΛNSVCZͰϥο ϓ͠ɺ%4-ʹΑΓରγεςϜίʔϧͷࢦఆ͕Մೳ
4FDDPNQˠ$3*6ͷ࿈ܞ IBDPOJXBDIFDLQPJOU IBDPOJXBSFTUPSF $3*6JNBHFpMFT ♻
)BDPOJXBPO$3*6 %&.0
্࣮ͷ՝ wݱࡏɺʮ$3*6͕ϓϩηεΛఀࢭ͢Δॲཧʯͱʮ4FDDPNQ͕ϓϩηε Λఀࢭ͢Δॲཧʯ͕όοςΟϯάͯ͠͠·͏͕͋Δ wҰॠσλον͢Δ͜ͱͰճආ͍ͯ͠Δ͕ɺਖ਼֬ͳλΠϛϯάΛ੍ޚ͠ ͍ͨ w$3*6ଆͰʢ͢Ͱʹࢭ·͍ͬͯΔͷͰʣఀࢭ͠ͳ͍Α͏ͳΦϓγϣ ϯΛύονͰ࣮͢ΔɺΛݕ౼
·ͱΊͱల
Ռͷ·ͱΊɾల wେنϗεςΟϯάڥͰNSVCZΛར༻͠ɺҎԼͷϛυϧΣΞվળ wOHY@NSVCZͷ'JCFSԽ w)BDPOJXBͱ$3*6ͷ࿈ܞʢ࣮վળதʣ wࠓޙNSVCZར༻ՌΛΦʔϓϯʹ͍ͨ͠ wใࠂ্ະୡͰ͋ΔΦʔέετϨʔγϣϯͷ࣮ެ։ɺίϯς φͷվળͱͱʹਐΊ͍͖ͯͨ
ँࣙͳͲ
େنΫϥυ࣮ݧ!/** wࠓճͷݚڀͰɺࠃཱใֶݚڀॴʢ/**ʣΫϥυ࣮ূ࣮ݧʹΑΓ ఏڙ͞ΕͨΫϥυڥΛར༻͍ͯ͠·ͨ͠ IUUQTQFQBCPDPNOFXTQSFTT
͝ڠྗɾ͝ࢦಋ͍͍ͨͩͨօ༷ wϖύϘͷಉ྅ͷํʑʢࢁԼ͞Μɺాதྒհ͞Μʣ wϖύϘݚڀॴ٬һݚڀһɹDIJLVXB@*5͞Μ