Eine JAMStack-Website ist ein Bergriff für die Architektur zur Erstellung von Websites. Was der JAMStack genau ist, erfährst Du in unserem Blogartikel „Was ist JAMStack? Die neue Architektur für Websites“. Wo liegen aber die Vorteile darin eine Website im JAMStack zu bauen und was hast Du als Kunde davon?
Sicherheit und Wartung
Entlassung des Servers und fehlende Dynamik
Der JAMStack kennzeichnet sich dadurch, dass er die meisten dynamischen Teile und Systeme üblicher CMS-Websites entfernt und Seiten statisch ausliefert. Die Hosting-Infrastruktur wird entlastet, da der Server die Website nicht mehr verarbeiten muss. Er liefert die statischen HTML-Seiten einfach aus.
Da die Assets zudem nicht dynamisch sind und statisch auf dem Hosting-Server liegen, kann ein schreibgeschütztes Hosting eingesetzt werden. Dateien können deswegen nach dem Ablegen nicht mehr von außen verändert werden. Dieses Vorgehen macht JAMStack Seiten sehr robust gegenüber Angriffen, da sie gewissermaßen keine Angriffsfläche bieten, wie andere CMS-Websites mit Datenbank und dynamischer Seiten-Generierung.
Dynamik nur per Opt-in
Der statische Ansatz von JAMStack-Websites führt dazu, dass dynamische Bereiche der Website gewissermaßen per Opt-in eingebunden werden. Die Programmierung dieser Teilbereiche werden daher sehr minimalistisch gehalten und bringen ein hohes Maß an Sicherheit mit. Programmierer widmen diesen dynamischen Bereichen eine hohe Aufmerksamkeit und sollten sich hier an bewährte Vorgehensweisen halten, die die Systeme robust und sicher gestalten.
Sollte es dennoch zu einem Hack dieser Teilbereiche kommen, dann führt es nicht wie üblich zu einem Komplettausfall, sondern nur zum Ausfall dieses Teilbereichs. Die Website an sich bleibt bestehen.
Individualität und Desinteresse von Hackern
JAMStack Websites sind individuell programmiert. Hacker haben meist kein Interesse sich auf diese Websites zu stürzen, weil ein Hack viel Zeit kostet und die Ausbeute bei einer einzelnen Website sehr gering ist. Man kennt das Phänomen von der Vielzahl an WordPress Seiten. Diese leiden häufig an Angriffen, da ein Großteil der Websites auf dem System basieren. Sollte man hier eine Lücke finden, dann kann man deutlich größeren Schaden verursachen, als wenn man sich der Hacker nur auf eine einzelne individuelle Website konzentriert.
Updates und Sicherheitspatches
Bei JAMStack-Websites gibt es faktisch keine Sicherheitsupdates, da sie statisch sind. Eine reine statische Seite, ohne dynamischen Backend benötigt keine Pflege, da es nichts zum Pflegen gibt. Dieser Vorteil führt zudem dazu, dass eine Migration zu einem anderen Server sehr einfach ist. Man muss lediglich die statischen Dateien auf einen anderen Server ziehen, und der Umzug ist abgeschlossen. Das Migrieren von Konfigurationsdateien und SQL-Datenbanken gehört der Vergangenheit an.
Skalierung
Caching vs. Statik
Große Websites erfordern meist auch einen oder mehrere leistungsstarke Server. Um die Last der Neuberechnung der Unterseiten bei jedem Aufruf zu reduzieren, haben übliche Websites ein Caching-System eingebaut. So werden Unterseiten, die nicht neu berechnet werden müssen, als statische Datei abgelegt und diese wird dann ausgeliefert.
Der JAMStack-Ansatz dreht den Spieß hier um. Statt einem Caching-System werden alle Seiten direkt als statische Datei hinterlegt. Die Last der Verarbeitung wird einmal zentralisiert und ein Caching-System wird dadurch obsolet. Aufgrund dessen ist die Performance einer JAMStack Website immer von guter Qualität. Der Server wird entlastet und JAMStack-Websites können bei gleicher Größe auf einem deutlich kleinerem Server betrieben werden.
Mikroservices
Der minimalistische Ansatz von JAMStack-Websites bringt einen neuen Gedankenansatz mit: die Erweiterung der Website durch Microservices. Microservices sind kleine, eigenständige Funktionserweiterung der Website. „Klein“ ist aber in dem Kontext relativ. Von einem digitalen Terminkalender bis hin zu einem voll funktionsfähigen Online-Shop ist hier alles möglich. JAMStack-Websites können also klein geplant werden und sind zukunftssicher in der weiteren Entwicklung.
Performance
Aus persönlicher Erfahrung ist jedem bewusst, welchen großen Einfluss die Seitenladezeiten auf die Benutzererfahrung haben. Gerade bei Websites, die regelmäßig Sales generieren müssen, hat die Seitenladezeit einen direkten Einfluss auf die Conversion.
Der statische Ansatz von JAMStack-Websites sorgt dafür, dass die Websites immer schnell sind. Die Website steht immer zur Verfügung und es bedarf fast an keiner Verarbeitung beim Aufruf der Website, da sie schon final auf dem Server liegt. Paart man diesen Ansatz mit einem CDN (Content-Delivery-Netzwerk), so hat man eine hohe Erreichbarkeit bei geringen Kosten.
Auch Teilbereiche wie ein Online-Shop können dann durch ein Headless-System in die Website integriert werden. So können Produkte, Kategorien, Preise etc. einmal zentral aufgebaut werden und müssen nicht dynamisch geladen werden. Einen schnelleren Shop, als mit einer JAMStack-Website, ist nicht möglich.
Entwicklererfahrung
Entwicklungszeit und -kosten
Die Vorteile für Dich als Kunden für eine JAMStack-Site sollten nun offensichtlich sein. Aber ein weiterer Vorteil ist die Entwicklererfahrung. Der Entwickler ist Hauptverantwortlicher für die Funktionalität Deiner Website und wie einfacher die Entwicklung ist, umso besser auch das Ergebnis. Zum Glück macht die Entwicklung einer JAMStack-Website unheimlich viel Spaß und geht schnell von der Hand. Die Entwicklung einer JAMStack-Website benötigt zwar einen JavaScript-Entwickler, dieser ist in der Regel deutlich teurer, als ein Webdesigner, aber die Entwicklererfahrung verkürzt die Entwicklungszeiten enorm. Das heißt für Dich individuelle und angepasste Lösungen, bei gleichbleibenden Kosten.
Kein Tool-Lockin
JAMStack beschreibt nicht die Anwendung von bestimmten Tools, sondern nur die Architektur. JAMStack-Sites können mit einer Vielzahl von Tools erstellt werden. Sie sind nicht von proprietären Technologien oder exotischen und wenig bekannten Frameworks abhängig. Man ist frei in der Gestaltung der Tools und der Infrastruktur. Es ist nicht schwer, begeisterte und talentierte Entwickler zu finden, die über die richtigen Fähigkeiten verfügen, um mit dem JAMStack zu bauen. Effizienz und Effektivität können gedeihen.
Best Practice für JAMStack-Websites
Die Entwicklung von JAMStack-Websites wurde von erfahrenen Entwicklern so optimiert, dass bestimmte Techniken angewendet werden, die zwar keine Regel des JAMStacks sind, aber sehr wertvoll in der Kombination sind. Dazu gehören:
- CDN Hosting, da die Seiten statisch sind und die Performance dadurch erneut erhöht wird. Das Nutzererlebnis des Besuchers wird verbessert.
- Moderne Build-Tools wie Gatbsy und Next, die Babel, PostCSS, Webpack und viele andere Entwicklungs-Tools mitbringen. Sie verkürzen die Entwicklungszeit enorm, da sie moderne Entwicklungsmöglichkeiten bieten.
- Automatische Builds und CI/CD Pipelines, da die Generierung der Seiten eine sich ständig wiederholende Aufgabe wäre.
- Git Flow, um unterschiedliche Entwicklungszweige und Feature Updates zu erstellen.