Cookie

< zur Übersicht

06.10.2022
Technologien | Shopware
Sebastian Schreier| Senior Software Engineer

Die SaaS-Lösung der Shopware Cloud im Überblick

Auf dem Shopware Community Day 2020 kündigte Shopware ein neues Portfolio-Element an: die Shopware Cloud. Zu Beginn war sie in 3 Versionen verfügbar: "Free", "Advanced" und "Professional". Neben dem monatlichen Preis (0, 29 und 199 Euro) und der monatlichen Umsatzbeteiligung (3, 1.5 und 0.5 Prozent) unterschieden sich die Versionen auch funktional stark voneinander, zum Beispiel wieviel Verkaufskanäle möglich sind, ob Support angeboten wird oder welche von Shopware entwickelten Apps und somit Funktionen zur Verfügung stehen. Ende Februar 2022 gab Shopware bekannt, dass durch die Fokussierung auf ambitioniertere Shopkunden nur noch die Professional Cloud angeboten wird und die anderen beiden Versionen zum Jahresende eingestellt werden. Außerdem wurde in diesem Zuge die Professional Cloud in "Shopware SaaS" umbenannt. Nicht nur dies war für uns Grund genug, uns diesem Thema im Rahmen eines Blogartikels einmal genauer zu widmen.

Was verbirgt sich hinter der Shopware SaaS-Lösung? 

Die Abkürzung SaaS steht für Software-as-a-Service. Bei dieser Art von Lösungen kümmert sich der jeweilige Anbieter um alle Aspekte der Softwarebereitstellung, von den Anwendungen selbst über die Art und Weise der Datennutzung bis hin zu automatischen Updates. Der letztgenannte Punkt birgt aber auch ein gewisses Risiko: durch das automatische Aktualisieren der Software auf die jeweils neuste Version ist es möglich, dass hierdurch inkompatible Erweiterungen automatisch deaktiviert werden und dadurch Funktionen bei der Software nicht mehr zur Verfügung stehen. Diese müssten dann im Anschluss, insofern ein Update für die Erweiterung zur Verfügung steht, manuell aktualisiert und wieder aktiviert werden.

Die SaaS-Lösung verfolgt den sogenannten "No-Code-Ansatz", der es Shopbetreibern und auch Entwicklern ermöglicht, die Software über eine visuelle, benutzerfreundliche Oberfläche (im Fall von Shopware über die Administration) anstelle der herkömmlichen Programmierung zu erstellen, anzupassen und zu verwalten. Gleichzeitig ist sie aber auch begrenzt in Bezug auf den Funktionsumfang und in der Möglichkeit individueller Anpassungsmöglichkeiten.

Speziell beim Einstieg in den E-Commerce kommt kostentechnisch nahezu kein anderes Betriebsmodell an SaaS-Lösungen heran, im zeitlichen Verlauf können sie aber durchaus teurer als eine selbst gehostete Variante werden. Da neben der monatlichen Gebühr oft auch eine Umsatzbeteiligung gezahlt werden muss, steigen bei höheren Umsätzen auch automatisch die monatlichen Kosten an. 

Für die SaaS-Lösung arbeitet Shopware eng mit Amazon Web Services (AWS) als Hosting-Partner zusammen. Bei den Themen Sicherheit und DSGVO geht AWS als Hosting-Partner dabei nach dem Modell der geteilten Verantwortung vor: Softwareanbieter wie Shopware sind für die Datensicherheit in der Cloud verantwortlich, während AWS für die Datensicherheit der Cloud selbst verantwortlich ist. 

Worin bestehen die Hauptunterschiede zur selbst gehosteten Lösung? 

Bei der selbst gehosteten beziehungsweise sogenannten On-Premise-Lösung ist man selbst für das Hosting verantwortlich, man kümmert sich also auch um den Server und dessen Konfiguration, der Hersteller liefert nur die Software. Damit steht einem aber auch die Möglichkeit offen, sich den für sich besten Hosting-Anbieter zu suchen oder den Shop bei sich selbst zu betreiben. Das Einspielen von Updates liegt ebenso in den eigenen Händen, wodurch man das System auch so nutzen kann, wie es ist, ohne es zwangsweise regelmäßig aktualisieren lassen zu müssen. Dies kann gerade beim Einsatz von Drittanbieter-Erweiterungen von Vorteil sein. Zudem ist es durch das Shopware 6 Sicherheits-Plugin jederzeit möglich, Sicherheitslücken, die in neueren Versionen durch einen entsprechenden Fix geschlossen wurden, auch ohne ein Major-Update der eigenen Shop-Umgebung zu schließen.

Darüber hinaus hat die selbst gehostete Lösung gerade bei hohen Anforderungen in Bezug auf Skalierbarkeit und Sicherheit klar die Nase vorn. Die Software ist in dieser Variante nahezu grenzenlos anpassbar, da man beispielsweise auch Zugriff auf den PHP-Code des Backends hat und diesen anpassen oder ersetzen kann.

Für die Einhaltung der DSGVO ist in diesem Fall das jeweilige Unternehmen selbst verantwortlich und bestimmt somit auch selbst, wo der Shop und die dazugehörigen Daten gespeichert werden.

Welche Lizenzen beziehungsweise Editionen können in der Shopware SaaS-Lösung genutzt werden? 

Insofern man sich für Shopware SaaS entschieden hat, kann man nur die 3 kommerziellen Editionen nutzen, also "Rise", "Evolve" oder "Beyond". Die Community Edition steht in diesem Fall nicht zur Verfügung.

Lässt sich der Shop in der Cloud auch ausserhalb der Möglichkeiten in der Administration anpassen? 

Wie bei der selbst gehosteten Lösung erfolgt die grundlegende Gestaltung des Shops, zum Beispiel das Festlegen von Farben, Schriftarten oder Logos, innerhalb der Administration von Shopware 6. Auch das Layout des Shops kann über die sogenannten Erlebniswelten individuell aufgebaut und variiert werden - sowohl für Kategorien, Shopseiten (wie Impressum, AGB und Datenschutz), Landingpages als auch Produktseiten.

Die Erweiterung eines Cloud-Shops ist, ähnlich wie bei der selbst gehosteten Lösung, über Apps gelöst. Die sogenannten "Cloud Apps" werden von Herstellern über den Shopware Store, der dazu auch in der Shopware Administration verfügbar ist, angeboten. Eine Cloud App wird außerhalb von Shopware ausgeführt, in der Regel auf einem anderen Server. Dadurch besteht für diese Art von Apps keine Möglichkeit für den Zugriff auf die interne Funktionalität oder den Quellcode von Shopware. Sie sind dazu konzipiert, Shopware anzupassen, ohne die eigentliche Funktionsweise von Shopware zu verändern. Sie nutzen stattdessen Ereignisse (sogenannte Events), Webhooks und die REST API, um mit Shopware zu interagieren. Technisch ausgedrückt handelt es sich bei einem Webhook um eine HTTP-Callback- oder HTTP-POST-Anforderung, die durch eine Ereignisbenachrichtigung ausgelöst wird.

Ein Vorteil der Cloud Apps ist es, dass sie auch problemlos in einer selbst gehosteten Lösung funktionieren. Dies erleichtert den Wechsel von der Cloud- zu einer selbst gehosteten Lösung, da in diesem Punkt dann keine Anpassungen oder Neuentwicklungen nötig wären.

Im Gegensatz dazu können mit den sogenannten self-managed Apps die vollen Möglichkeiten von Symfony Bundles ausgeschöpft und dadurch auch Funktionalitäten implementiert werden, die das Verhalten von Shopware radikal ändern oder sogar Teile komplett ersetzen.

Wie ist eine Cloud App aufgebaut und was ist mit ihr möglich? 

Der Einstiegspunkt einer Cloud App ist die sogenannte Manifest-Datei (die manifest.xml). Dies ist ein XML-Dokument, dass die Metadaten der App enthält und in dem unter anderem auch festgelegt wird, mit welchem Server Shopware kommunizieren muss und wann. Die Kommunikation erfolgt über eine sogenannte Definitionsliste, die bestimmt, bei welchem Event welche URL aufgerufen werden soll. Ein Beispiel-Event wäre "checkout.order.placed" - jedes Mal, wenn dieses Event in Shopware ausgeführt wird, ruft Shopware die konfigurierte URL der App auf und übergibt die zu dem Event gehörigen Daten. Die App empfängt die Daten, führt die programmierte Logik aus und kann dann, abhängig vom Event, einen Webhook in der Shopware-Instanz aufrufen, um beispielsweise eine Rückmeldung zu geben.

Neben der Manifest-Datei bestehen Cloud Apps noch aus Template-, JavaScript- und SASS-Dateien. Darüber sind zum Beispiel Änderungen von Frontenddarstellungen wie das Hinzufügen einer weiteren Schaltfläche oder das Darstellen App-eigener Daten im Backend mittels iFrames möglich. Die sogenannten "App Scripts" bieten darüber hinaus die Möglichkeit, beispielsweise Datenbankabfragen in Template-Dateien zu erstellen, um auf ein Event zu hören und im Anschluss Datenbankinhalte auszulesen oder Daten zu schreiben. Eigene URL-Endpunkte können darüber auch definiert werden. Wenn sich mit all diesen Möglichkeiten die gewünschten Funktionalitäten trotzdem noch nicht vollständig abbilden lassen, wird zusätzlich ein App-Server benötigt, auf dem die Logik ausgelagert ausgeführt und die Funktion per API angesprochen wird.

Kann man auch selbst Cloud Apps entwickeln, die nur im eigenen Cloud-Shop verfügbar sind? 

Damit Cloudnutzer nicht darauf angewiesen sind, dass es für ihre gewünschte Funktion im Shopware Store auch eine passende Cloud App gibt, ist es möglich, im eigenen Cloud-Shop private Apps hochzuladen. Privat steht in diesem Kontext dafür, dass die App nur bei einem selbst vorhanden und nicht über den Shopware Store beziehbar ist. Diese Art von Apps werden im Standardfall in einer lokalen Instanz entwickelt und die daraus resultierenden Dateien als ZIP-Datei verpackt. Im Anschluss wird die erzeugte Datei im Cloud-Shop unter "Erweiterungen" und "Meine Erweiterungen" über die Schaltfläche "Erweiterung hochladen" hochgeladen, sodass die App danach nur noch aktiviert werden muss. Der Vorteil besteht vor allem darin, dass sie recht schnell im eigenen Cloud-Shop verfügbar sind, da sie nicht den aufwendigen Shopware-Review-Prozess durchlaufen müssen, zudem auch kein Support auslösen und auch keine monatlichen Gebühren nach sich ziehen.

Welche der beiden vorgestellten Lösungen passt für mein Projekt am besten? 

Als zertifizierter Shopware Gold Partner speziell auch für Shopware 6 unterstützen und beraten wir Sie dazu gern.


Weiterführende Inhalte zum Thema


Zum nächsten Artikel der Serie

< zur Übersicht