Warum wir bei Onlineshops auf Shopware 6 in der Cloud setzen

23. November 2022

Shopware ist eine der weltweit führenden E-Commerce-Lösungen. Für viele Betreiber ist dabei das Hosting in der Cloud sinnvoll. Dominik Pretzsch, Head of E-Commerce & Cloud Solutions, erklärt, wie 3m5. in der Cloud Shopware 6-Shops optimiert.

Bei 3m5. ist Shopware seit Jahren das Shopsystem der ersten Wahl. Mit seiner 2019 veröffentlichten, komplett überarbeiteten Version 6 eröffnet es ganz neue Möglichkeiten:

  • für alle leicht bedienbar dank gut strukturiertem, umfangreichem Backend
  • gute Erweiterbarkeit
  • individuell anpassbar dank zahlreicher Schnittstellen und Plugins

Von null auf hundert in Sekunden

Dank moderner Cloud-Technologie ist es heutzutage möglich, einen Shop in einem Moment für einen Ansturm Hunderttausender Anfragen zu wappnen und nur Stunden oder Minuten später auf regulären Betrieb zurückzufahren. Das bietet Ihnen als Shopbetreibern den Vorteil, dass Sie sich nicht mit starren, entweder über- oder unterdimensionierten Ressourcen befassen müssen. Gleichzeitig werden die Kosten auf Sekunde und Megabyte genau berechnet.
 
Diese sogenannte Elastizität ist ein Vorteil, der mit konventionellem Hosting niemals erreichbar wäre. Hierzu ein Beispiel: Für die typische On-Premise Hosting-Lösung werden Last-Szenarien erarbeitet und die Anwendung auf Hosting-Hardware getestet, um die durchschnittliche Ressourcennutzung zu quantifizieren. Anschließend werden entsprechende Ressourcen bereitgestellt und die Anwendung betrieben, so dass der Shop im Durchschnitt genügend Ressourcen zur Verfügung hat. Gleichzeitig wird im Durchschnitt kein Geld für ungenutzte Kapazität verschwendet. Allerdings stehen bei Lastspitzen keine ausreichenden Puffer zur Verfügung. Das geht zulasten der Performance und wirkt sich negativ auf die Kundenzufriedenheit und den potenziellen Umsatz zu stark frequentieren Zeiten aus.

Wäre also die bessere Lösung, die Ressourcen nicht für den Durchschnittsfall zu dimensionieren, sondern für den Spitzenlastfall? Nein, denn dadurch verschwenden Sie schlimmstenfalls Geld für die Bereitstellung der meistens ungenutzten Ressourcen. Die durchschnittlich genutzte Kapazität kann in einem solchen Fall weniger als 15 Prozent der bereitgestellten Ressourcen betragen. Im On-Premise Hosting lässt sich dieses Problem nicht lösen.

Shopware 6 in der Cloud – die Vorteile

Cloud-Provider wie AWS, Azure und Google betreiben weltweit Rechenzentren mit enormen Ressourcen. Das führt zu Cost-at-Scale-Effekten, die für die überwiegende Mehrheit der Cloud-Kunden nicht erreichbar sind. Kunden können von den Cloud-Providern Ressourcen in nahezu beliebiger Größenordnung in Sekundenschnelle mieten und wieder beenden. Die Abrechnung erfolgt dabei feingranular auf die Sekunde und das Megabyte genau. Nicht genutzte oder beendete Cloud-Ressourcen kosten dabei nichts.

Dies ermöglicht die Echtzeit-Bereitstellung von Ressourcen genau in der Menge, die gerade benötigt wird. Cloud-Hosting erhöht so die Kundenzufriedenheit und das Ihr Return on investment (ROI) in gleicher Weise: Für jedes Szenario stehen exakt genügend Ressourcen bereit.

Skalierbarkeit und Elastizität

Dieses Verhalten ermöglicht zwei Grundsätze des Cloud Computing: Skalierbarkeit und Elastizität. Dabei bezieht sich Skalierbarkeit auf die Fähigkeit der Infrastruktur, sich auf eine steigende oder sinkende Arbeitslast einzustellen. Elastizität beschreibt die Fähigkeit, einen Ressourcenbedarf ohne Unter-/Überbereitstellung zu erfüllen. Der Hauptunterschied beider Elemente besteht darin, dass skalierbare Systeme nicht zwingend selbstständig herauf- oder herunterskalieren. Es geht lediglich darum, eine maximale Auslastung der Kapazität erreichen zu können. Elastische Systeme stellen sich im Gegensatz dazu auf die dynamische Veränderung des Ressourcenbedarfs ein und können diese adaptieren. Sie können also die Kapazität nicht nur erhöhen, sondern bei Bedarf auch reduzieren.

Zum Beispiel stellen wir die Shopware 6-Kernanwendung in der AWS-Cloud auf wenigen M6g.xlarge-Instanzen bereit. In einem Fall erhöhtem Ressourcenbedarfs wird die Anzahl der Instanzen durch Verwendung von AWS Spot Instances kurzfristig erhöht, um die durchschnittlich verteilte Last auf einem bedarfsgerechten Niveau zu halten. Sinkt der Ressourcenbedarf an die Infrastruktur, werden die zusätzlichen Instanzen innerhalb kurzer Zeit wieder beendet. Von der automatischen Erhöhung der Kapazität bis zur Einsatzbereitschaft einer neuen Instanz vergehen dabei weniger als zwei Minuten.

Shopware 6 als Cloud Workload

Einige unserer Kunden kommen mit einem konkreten Plan zu uns, ein bestehendes oder neues Projekt in der Cloud zu betreiben. Andere können wir, abhängig von der geplanten Ausrichtung ihres Projekts, davon überzeugen, dass die konkreten Anforderungen durch Verwendung von Cloud-Technologie kosten- und ressourceneffizient umzusetzen sind. Unsere Shopware 6-Projekte bilden dabei keine Ausnahme. Deshalb haben wir unser Shopware 6-Setup auf die Bereitstellung als Cloud-Workload optimiert.

Unsere Shopware 6-Projekte werden grundsätzlich basierend auf Docker-Containern bereitgestellt. Das ermöglicht uns die Verwendung der gleichen Umgebung von der Entwicklung bis zum Deployment auf dem Zielsystem. Dadurch können Fehler ausgeschlossen werden, die auftreten, wenn sich Entwicklungs- und Zielsystem unterscheiden. Gleichzeitig unterstützt eine Vielzahl von Cloud-nativen Technologien die Bereitstellung von Container-basierten Workloads. Dazu zählen beispielsweise AWS Fargate, AWS Elastic Container Server, AWS Elastic Kubernetes Service oder Azure Container Instances.

Dabei planen wir die Cloud-Architektur der Anwendung so, dass jeder Teil der verwendeten Infrastruktur sowohl skalierbar als auch elastisch ist. Zur Kostenoptimierung kommen beispielsweise AWS Spot Instances zum Einsatz. Sie bieten Cloud-Ressourcen zu sehr niedrigen Kosten. Die Architekturen sind dabei auf Robustheit ausgelegt und können den Ausfall einzelner Komponenten wie Containern immer auffangen. Solche Ausfälle werden automatisch behoben und führen in der Regel nicht zu Fehlverhalten im Shopsystem. Dadurch stellen wir gleichbleibend eine hohe Kundenzufriedenheit sicher.

Hohe Komplexität bei geringem Risiko

Die großen Cloud-Provider stellen mehrere Hundert verschiedene Dienste bereit. Diese sind oft untereinander vernetzt oder voneinander abhängig. Das sorgt dafür, dass die Einrichtung eines einzelnen Cloud-Dienstes wie AWS EC2 auch die (teilweise verdeckte) Konfiguration anderer Dienste wie AWS IAM notwendig macht. Das erschwert den Überblick über die tatsächlich verwendeten Dienste.

Um Auslieferung und Betrieb unserer Shopware 6-Shops zu optimieren, haben wir deshalb unsere Bereitstellungsprozesse automatisiert. Hierzu nutzen wir Technologien wie Terraform: Sie dokumentieren die gesamte Zielarchitektur einer Anwendung in Form von Quell-Code. Manuelle Eingriffe in die Cloud-Architektur sind dadurch so gut wie nicht notwendig. Die Verwendung und die Konfiguration jeglicher verwendeter Cloud-Dienste ist gleichzeitig vollständig dokumentiert und es kommt zu keinen verdeckten Abhängigkeiten. Die Architektur ist dadurch auch ohne Weiteres replizierbar und kann in mehreren Accounts, Regionen oder Stages in Sekunden wiederhergestellt werden.

Fazit

Die Verwendung von Cloud-Technologie ermöglicht es 3m5., Cloud-Architekturen zu planen, die den hohen qualitativen Anforderungen der Zukunft entsprechen. Dabei stellen wir ein hohes ROI sowie Sicherheit und Verfügbarkeit durch die geschickte Anwendung der Well Architected Richtlinien der Cloud-Provider sicher. Durch die Verwendung von Automatisierung – von den Build-Prozessen über die Continuous Integration bis hin zum Betrieb – garantieren wir die gleichbleibend hohe Qualität der durch uns betriebenen Anwendungen.

Unsere Kunden profitieren dabei von unserer Expertise in der Planung und dem Betrieb komplexer Cloud-basierter Projekte. Haben auch Sie eine konkrete Anforderung für ein Cloud-Projekt? Wir erarbeiten gern gemeinsam eine Lösung.

Autor

Dominik Pretzsch arbeitet seit 2016 bei 3m5. Er kümmert sich als Head of E-Commerce & Cloud Solutions um die effiziente Planung und Bereitstellung der Shop-Systeme und Cloud-Workloads unserer Kunden. Dominik ist zertifizierter Shopware- und Azure-Entwickler sowie AWS Cloud Solution Architect.

Autor des Beitrags
Dominik Pretzsch
Die meistgelesenen Artikel der letzten Monate