運用中の Rails アプリをマルチテナント対応して新規サービスをリリースするまでの道のり
by
Yuta Takahashi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Rails 2 022 . 8 . 2 5 Thu toB
Slide 2
Slide 2 text
yt-tkhs yt_hizi Android 2021 7 Flutter / Rails
Slide 3
Slide 3 text
: atohama SaaS
Slide 4
Slide 4 text
UUUO atohama 1 Rails ߪೖऀ༻ΞϓϦ ग़༻ΞϓϦ ߪೖऀ༻ΞϓϦ αʔόʔ
Slide 5
Slide 5 text
( )
Slide 6
Slide 6 text
: https://d 1 .awsstatic.com/whitepapers/ja_JP/saas-tenant-isolation-strategies.pdf
Slide 7
Slide 7 text
: https://d 1 .awsstatic.com/whitepapers/ja_JP/saas-tenant-isolation-strategies.pdf
Slide 8
Slide 8 text
citusdata/activerecord-multi-tenant gem User.all SELECT * FROM users; SELECT * FROM users WHERE tenant_id = 1;
Slide 9
Slide 9 text
⾒ ID (Push )
Slide 10
Slide 10 text
ID (Push )
Slide 11
Slide 11 text
ID class Organization UUUO_ID = 1.freeze def uuuo? id == UUUO_ID end end
Slide 12
Slide 12 text
ID :
Slide 13
Slide 13 text
( ) ( ) ( )
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
( )
Slide 16
Slide 16 text
Before 1 . 2 . 1 . 2 . 3 . After
Slide 17
Slide 17 text
Before 1 . 2 . 1 . 2 . 3 . After
Slide 18
Slide 18 text
class Organization def tenant_owner? id == tenant.owner_organization_id end def tenant_admin? is_admin end end
Slide 19
Slide 19 text
class Organization def tenant_owner? id == tenant.owner_organization_id end def tenant_admin? is_admin end end ID
Slide 20
Slide 20 text
class Organization def tenant_owner? id == tenant.owner_organization_id end def tenant_admin? is_admin end end
Slide 21
Slide 21 text
: ID
Slide 22
Slide 22 text
ID ID UUUO atohama ߪೖऀ༻ΞϓϦ ग़༻ΞϓϦ ߪೖऀ༻ΞϓϦ αʔόʔ
Slide 23
Slide 23 text
ID Push ID Push UUUO jp.uuuo.maehama jp.uuuo.atohama A jp.uuuo.atohama.xxx
Slide 24
Slide 24 text
ID ID ( DB ) ID
Slide 25
Slide 25 text
ID : ID ⾒
Slide 26
Slide 26 text
⾒ ID (Push )
Slide 27
Slide 27 text
No content
Slide 28
Slide 28 text
citusdata/activerecord-multi-tenant
Slide 29
Slide 29 text
Thank you! microsoft/fluentui-emoji: https://github.com/microsoft/fluentui-emoji/blob/main/LICENSE