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
KONDO Uchio
July 07, 2018
Technology
1.8k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
320
Narrative of Ruby & Rust
udzura
0
280
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.9k
Talk of RBS
udzura
0
510
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
870
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
830
Device access filtering in cgroup v2
udzura
1
1k
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
940
Other Decks in Technology
See All in Technology
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.3k
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
4
1.6k
GoCon2026 - Open Source, Open World
sanposhiho
1
210
推論の観測、できていますか? 〜 Google Cloud Gemini Enterprise Agent Platformで 3つの Gemini モデルを実測して踏んだ、評価の罠 〜
shukob
PRO
0
170
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
1.6k
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
360
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
0
120
Azure App Service / Container Apps の組み込み認証
kuniteru
0
210
enechainの内製セルフサービスプラットフォーム
hiyosi
0
130
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
400
Tab5をRubyで動くパソコンにする
kishima
2
250
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
150
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Become a Pro
speakerdeck
PRO
31
6.2k
The Curious Case for Waylosing
cassininazir
1
500
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
370
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Building AI with AI
inesmontani
PRO
1
1.2k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
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͞Μ