Multisite CMS vs mehrere Websites - Pros und Cons

Mehrere Websites können mit einer einzelnen Multisite-Instanz oder mit mehreren Website-Instanzen angelegt werden. Beide Ansätze sind technologisch unterschiedlich und haben Vor- und Nachteile. In diesem Artikel liefern wir einen Vergleich, so dass Entscheidungsträger eine fundierte Handlungsgrundlage besitzen, wie mehrere Webseiten am besten betrieben werden können. Der Vergleich gilt für Drupal, Wordpress, Typo3 und alle anderen CMS-Systeme, die eine Multisite-Funktion anbieten.
Technologische Unterschiede zwischen Multisite und mehreren Websites
Viele CMS-Systeme bieten eine Multisite-Funktionalität. Bekannte Open-Source-CMS-Systeme, die diese Funktion anbieten, sind:
Die Idee hinter einer Multisite ist recht einfach: Es wird eine einzige CMS-Instanz installiert, um Inhalte für verschiedene Domain-URLs bereitzustellen.
Alle Websites werden mit demselben Quellcode in derselben Installation betrieben. Um den Inhalt voneinander zu trennen, verwenden alle Websites separate Datenbanken oder besitzen separate Tabellen in derselben Datenbank. Für hochgeladene Dateien haben alle Websites getrennte Ordner.
Das CMS ist so konfiguriert, dass es eine andere Datenbank und einen anderen Datei-Ordner verwendet basierend auf der URL jeder Anfrage. Die folgende Grafik zeigt ein typisches Set-up des Mechanismus.

Die Alternative zur Multisite ist der Betrieb mehrerer Website-Instanzen, die den gleichen Quellcode verwenden. Dabei werden alle Websites einzeln installiert, nur der Quellcode des CMS ist der gleiche. Dieser Ansatz wird auch als Website-Flottenmanagement bezeichnet.
In den meisten modernen CMS-Systemen werden Code-Abhängigkeiten mit Paketmanagern verwaltet. Drupal und Typo3 verwenden dafür Composer. In so einem Setup wird auch der Quellcode des CMS als Abhängigkeit installiert. Da der gesamte Quellcode automatisch gezogen wird, spielt es keine Rolle ob dieser auf einem oder mehreren Webservern installiert wird.
Der Betrieb mehrerer Websites ist ein neuerer und modernerer Ansatz. Die Logik der Trennung von Websites wird in der Hostingumgebung (mit Routing-Anfragen an separate Instanzen) und nicht in der Anwendung (dem CMS) behandelt.
Ein typisches Setup mit mehreren Webseites ist in der Grafik unten dargestellt.

Beide Ansätze haben Vor- und Nachteile, die wir in den folgenden Abschnitten analysieren werden.
Einfache Wartung und Updates
Multisite
Das Aktualisieren einer Multisite-Instanz unterscheidet sich nicht vom Aktualisieren einer Einzelinstanz. Der neue Quellcode wird bereitgestellt, und die Update-Skripte werden ausgeführt.
Wenn jedoch sehr viele Websites in einer Multisite-Instanz aktualisiert werden, kann dies zu langen Ausfallzeiten führen. Beispiel: Wenn die Ausführung eines Update-Skripts für eine Website 1-4 Minuten dauert und diese Skripte nicht parallel ausgeführt werden können, dauert die Aktualisierung von 90 Websites zwischen 1,5 und 4 Stunden. Dies kann nur mit einer leistungsfähigen Infrastruktur überwunden werden.
Mehrere Websites
Für einzelne Website-Instanzen sind die Ausfallzeiten nur so lang, wie das Update der einzelnen Websites dauert, da sie unabhängig voneinander aktualisiert werden können. Wenn jedoch eine große Anzahl von Websites aktualisiert werden, müssen Verfahren erstellt werden, um den Prozess zu automatisieren. Das erfordert Know-How im Bereich Devops.
Risiko von Updates
Multisite
Eine Multisite-Instanz birgt ein höheres Risiko bei Aktualisierungen. Wenn ein Update fehlschlägt, müssen alle Updates zurückgerollt werden, da die Websites nicht auf verschiedenen Versionen des Quellcodes laufen können.
Mehrere Websites
Für mehrere einzelne Website-Instanzen besteht dieses Risiko nicht, da einzelne Websites zurückgerollt werden können und mit dem vorherigen Quellcode laufen können.
Erstellen neuer Websites benötigt Zeit
Multisite
In einem Multisite-Set-up werden neue Websites durch Hinzufügen einer neuen Datenbank und eines Dateiordners erstellt. Dies ist ein einfacher Vorgang, der sogar manuell durchgeführt werden kann.
Mehrere Websites
Bei einzelnen Website Instanzen muss eine neue Umgebung erstellt werden, in der die neue Website installiert wird. Dies erfordert, dass neue Umgebungen schnell erstellt und automatisiert provisioniert werden können. Auch hier sind Devops-Kenntnisse erforderlich.
Anforderungen an die Infrastruktur
Multisite
Für ein Multisite-Set-up wird eine einzelne Serverinstanz benötigt. Diese ist einfach einzurichten und zu betreiben.
Mehrere Websites
Der Betrieb mehrerer Website Instanzen erfordert hingegen, dass für jede Website eine neue Umgebungen erstellt werden kann.
Skalierbarkeit
Multisite
In einem Multisite-Set-up können die Websites nicht einzeln skaliert werden. Die gesamte Infrastruktur muss entsprechend der Gesamtlast skaliert werden. Läuft das Setup auf einem einzelnen Server ist die Skalierung durch die verfügbare Hardware begrenzt.
Mehrere Websites
Bei einzelnen Website Instanzen kann jede Instanz einzeln skaliert und sogar in eine leistungsfähigere Umgebung verschoben werden. Dies ist ein häufiges Szenario, da oft nur einige wenige Websites viel Traffic besitzen, während die meisten anderen nur wenig haben.
Einfachheit der Weiterentwicklung
Multisite
In a multisite setup it is harder to work on changes that only affect some of the websites, because the changes are rolled out to a single server instance. This makes development and testing harder.
Mehrere Websites
Bei einem Multi-Site Management System ist dies viel einfacher, da neue Funktionen auf einige Websites ausgerollt werden können und auf andere nicht.
Individualisierung von Websites
Mehrere Webseiten
Bei einzelnen Website Instanzen ist die Erweiterung des Quellcodes ein Standardverfahren, das auf Umgebungsebene gehandhabt wird (entweder wird der Quellcode hinzugefügt oder nicht).
Multisite
In einem Multisite-Set-up wird der Quellcode für alle Websites installiert und die Verfügbarkeit wird von der Anwendung (dem CMS) gehandhabt. Dies erfordert Expertenwissen.
Fazit
Wenn die wichtigsten Faktoren Zeit und Einfachheit, dann kann ein Multisite-Ansatz eine gute Option sein. Unserer Erfahrung nach kann die manuelle Erstellung einer neuen Drupal-Multisite-Website in etwa 1 Stunde erledigt werden.
Wenn moderne Hosting-Möglichkeiten und Devops vorhanden sind, kann es besser sein, Websites in mehrere Instanzen aufzuteilen. Allerdings kann die manuelle Bereitstellung einer neuen Umgebung nach unserer Erfahrung mehrere Stunden dauern.
Mit modernem Devops, Containern und "Infrastructure as Code" kann die Einrichtungszeit für ein Multi-Site Management System gleich oder niedriger sein als für einen manuellen Multisite-Ansatz. Natürlich kann dies auch automatisiert werden. Daher können mit professionellem Hosting die gleichen Bereitstellungszeiten erreicht werden.
Wenn die Einfachheit der Entwicklung wichtig ist, ist der Betrieb verschiedener Websites besser. Einige unserer Kunden haben viele Websites und unterschiedliche Teams, die diese betreuen. Die Orchestrierung eines solchen Szenarios ist mit einzelnen Websites einfacher.
Wenn kurze Ausfallzeiten wichtig sind, ist es meist besser, viele Websites in einzelne Instanzen aufzuteilen. Dann zählt nur die Downtime der einzelnen Websites und nicht die Summe aller Downtimes.
Wenn die Individualisierung einzelner Websites wichtig ist oder unterschiedliche Teams an den Websites arbeiten sollen, ist es besser, mit einzelnen Websites zu arbeiten.
Weitere Highlights
Warum der Aufbau eines vorkonfigurierten Drupal CMS eine sinnvolle Investition ist

Drupal ist ein CMS mit umfangreichen Anpassungsmöglichkeiten. Aufgrund der umfangreichen...
Der MVP-Ansatz für Webprojekte

Bei 1xINTERNET verwenden wir den MVP-Ansatz (Minimum Viable Product), um erfolgreiche Webprojekte zu...