Multi-site setup or separate sites using CAS (or other centralized authorization)?

nirad - May 14, 2009 - 23:44

I am creating a network of websites that are geographically based, with one for each major city in the US (I am starting with 4 and plan to have ~30 eventually). Since each site is city-specific, there is no overlap of content between the sites. The sites will more-or-less work identically, but with slightly different themes (name & logo, colors) and a neighborhood taxonomy vocabulary specific to each city. I would like to allow users from one site to sign on to the others with their user ID (if they are traveling or they move or they are just curious). At some point in the future I may also create some related topical sites that are not geographically-based, and having some kind of centralized authentication solution from the beginning will make that much easier.

I am trying to decide between doing this as a multi-site setup with each site having it's own domain (using Domain Access), or just doing them each as a separate Drupal installation, and then using a service like CAS to allow users to sign-in across sites. Alternatives to CAS include Pubcookie, LDAP integration(a strange choice for a consumer-oriented site?) and CoSign.

Some criteria:

1) Upgrading & maintenance: This would seem to be easier as a multi-site setup, since I wouldn't have to install every Drupal and module update individually for each site. OTOH, if a problem occurs with a mult-site setup everything goes down. Also, with separate sites, it's easier to test out a new feature on one site before deploying it on all the sites.

2) Compatibility with contributed modules: Are there any known problems with multi-site setups and commonly used contributed modules? I can test a multi setup with the modules I'm using now, but I don't want to find out later that I can't add something because it isn't compatible. I'm especially concerned about modules that optimize...

3) Performance: This is a big one. I hope to have around a million or more page views per month for the whole network of sites. If it wasn't for this concern, I'd probably go the multi-site route and not look back (especially given the Domain Access package's very relevant Geolocation module). But I think having separate databases is going to give me a lot more flexibility and speed if/when I need to move to multiple servers.

4) Persistent Login: This would be a nice feature to have, so users don't have to sign-in to other sites in the network separately. But it's not strictly necessary (could be outweighed by other criteria)

Has anyone out there in Drupal-land had to make a similar decision? I'd love to hear thoughts from experienced developers who have done similar projects. I have read some of the case studies for mult-site setups, but most of those seem to share more information between sites, so perhaps I just need to choose a centralized authentication method.

Similar situation, shared content

nonsie - May 28, 2009 - 17:41

I'm currently maintaining a site with similar setup except most of the content is shared between subdomains - http://www.thebeehive.org. Each subdomain is a geographical location (state, city, county, neighborhood). We went with Domain Access because of the shared content aspect as well as sharing users across domains. This makes switching sites and administration much easier. There's only one database to maintain and content that is published on a single subdomain can easily be either shared or duplicated/modified for another subdomain.
It gets a bit more complex when you have different languages per subdomain.

-------------------------------------------------
the original net baby

I think the deciding factor

stodge - May 28, 2009 - 17:47

I think the deciding factor might be whether you want sites to share databases or not.

 
 

Drupal is a registered trademark of Dries Buytaert.