Jam stack

Die Entwicklung des World Wide Web

Teil 2/3: CMS-Lösungen in 2019: Headless, JAMstack, ReactJS

Wie wir in Teil 1 (Security & Speed als wesentliche Faktoren für den Erfolg Ihrer Website) bereits festgestellt haben, weisen bis heute zahlreiche Websites erhebliche Sicherheitslücken auf. 30,95 % der mit WordPress betriebenen Websites aus der „Top 1 Millionen Sites”-Liste sind gefährdet. Offensichtlich ist es immer noch eine besonders große Herausforderung, zuverlässige und schnelle Websites zu entwickeln.

Um zu verstehen, wie es soweit kommen konnte, müssen wir auf die Entwicklung des World Wide Web zurückblicken. Im August 1991 hat Tim Berners-Lee die erste Homepage ins Netz gestellt. Die Auslieferung dieser Website beruhte auf einem relativ einfachen Paradigma: Es gibt einen Browser, mit dem eine statische Datei von einem Server geladen werden konnte. Das ist eine relativ überschaubare Architektur. Natürlich wurden die Begehrlichkeiten mit der Zeit immer größer.

Websites sollten dynamisch sein, Inhalte sich also beispielsweise am Standort des Besuchers oder an der im Browser eingestellten Sprache orientieren. Infolgedessen entwickelte sich die Idee, Programme auszuführen, die die Inhalte erzeugen. Damit wurde es möglich, dynamische Seiten zu bauen. Dieses Muster hat sich bis heute gehalten: Der Browser greift auf einen Server zu, auf dem ein Programm läuft, das Daten dynamisch generiert. Das ist das Verfahren, mit dem wir seit den 2000er Jahren Webseiten bauen. Das Problem hierbei lag lange darin, dass die Seiten bei jedem einzelnen Abruf erneut komplett ausgerechnet werden mussten, was bei vielen gleichzeitigen Besuchern aufgrund der begrenzten Rechenleistung schnell zu Ausfällen führen konnte. Die Lösung war zunächst, generierte Seiten in einem Cache zwischenzuspeichern, sodass sie bei neuen Abrufen sofort ausgeliefert werden können. Nichtsdestoweniger kommen immer noch alle Daten von einem Server. Von Frankfurt nach Hamburg funktioniert dies auch einwandfrei, nach Australien jedoch nicht. In unserer exportorientierten Wirtschaft ist es allerdings besonders wichtig geworden, Daten weltweit schnell auf alle möglichen Arten von Endgeräten übermitteln zu können. Hier kommen Content Delivery Networks (CDN) ins Spiel. In ihnen werden Daten, Bilder und Videos abgelegt, damit diese nicht nur lokal gecacht werden, sondern auch weltweit schnell verfügbar sind. Mit einem CDN wird eine Website global performant. Natürlich müssen nun auch diese Daten geupdatet werden, sobald sich irgendetwas im CMS ändert. Als die ersten Content-Management-Systeme wie WordPress, Drupal oder TYPO3 erschienen, versuchten sie, den Vorgang der Synchronisation soweit wie möglich zu automatisieren. Als dann Plugins zur Erweiterung des Funktionsumfangs eingeführt wurden, wurde diese ohnehin schon schwierige Technologie noch komplizierter zu handhaben.

Irgendwann wurde allerdings erkennbar, dass ein Cache alleine nicht ausreicht, um viele Website-Besucher gleichzeitig zu bedienen, wonach dann die Datenbankreplikation zum Einsatz kam. Bei der Datenbankreplikation geht es darum, zwei oder mehr Datenbanken miteinander kommunizieren zu lassen. Fällt eine aus, kann eine andere Datenbank übernehmen. So wird ein Single-point-of-Failure vermieden. Damit ist es allerdings noch nicht getan. Das Scaling kümmert sich mit mehreren Servern und Load Balancern darum, die Requests zu verteilen. Das gesamte Setup, inklusive der unabdingbaren Firewall, erfordert stetiges Monitoring und zeitnahes Einspielen von Security Updates. Es muss zudem sichergestellt werden, dass die Caches untereinander konsistent sind und im CMS Backups gemacht werden. Auch für Plugins müssen Security Updates eingespielt und Tests im Staging durchgeführt werden, bevor endlich deployt werden kann. Natürlich muss die Datenbank gesichert, getunt und gegebenenfalls migriert und geupdatet werden. Erst nach diesen zahlreichen Schritten läuft die Website. Und das ist genau der Grund, aus dem viele Websites auch heute noch ausfallen, zu langsam oder leicht angreifbar sind. Bis zu diesem Zeitpunkt des Aufsetzens dieser höchst komplexen Architektur wurde noch kein einziges Byte Content ausgeliefert. Das alles ist erst einmal nur die notwendige Voraussetzung dafür, eine Webseite überhaupt anbieten zu können. Das Problem ist also, dass wir bereits seit 15 Jahren dasselbe unsichere und aufwändige Muster nutzen. Sites werden gehackt, die Performance ist schlecht, und der Betreiber muss eine gewaltige Infrastruktur aufbauen, um überhaupt die erste Seite auszuliefern. Darüber hinaus kommen im Frontend und Backend unterschiedliche Technologien zum Einsatz, was die Administrierbarkeit des gesamten Apparats deutlich erschwert. In Teil 3 stellen wir Ihnen die vielversprechendsten Ansätze für Frontend, Backend und Content-Management-Systeme vor.

Hier gehts zu Thomas' Vortrag auf der OMR 2019.

Scrivito CMS: der Content-Hub für Ihre Websites und Apps

Scrivito CMS ist unsere komplette Unternehmenslösung für Digital-Experience-Plattformen, Websites und Webanwendungen der nächsten Generation. Als Software as a Service benötigt Scrivito keine IT-Wartung. Das Content-Management-System ist äußerst flexibel und erfüllt höchste Sicherheitsstandards.