Thanks for the link, I didn't know the word 'multi-tenant', but it seems to 
be exactly what I'm trying to do.
I did some researches, and it seems that there are a lot of ways to 
implement it.

If someone has some experience about multi-tenant web application, could 
you share it? (how did you implement it, which difficulties did you 
encounter,...?).

Thanks!


Le mardi 13 octobre 2015 15:45:02 UTC+2, Jim S a écrit :
>
> This link to the book might help:
>
>
> http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer?search=multi-tenant
>
> -Jim
>
> On Tuesday, October 13, 2015 at 7:03:53 AM UTC-5, Jean-François Milants 
> wrote:
>>
>> Hi,
>>
>> I'm currently building a web-application based on web2py, and I would 
>> like some insights and advices about its architecture.
>> Please, if this forum is not the good place to ask this kind of question, 
>> just tell me. And if you could point me to some resources/communities that 
>> could help me, I would be grateful!
>>
>> Basically, my application will provide services to employees from 
>> company. Each employees from each company will have an account, and there 
>> will be different levels of accounts ('simple employee', coordinator, 
>> administrative staff,...).
>> I want the employees to be able to access (read/write according to its 
>> level account) only to the data of the company he belongs to, not from the 
>> other. For example, employee 1 from company A cannot see the profile from 
>> employee 10 from company B.
>> There won't be any link between users from different companies.
>>
>> But now, I'm thinking about the global architecture of the application. 
>> Here are some ideas:
>>  * 1 application with 1 DB : the DB contains everything, and the 
>> application must enforce the isolation of the employees in their own 
>> company. I think this is possible with Auth, and groups, memberships and 
>> permissions.
>>  * 1 application with multiple DB : 1 new DB is created for each company. 
>> But I don't know if one instance of web2py can handle multiple DB.
>>  * 1 instance of the application and 1 DB for each company: All the data 
>> from the companies are isolated from each other by design. This kind of 
>> architecture seems to perfectly fit Docker : one container per instance of 
>> the application.
>>
>> I think that these 3 architectures are possible and all of them have 
>> their own pros and cons. The first one is the first one I've thought about, 
>> it seems to be the most instinctive one. The last one is more isolated and 
>> more scalable, but I'm new to this kind of architecture.
>> And you'll certainly think about other possibilities.
>> Now, how do I choose the best architecture? Should I target first the 
>> speed of development of the first version of my application? Or should I 
>> think about the scalability as soon as possible? Other concerns? Is there 
>> an architecture that would fit better with web2py than another one?
>>
>> I don't want you to tell me which on to choose (it'll certainly depend on 
>> the number of users/companies, the load of the server, the size of the 
>> data,...) but can you give me some advices, ideas, thoughts based on 
>> your own experience in web-developpment? Or some link to online resources, 
>> books,...
>>
>> Thanks a lot for your help!
>>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to