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
Rails でつくるマルチテナント型Webアプリケーション / multi-tenant we...
Search
Kizashi Nagata
May 12, 2018
Technology
1
2.6k
Rails でつくるマルチテナント型Webアプリケーション / multi-tenant web application building with Rails
Kizashi Nagata
May 12, 2018
Tweet
Share
More Decks by Kizashi Nagata
See All by Kizashi Nagata
ビルドが遅い
kizashi1122
0
370
SQS の使い方を わかっていなかった / I didn't know how to use SQS correctly
kizashi1122
0
590
aws-vault を使った セキュアなアクセスキー管理 / Manage AWS Access Key More Securely By Using aws-vault
kizashi1122
0
860
inotify の話 / About inotify
kizashi1122
0
580
B2Bクラウドサービスをゼロから立ち上げて、利用社数が1000社を超えるまでの道のり / a startup started B2B SaaS business from ground zero
kizashi1122
0
930
Other Decks in Technology
See All in Technology
AIエージェント開発のノウハウと課題
pharma_x_tech
7
4.2k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
540
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
110
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
140
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.4k
リクルートのエンジニア組織を下支えする 新卒の育成の仕組み
recruitengineers
PRO
1
130
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
170
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
120
OPENLOGI Company Profile
hr01
0
60k
20250304_赤煉瓦倉庫_DeepSeek_Deep_Dive
hiouchiy
2
110
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.3k
OPENLOGI Company Profile for engineer
hr01
1
20k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
336
57k
Practical Orchestrator
shlominoach
186
10k
The Cult of Friendly URLs
andyhume
78
6.2k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Agile that works and the tools we love
rasmusluckow
328
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Side Projects
sachag
452
42k
It's Worth the Effort
3n
184
28k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Transcript
3BJMTͰͭ͘ΔϚϧνςφϯτܕ 8FCΞϓϦέʔγϣϯ ୈճ3VCZؔษڧձ Ӭాɹஹ !LJ[BTIJ
ࣗݾհ w Ӭాɹஹʢ!LJ[BTIJʣ w גࣜձࣾΠϯήʔδ$50 w ʮ3FMBUJPOʯͱ͍͏##͚ΫϥυαʔϏεΛ։ൃ w ʮ3FMBUJPOʯʹ͍ͭͯޙड़ w
झຯίʔώʔʢࣗͰੜ౾ΛᖿḦͯ͠Ṣ͍ͯҿΜͰΔʣ
Ϛϧνςφϯτܕ ΞϓϦέʔγϣϯͬ ͯʁ ࠷ۙͲ͔͜Ͱൃද͞ΕͯͨΑ͏ͳɾɾ
IUUQTHGYIBUFOBCMPHDPNFOUSZ
Ϛϧνςφϯτܕ ΞϓϦέʔγϣϯͱ ͦͷલʹ
ʮ3FMBUJPOʯͱ w ʮϝʔϧड৴ശΛνʔϜͰڞ༗͢ΔͨΊͷαʔϏεʯ w ར༻γʔϯɿTVQQPSU!FYBNQMFDPN JOGP!FYBNQMFDPNͳͲͷදΞυϨεΛෳਓͰର Ԡɾཧ͢Δ w (NBJMͳͲͷݸਓ͚8FCϝʔϧαʔϏεͱҧͬͯɺ νʔϜͰڞ༗͢ΔͨΊʹඞཁͳػೳɺศརͳػೳ͕
ࡌ͞Ε͍ͯΔ
ʮ3FMBUJPOʯػೳ w 5XJUUFS-*/&! w ঝೝػೳ w ೋॏૹ৴ࢭػೳ w ίϝϯτೖྗʢνʔϜίϝϯτʣ w
༧ૹ৴ w ςϯϓϨʔτ w ूܭ Ϗδωε͚ͷػೳ ͕ἧ͍ͬͯΔ
Ϗδωε͚ʁ
#$ͱ##ͷҧ͍ #$ ΞϓϦέʔγϣϯ ## ΞϓϦέʔγϣϯ ৫ ৫ ৫
##ΞϓϦʹϚϧνςφϯτܕΞϓϦ ΞϓϦέʔγϣϯ ৫ ৫ ৫ ৫νʔϜʢʹςφϯτʣ ͕ΞϓϦέʔγϣϯʹ ରͯ͠ෳଘࡏ͢ΔΞʔΩ ςΫνϟΛϚϧνςφϯτܕ ΞʔΩςΫνϟͱݺͿ
جຊతʹɺϢʔβςφϯ τͷ෦ͷใͷΈΞΫηε ͕Ͱ͖Δ
ϚϧνςφϯτܕΞϓϦͷઃܭ w ·ͣߟ͑Δ͜ͱ w ςφϯτ͝ͱʹ3%#.4ͷσʔλΛͲ͏͢Δ͔ʁ w 63-Ͳ͏͢Δ͔ʁ w ͦͷଞͷσʔλετΞͰͲ͏͢Δ͔ʁ w
ͪ͜Βࠓճলུ
3%#.4σʔλͷ w ΠϯελϯεϨϕϧͰ w εΩʔϚϨϕϧͰ w ߦϨϕϧͰ
ΠϯελϯεϨϕϧͰ w ςφϯτ͝ͱʹҟͳΔ3%#.4ΠϯελϯεͰཧ͢Δ w ίωΫγϣϯଓͷΦʔόϔου w ސ٬͕૿͑Δͨͼʹ3%#.4ΠϯελϯεΛ૿͢͜ͱʹ ͳΔ
"QQ
εΩʔϚϨϕϧͰ w 1PTUHSF42-ͷεΩʔϚʢTDIFNBʣ w εΩʔϚʹ໊લۭؒΛΘ͚ΔΈ w DPNQBOZVTFSTͱDPNQBOZVTFSTςʔϒϧผςʔϒϧ w 4&5TFBSDI@QBUI50DPNQBOZΛ࣮ߦͨ͠ޙͰ͋ΕɺVTFSTςʔϒϧ҉ʹ DPNQBOZVTFSTςʔϒϧΛࢦ͍ͯ͠Δ͜ͱʹͳΔ
w ςφϯτ৽ن࡞࣌શςʔϒϧͷηοτΛ࡞Δ͜ͱʹͳΔ "QQ
ߦϨϕϧͰ w ΞϓϦέʔγϣϯʔσʔλϕʔεΠϯελϯε w ςʔϒϧશςφϯτͰڞ༗ w શςʔϒϧʹUFOBOU@JEΧϥϜΛ࣋ͭ w 8IFSF۟ΛΕͨΒΞτ "QQ
UFOBOU@JE
3FMBUJPOεΩʔϚϨϕϧ w 1PTUHSF42-ͷεΩʔϚ͕ϚϧνςφϯτΞϓϦͱͷ૬ੑ ͕͍͍ͱ͍͏͜ͱ͕Θ͔͍ͬͯͨͷͰ3FMBUJPOͰ໎Θ ͣʹ1PTUHSF42-Λ࠾༻ w ςʔϒϧ͝ͱʹ8IFSF۟Λߟ͑ͳͯ͘ྑ͍ͷ͍͍ "QQ
σʔλ͕͍ͯ͠Δͱ҆৺͔ʁ w ଞͷςφϯτͷใ͕ࠞࡏ͢ΔͷΛΠϠ͕Δձࣾ͋Δ w ෆ۩߹ʹΑΓଞςφϯτͷใʹΞΫηεͯ͠͠·͏͜ͱ ͋ΓಘΔʢ͋ͬͯͳΒͳ͍͕ʣ !20
63-ͷઃܭ w ςφϯτใΛ63-ʹؚΊΔ͔ʁ w ؚΊͳ͍ʢશςφϯτڞ௨ʣ w ؚΊΔ w ύεʹؚΊΔ w
αϒυϝΠϯʹؚΊΔ
63-શςφϯτڞ௨ʹ͢Δ w (4VJUFͳͲ w IUUQTNBJMHPPHMFDPN w σʔλϕʔεʹϩάΠϯϢʔβ͕ଐ͢ΔςφϯτใΛ࣋ ͪɺͦͷςφϯτʹඥͮ͘σʔλʹͷΈΞΫηεՄೳͱ ͢Δ
ύεʹςφϯτใΛͭ w :BNNFSͳͲ w IUUQTXXXZBNNFSDPNJOHBHFKQIPNF w ଞςφϯτͰ63-ͷϗετ෦ಉ͡ͱ͍͏͜ͱ w $PPLJFςφϯτ͝ͱΘ͚Δ͜ͱͰ͖ͳ͍ʢଟʣ w
$PPLJFʹQBUIใΛ࣋ͭ͜ͱ͕Ͱ͖Δ͕ɺηΩϡϦ ςΟ্ͷޮՌͳ͍ w :BNNFSͰ$PPLJFͷ1BUIͩͬͨ IUUQTCMPHUPLVNBSVPSH
αϒυϝΠϯʹςφϯτใΛͭ w 4MBDLͳͲ w IUUQTJOHBHFKQTMBDLDPNNFTTBHFT w ςφϯτ͝ͱʹυϝΠϯ͕ҟͳΔ w $PPLJFςφϯτ͝ͱʹҟͳΔ w
44-ূ໌ॻϫΠϧυΧʔυυϝΠϯʹରԠ͍ͯ͠Δඞ ཁ͕͋Δ
3FMBUJPOαϒυϝΠϯܕ w ಛʹͩ͜ΘΓͳ͔ͬͨɻ w ։ൃڥϧʔϓόοΫΞυϨεΛαϒυϝΠϯܕʹ͢Δඞཁ͕ ͋Δ w #BTFDBNQ͕ఏڙ͍ͯ͠ΔYJQJPυϝΠϯΛར༻ w IUUQUFOBOUYJQJPΈ͍ͨͳײ͡
w εςʔδϯάڥ-FUT&ODSZQUΛͬͯ44-ڥΛߏͯ͠ ͍Δɻ࠷ۙ-FUT&ODSZQU͕ϫΠϧυΧʔυରԠͨ͠ͷͰ͏༧ఆɻ
3%#.4εΩʔϚͰ 63-αϒυϝΠϯ ͰɺͲ͏࣮͢Δ͔
BQBSUNFOUHFNΛ͏ w DPNQBOZBQQDPNͰΞΫηε͞ΕͨΒɺࣗಈతʹσʔ λϕʔεͷDPNQBOZεΩʔϚʹΓସ͑Δʢ4&5 TFBSDI@QBUI50DPNQBOZʣΈ͕༻ҙ͞Ε͍ͯΔɻ ͜͜ͰεΩʔϚΛ Γସ͑Δ
SBDLNJEEMFXBSF ͪ͜ΒͰͲͷεΩʔϚʹ ΞΫηεͯ͠Δ͔ҙࣝ͠ͳ͍
BQBSUNFOUHFNΛ͏ w ΧϥϜՃɺมߋͳͲͷECNJHSBUFશεΩʔϚʹద༻ ͢Δඞཁ͕͋Δɻ w ͜ΕBQBSUNFOUHFN͕ࣗಈతʹશεΩʔϚʹద༻͠ ͯ͘ΕΔɻ w ςφϯτ͕૿͑Ε૿͑Δ΄ͲECNJHSBUFʹ͕࣌ؒ
͔͔ͬͯ͠·͏ʢαʔϏεఀࢭ͕࣌ؒ͘ͳΔʣ w BQBSUNFOUHFNͷ࠷ۙͷΞοϓσʔτͰECNJHSBUF͕ ฒྻ࣮ߦͰ͖ΔΑ͏ʹͳͬͨɻ
BQBSUNFOUHFNΛ͏ w ܦݧతʹֶΜͩ͜ͱ w ΠϯσοΫεՃɺΧϥϜআͳͲɺαʔϏεՔಇத Ͱ࣮ߦՄೳͳͷECNJHSBUFͷதͰ͠ͳ͍Α ͏ʹ͢ΔʢαʔϏεఀࢭΛͰ͖Δ͚ͩগͳ͘ʣ w ͨͩ͠ECTDIFNBSCΕͳ͍Α͏ʹߋ৽͓ͯ͘͠
w ςφϯτ͕৽ن࡞͞ΕͨࡍʹɺECTDIFNBSC Λͱʹςʔϒϧ͕࡞ΒΕΔͨΊ
·ͱΊ w ##ͷ4BB4ܕαʔϏεʹϚϧνςφϯτܕΞϓϦ w ·ͣσʔλͷํࣜɺ63-ઃܭΛߟ͑Α͏ w BQBSUNFOUHFNศར w λΠτϧʮ3BJMTͰ࡞Δɾɾʯ͚ͩͬͨͲ3BJMTͷ Ͱͯ͜ͳ͔ͬͨ
ʮ3FMBUJPOʯར༻ٕज़ w "84 &OHJOF:BSE w 4 424 -BNCEB w
3VCZ 1FSM /PEF+4 1ZUIPO (P w 3BJMT "OHVMBS+4 w &MBTUJDTFBSDI w 1PTUHSF42- 3FEJT .FNDBDIFE
ΠϯήʔδͰ ΤϯδχΞΛืू͍ͯ͠·͢ !32