How to choose the right Drupal multisite platform for your company?
Why A Multisite Platform?
When your organization has multiple websites online, it might be worth considering a multisite platform.
What do you gain from a multisite platform? You can group the efforts of different projects.
- This enables you to reuse the custom development from one site on others.
- You can also shorten the startup process of analyses and the project by working with one party instead of many different ones.
- Your people can use a fixed system for content management instead of a jumble of different systems.
- You can also reuse styles & templating on all your sites.
- Maintenance of all these websites doesn't need to be hosted on different systems either.
- They no longer need to be hosted by different teams.
- On an oraganizational level you can move workloads within your organization by having different services deal with the maintenance of your complete web representation.
In short: you can save a lot of money when you see the long term value of a multisite platform. The more websites you have, the more you can profit of a cost reduction.
Who Preceded You?
There are famous examples in Belgium regarding the use of multisite platforms.
http://cooldrops.be, a KMO website provider who uses a multisite platform in order to service the websites of all its customers. Customers benefit form an integrated approach whereby all the sites are centrally maintained, and of updates that are made for the entire system.
http://stedelijkonderwijs.be ensured that roughly 200 schools got their own website within one platform, which is maintained by one party. They eliminated the individual costs for schools to build their own websites by building one platform on which the functionality only needed to get build once and was reused 200 times. In the past the functionality was developed per site, over and over again. The team that maintains the site can let the schools do their own content management.
Why drupal For A multisite platform?
Drupal is extremely suitable fo ra series of multisite platforms. Because Drupal is Open Source software, you don't have to pay for the amount of installations. There are no license fees. Therefore you don't have to calculate how many sites you would like to generate. The brilliance of Drupal is that you only have the code developed once and you can keep reusing it as many times as you like.
Drupal has a modular structure that enables it to upgrade all sites simultaneously on the platform. It's also possible to simultaneously upgrade seperate components.
Drupal has a tradition to be installed as a multisite. Ever since early versions of Durpal had a multisite installer that enabled people to run multiple sites on shared hosting using only one Drupal codebase.
What To Look For When Choosing A Multisite Platform?
There are 5 criteria for choosing a multisite platform.
- Maintenance of code base
- Maintenance of the database
- Sharing content and users on sites
- Adminstration per site
- Custom coding possibities per site
Each of these five criteria has a different solution.
Domain access is a solution based on the use of the domain access module. It's an approach whereby you host multiple sites form one code base, one database and which requires one admin. It's the most basic form of multisite that's available.
Who Uses Domain Access For Multisite?
It's mainly used for multisites that don't differ a great deal from each other.
An example would be a firm that sells wine and would like a separate site for every type of wine, e.g.:
These sites contain a lot of the same functionality and content.
These sites are managed by one admin.
- Ability to have one admin maintain all content of all websites.
- There's a pretty tight limit on how much you can customize per subsite. This is partly because it has one codebase and one database.
- Custom design and theming is possible.
- One database and one codebase = easy maintenance.
- Users and content can be shared between subsites.
- You can have more than one URL.
- Single Sign On is possible.
Organic Groups Spaces Features
This setup is slightly more complex but also more powerful. Similar to domain access you have one code base and one database, but you can have a multisite system that enables every site to have its own role and permission system. This enables you to have the content of the different websites maintained by different services or divisions within your company or organization.
Who Uses This?
For example an educational insitution, that has 200 school websites, but wants to enable each school to maintain their own website.
An organization that has several services all of which want to represent themselves independently online. Every service can use the common functionality to create own content and manage users.
- Ability to configure an administrator and a role/permission system per subsite.
- Custom code per site possible within limits, because it still only contains one codebase.
- Custom theming and design per subsite is possible.
- There is only one database and codebase, so maintenance is easy.
- Users and content are shared when necessary.
- It can carry more than one URL.
- Single Sign on is possible.
In this case we're talking about a common code base, but seperate Drupal installations (different databases).
Who Uses This?
This is used when people want to be able to control every installation, and the configuration is very different form other subsites. A central installation profile is used whereby a couple standard functionalities can be enabled. This setup requires much more maintenance and is only possible when the differences between subsites are significant enough.
- Different databases.
- One code base.
- Possibility for meerdere URLs.
- Different accounts per site.
- Users and content are not shared by default. There are possibilities to share anyways.
- SSO possible.
- Custom code is possible per site but there are limits regarding development setup and maintenance, and it's not recommended.
- Maintenance is harder due to the many databases and a system for automation is advisable.
- Custom theming/design possible.
- It's hard to setup Dev-Staging-Live during development on each website.
Aegir (Advanced Multi Site)
This offers the same regarding multisite as above, but there's a system available to automate all the maintenance and installation. You can use multiple installation profiles. Additionally it's possible to start maintaining multiple platforms spread over multiple servers (multiserver).
Who Uses This?
Parties that run one or more different multisite setups. It usually involves more than 10 different websites.
An example is an organization that has a multisite aegir for all its products. Every product gets its own installation but the layout and functionality afterwards might be slightly different. Moreover this same organization can also have a platform to showcase all its services.
Features Surplus To Multisite
Very difficult setup of staging workflow, because the platform contains all the code of all the projects.
This system automates a lot of tasks: migrating, updating, backups, ...
An aegir can deploy multiple install profiles.
By working with platforms for many years, Dropsolid has also created its own platform with the big advantage, on top of all the other platforms, that you can custom develop on each site seperately without interfering with other sites.
Who Uses This?
Organizations that have their own development team that can develop on their Drupal sites and that wants to reuse functionality. They can get access to the Dropsolid Shared platform where they can develop and deploy code for each site. They have everything under control. Every letter code, every deploy, every commit and every data transfer.
Since every site has its own setup, you can deploy very similar code, but when necessary also custom build everything. And everything can still be maintained by a central system. You can work independently from other sites in the multisite.
You learn to work on Drupal standards and learn to deploy code driven. You control your projects and reuse code to it's fullest extent.
- Different database per site. The maintenance is eliminated by the automated system.
- Different codebase per site. The maintenance is eliminated by the automated system.
- Different repository per site. The maintenance is eliminated by the automated system.
- Different deployment pipeline per site. However, the maintenance is eliminated by the automated system. It's possible to develop independently from the repository code driven on each site.
- Custom code unlimited freedom.
- Multiple environments possible per site. So dev, staging, live and more are possible on each site in the multisite structure.
- All maintenance related tasks taken like cron, backups, updates, monitoring are executed by the central system.
- SSO possible.
- More than one URL possible.
- No shared content. Web services for data exchange are possible.
- No users content. Web services for data exchange are possible.
- Multiserver support
What To Look For When Choosing A Multisite Platform Provider?
A multisite provider needs to comply with a number of things.
- The have to be able to prove that they've build several platforms. This is not easy to do. It all looks very simple, but the complexity of a multisite project should not be underestimated.
- Make sure the provider knows how his platform should be hosted. People usually have several servers and it's not always easy to set this up.
- Make sure the provider has sufficient Durpal knowledge for further development on your platform.
Multisite systems are the cost-effective solution for companies with lots of sites. When you're not already using it, you should start considering doing so. Thing about it can't hurt and it doesn't need to get complicated. Hopefully this post taught you something about the possibilities regarding multisite and are you aware of what your organization could gain by its use.