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自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
1k
マルチアカウント環境における組織ポリシーについて まとめてみる
nrinetcom
PRO
2
110
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
開発者のための FinOps/FinOps for Engineers
oracle4engineer
PRO
2
260
手を動かしてレベルアップしよう!
maruto
0
250
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
350
AIエージェント入門
minorun365
PRO
33
20k
リクルートのエンジニア組織を下支えする 新卒の育成の仕組み
recruitengineers
PRO
2
180
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
3
140
事業モメンタムを生み出すプロダクト開発
macchiitaka
0
110
Охота на косуль у древних
ashapiro
0
130
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
590
Featured
See All Featured
Facilitating Awesome Meetings
lara
53
6.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Documentation Writing (for coders)
carmenintech
68
4.6k
Designing Experiences People Love
moore
140
23k
Typedesign – Prime Four
hannesfritz
41
2.5k
Code Review Best Practice
trishagee
67
18k
Building Your Own Lightsaber
phodgson
104
6.2k
Adopting Sorbet at Scale
ufuk
75
9.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Bash Introduction
62gerente
611
210k
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