4 ms·
At first pass, I'm impressed with the multi region/tenant built-in support. I take it that changing a region is as changing the table row key. I wonder though a
by jadbox 3y ago
At first pass, I'm impressed with the multi region/tenant built-in support. I take it that changing a region is as changing the table row key. I wonder though about this strategy strictly place user's data as an entry into the data store... what if my users travel a lot between regions? Is the best strategy that upon user login to update their region in all their related tables?
- gwen-shapira 3y agogreat point! If they travel a lot, you may want the data in one location (although it still depends, moving data is often faster than flying to a different region). Tenant placement is especially great if their location has data residency requirements. We discovered that companies with many EU customers need this.
- infra_dev 3y agoNile CEO here. Nile provides tenant virtualization. Each tenant has a group of users within them. Typically, you would choose one location for a tenant. This will be based on your customer location. This would mostly stay the same. The users in a company could travel, but the choice of region is usually decided by where the company is located. Yes, you would be able to change the location of a tenant and the data will be moved to a new region but this usually happens if there is a major decision about location in a company.
- jadbox 3y ago> This would mostly stay the same. The users in a company could travel, but the choice of region is usually decided by where the company is located. For most of my apps, I have very little idea on their region aside from their login IP origin, and we get a high level of multi-region travels (like conference organizers). I'd encourage you to transform the notion of a tenant transfers from a 'major decision' to 'assume users will/should switch to closest tenant login'. It looks like your platform already allows this move-tenant-on-login approach, but I'd love to see more docs and more tests around that use-case.
- infra_dev 3y agoCould you send me a note on ram@thenile.dev. Would love to understand your use case better.
- barnabask 3y agoHow interesting. Does that mean the same is true for deployment_mode? As in, assuming 'customer 2' was originally made 'dedicated', is this how we'd move them back to shared deployment mode? update tenants set deployment_mode = 'shared' where name = 'customer 2'; Does that mean some downtime or broken connections for that tenant while data is shuffled around?
- gwen-shapira 3y agoOur goal is to make it transparent. The architecture includes proxy layer that handles routing and maintains the connections, so we believe broken connections are avoidable.