Drupal MultiSites are great, at least they initially sound great:
Managing hundreds or even thousands of Drupal sites from one single repository, with the capability to upgrade all sites at once to new Core or Module versions sounds like a security and management heaven.
Unfortunately anybody that ever has ran any decent amount of Drupal MultiSites knows, that this heaven can turn into hell fast:
- If one single site has a problem and needs a code rollback, all sites need to be rolled back as well
- If the upgrade is quite big an involves a database upgrade, all sites need to run this database upgrade. With multiple hundreds of sites, this can generate a huge resource burden on the database, sometimes causing outages
- Installing a module for one site might it available for all sites
- There is no simple way to have development environments for a single Drupal MultiSites
- Local development is very hard and cumbersome
In this talk I will present an alternative to Drupal MultiSites and our experience with it:
With modern container systems we have the capability to create so called "Base-Images" of containers: Allowing a centralized team to control which Drupal Core Version and Module is installed, while still giving developers of the individual sites the flexibility of adding modules and themes without interfering with other sites.
This talk will cover:
- What are Base Images for MultiSites and how are they used
- How Base Images allow for less downtime deployments and individual site rollbacks if needed
- How each individual sites can have development environments that are independent of the whole MultiSite installation
- How Local Development suddenly is a breeze
None of this is just a technical idea or proof of concept, today hundreds of websites (Governments and Enterprises) use this Base Image system and I'm gonna share their experiences with the Base Image Systems as well.