On Oct 16, 7:09 pm, Savy <satelin2...@gmail.com> wrote: > Hi Djangonauts, > > I am developing a Django project (with a few pluggable apps). > > I want to offer this project as a SaaS (something like 37signals.com). > > i.e: customer1.product1.com , customer2.product2.com etc > > product1 could be the basecamp product2 could be highrise and so on. > > I want to know how the project should be structured for these > products. > > Should there be a single project under which all products will be an > application. ---- OR ---- Should I be making different projects for > all the products. > > Also interms of database.. should all the products look into a single > database or we should have seperate databases for each product. > > I am looking out for the most efficient and scalable way to do this. > > Thanks
Of course, it depends on the characteristics of your system and your infrastructure, also on if you'll be allowing customization on a per- client basis. But the easiest way to manage this kind of service is having just one Django project, and having your applications be client- aware. In my case, we develop a SaaS for real state companies, and setting up per-client domains (yourname.domain.com), validating uniqueness, and some other things are way easier serving the Django project at the root URL than would be otherwise. But in our case, clients still share some information between themselves On scalability, you can always cache (and Django provides great hook for caching query or processed/template data), add a DB cluster, and on the extreme case, work with database sharding (still hard to do with Django, but look forward to Multi-DB support). About security, having your data compromised for one client or all clients is still the same: a security problem, that may get you sued. As most security issues are reproducible, it doesn't really matter on how many databases you scattered the information; I would worry more about implementing good security policies. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---