Multisite CMS vs mehrere Websites - Pros und Cons

Knowledge Base

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

Wenn Unternehmen mehrere Websites betreiben, haben diese typischerweise ein unterschiedliches Design und unterschiedliche Funktionen.

Multisite

In einem Multisite-Set-up ist es schwieriger an Änderungen zu arbeiten, die nur einige der Websites betreffen, da die Änderungen auf eine einzige Serverinstanz ausgerollt werden. Das macht die Entwicklung und das Testen schwieriger.

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

Beim Betrieb vieler Websites haben diese meist unterschiedliche Stakeholder und Anforderungen. Oft ist es wichtig, die Websites entsprechend dieser Anforderungen individualisieren zu können.

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.

Ähnliche Artikel

Transgourmet - Multi-site solution

Transgourmet's corporate websites and microsites were previously implemented and maintained by different teams using different CMS solutions. For a homogeneous brand experience, it was necessary to use a technical style guide. In this case study you can find out how we worked with Transgourmet to solve this problem with them.

Read more

1xDXP - Digital Experience Platform (DXP)

1xDXP the enterprise digital experience platform (DXP) for all your digital properties.

This solution is the foundation for all our web projects.

Read more

 

Headless applications with Drupal and React in 2020

Last year we launched more than 20 new webprojects based on Drupal 8 and/or React. Most of the projects have one thing in common: they combine standard Drupal server-side rendering with client side React applications. 

Read more

DrupalCon 2019 session: Decoupled Drupal Commerce with React Native

This years DrupalCon in Seattle was again a great experience. It was the biggest DrupalCon in terms of number of attendees.

This blogpost is about Drupal Commerce with React Native

Read more