12.02.2021

4 min

Blitzschnelle Apps und Webseiten dank JAMStack

content image

JAMStack steht für JavaScript, API und Markup Stack. Es ist eine revolutionäre Software-Architektur, welche in der Webentwicklung viel Anklang findet. Auch bei Authentiq setzen wir den JAMStack ein. Dadurch können wir für unsere Kundenprojekte mehr Performance, Sicherheit und eine bessere Skalierbarkeit gewährleisten.

author image

Mike Züger

Inhaber / Geschäftsführer Software Development und Design

Mehr Performance für Webanwendungen

Warum Geschwindigkeit ein wichtiger Bestandteil des Benutzererlebnisses ist, wurde im vergangenen Blogpost erklärt. In der folgenden Grafik wird der Unterschied zwischen einer klassischen Webanwendung und einer Umsetzung mittels JAMStack veranschaulicht:

content image

JAMStack vs klassische Webapplikationen

Klassische Webapplikationen nehmen jede einzelne Benutzeranfrage mittels Web Server entgegen. Dieser gibt den Aufruf weiter an den App Server, welcher mittels Datenbank- und CMS Abfragen eine Antwortseite generiert. Der Web Server leitet anschliessend die Antwort wieder dem Anwender zurück.

Aus der Grafik wird schnell ersichtlich, dass ein klassischer Webserver in der JAMStack Architektur fehlt. Jede Seite wird vorab mittels Static Site Generation (SSG) generiert und auf einem sogenannten Content Delivery Network (CDN) zur Auslieferung bereitgestellt. Benutzeranfragen müssen nicht mehr von einem Server verarbeitet werden, denn die angefragte Seite kann direkt ausgeliefert werden. Das spart viel Zeit.

CDN - Content Delivery Network

Ein weiterer, wichtiger Vorteil ist das Content Delivery Network. Im Gegensatz zum klassischen Webserver, welcher an nur einem Standort alle Anfragen entgegennimmt und beantwortet, sind CDN Server überall auf der Welt verteilt. So können Anfragen ortsunabhängig mit den schnellstmöglichen Reaktionszeiten beantwortet werden.

Sicherheit dank Microservices

Serverseitige Aufgaben werden mittels Microservices als API zur Verfügung gestellt. Bei JAMStack setzt man dabei auf Serverless, ein cloudnatives Entwicklungsmodell, bei welchem Entwickler ihre Anwendungen in der Cloud bereitstellen können. Provisionierung, Verwaltung, Aktualisierung und Skalierung der Serverinfrastruktur übernimmt der Cloud-Anbieter. Die Angriffsvektoren sind einiges kleiner, als bei herkömmlichen Webapplikationen mit vielen komplexen und exponierten Services und Servern.

Flexible Erweiterungen

Dank Microservices und entkoppelter API, bleibt man mit dem JAMStack flexibel und kann neue Anforderungen effizient umsetzen. Veraltete Teile, Bibliotheken oder Technologien können nach Belieben durch neue ausgetauscht werden, ohne dass eine komplette Überarbeitung der Webapplikation nötig ist.

Tools

Bei der Auswahl der richtigen Tools gibt es endlos viele Möglichkeiten. Wir setzen aktuell auf Next.js mit React für die Erstellung von statisch generierten Webanwendungen. Für Webseiten mit Inhaltsverwaltung kommt bei uns zusätzlich ein Headless CMS zum Einsatz. Für komplexere Web-Apps nutzen wir Firebase für Authentifizierung, Autorisierung, Daten- und Dateiablage. Die Geschäftslogik und die statisch generierten Seiten werden auf Vercel gehostet.

Fazit

Mittels JAMStack lassen sich durch den Einsatz modernster Technologien blitzschnelle und skalierbare Webapplikationen entwickeln. Sie bieten einige Vorteile gegenüber konventionellen Apps:

  • Mehr Geschwindigkeit durch die Bereitstellung von statisch generierten Seiten

  • Schnellere Reaktionszeiten durch die Auslieferung über ein globales Content Delivery Network

  • Mehr Sicherheit und einfachere Erweiterbarkeit dank entkoppelter Microservice Architektur und Serverless Cloud Hosting

  • Hohe Skalierbarkeit bei niedrigen Kosten