Starter-Architektur

Ihre Starterarchitektur für die Adobe Commerce auf Cloud-Infrastruktur unterstützt bis zu vier Umgebungen, einschließlich einer master, die den anfänglichen Projekt-Code, die Staging-Umgebung und bis zu zwei Integrationsumgebungen enthält.

Alle Umgebungen befinden sich in PaaS-Containern (Platform as a Service). Diese Container werden in stark eingeschränkten Containern auf einem Raster von Servern bereitgestellt. Diese Umgebungen sind schreibgeschützt und akzeptieren bereitgestellte Code-Änderungen von Verzweigungen, die aus Ihrem lokalen Arbeitsbereich gepusht werden. Jede Umgebung stellt eine Datenbank und einen Webserver bereit.

Sie können eine beliebige Entwicklungs- und Verzweigungsmethode verwenden. Wenn Sie anfänglichen Zugriff auf Ihr Projekt erhalten, erstellen Sie eine staging Umgebung aus der master. Erstellen Sie dann die integration durch Verzweigen von staging.

Starter-Umgebungsarchitektur

Das folgende Diagramm zeigt die hierarchischen Beziehungen der Starter-Umgebungen.

Allgemeine Ansicht des Starter-Projekts

Produktionsumgebung

Die Produktionsumgebung stellt den Quell-Code bereit, um Adobe Commerce in der Cloud-Infrastruktur bereitzustellen, die Ihre öffentlichen Storefronts mit einer oder mehreren Sites ausführt. Die Produktionsumgebung verwendet Code aus der master Verzweigung, um den Webserver, die Datenbank, die konfigurierten Services und den Anwendungscode zu konfigurieren und zu aktivieren.

Da die production-Umgebung schreibgeschützt ist, verwenden Sie die integration-Umgebung, um Code-Änderungen vorzunehmen, sie in der gesamten Architektur von der integration bis zur staging und schließlich in der production-Umgebung bereitzustellen. Siehe Bereitstellen Ihres Stores und Site-Launch.

Adobe empfiehlt, das Testen vollständig in der staging-Verzweigung durchzuführen, bevor es zur master-Verzweigung übergeht, die in der production bereitgestellt wird.

Staging-Umgebung

Adobe empfiehlt, von master aus eine Verzweigung mit dem Namen staging zu erstellen. Die staging stellt Code in der Staging-Umgebung bereit, um eine Vorproduktionsumgebung zum Testen von Code, Modulen und Erweiterungen, Zahlungs-Gateways, Versand, Produktdaten und vielem mehr bereitzustellen. Diese Umgebung stellt die Konfiguration für alle Services bereit, die mit der Produktionsumgebung übereinstimmen, einschließlich Fastly, New Relic APM und Suche.

Weitere Abschnitte in diesem Handbuch enthalten Anweisungen für die Bereitstellung von endgültigem Code und das Testen von Interaktionen auf Produktionsebene in einer sicheren Staging-Umgebung. Um eine optimale Leistung und Funktionstests zu erzielen, replizieren Sie Ihre Datenbank in die Staging-Umgebung.

WARNING
Adobe empfiehlt, jede Händler- und Kundeninteraktion in der Staging-Umgebung zu testen, bevor sie in der Produktionsumgebung bereitgestellt werden. Siehe Bereitstellen des Stores und Testen der Bereitstellung.

Integrationsumgebung

Entwicklerinnen und Entwickler verwenden die integration Umgebung zum Entwickeln, Bereitstellen und Testen:

  • Adobe Commerce-Anwendungscode

  • Benutzerdefinierter Code

  • Erweiterungen

  • Dienste

Empfohlene Anwendungsfälle:

Integrationsumgebungen sind für eingeschränkte Tests und Entwicklung ausgelegt. Beispielsweise können Sie die Integrationsumgebung verwenden, um die folgenden Aufgaben auszuführen:

  • Sicherstellen, dass Änderungen an kontinuierlichen Integrationsprozessen (CI/CI) Cloud-kompatibel sind

  • Testen Sie kritische Workflows auf wichtigen Seiten wie Startseite, Kategorie, Produktdetailseite (PDP), Checkout und Admin.

Befolgen Sie die folgenden Best Practices, um eine optimale Leistung in der Integrationsumgebung zu erzielen:

  • Beschränken der Kataloggröße - Die Beispieldaten enthalten etwa 2.048 Produkte als Referenz. Reduzieren Sie Ihre Kataloggröße auf etwa 4.000-5.000 Produkte.
    Um die Anzahl der Produkte im Katalog zu überprüfen, führen Sie die folgende MySQL-Abfrage aus:

    code language-sql
    select distinct count(entity_id) from catalog_product_entity;
    
  • Verringern der Anzahl von Kundengruppen - Zu viele Kundengruppen können die Indizierungsleistung und die Gesamtleistung beeinträchtigen.

  • Verwendung auf einen oder zwei gleichzeitige Benutzer beschränken

  • Deaktivieren Sie Cron-Aufträge und führen Sie sie nach Bedarf manuell aus

Sie können über bis zu 2 aktive Integrationsumgebungen verfügen. Sie erstellen eine Integrationsumgebung, indem Sie eine Verzweigung aus der staging Verzweigung erstellen. Wenn Sie eine Integrationsumgebung erstellen, entspricht der Umgebungsname dem Zweignamen. Eine Integrationsumgebung umfasst einen Webserver und eine Datenbank. Es sind nicht alle Services enthalten, z. B. sind Fastly CDN und New Relic nicht verfügbar.

Sie können eine unbegrenzte Anzahl inaktiver Verzweigungen für die Code-Speicherung haben. Um auf eine inaktive Verzweigung zuzugreifen, sie anzuzeigen und zu testen, müssen Sie sie aktivieren

NOTE
Projekte, die vor dem 5. Juni 2020 bereitgestellt wurden, wiesen mehrere kleinere Integrationsumgebungen auf. Wenn Sie eine größere Integrationsumgebung für Tests und Entwicklung benötigen, fordern Sie ein Upgrade auf die erweiterte Integrationsumgebung an. Weitere Informationen finden Sie ArtikelIntegrationsumgebungsanfrage“ im Adobe Commerce Center.

Produktions- und Staging-Technologie-Stack

Die Produktions- und Staging-Umgebung umfasst die folgenden Technologien. Sie können diese Technologien über die .magento.app.yaml-Datei ändern und konfigurieren.

  • Fastly für HTTP-Caching und CDN
  • Nginx-Webserver, der mit PHP-FPM spricht, eine Instanz mit mehreren Workern
  • Redis-Server
  • Elasticsearch für die Katalogsuche für Adobe Commerce 2.2 bis 2.4.3-p2
  • OpenSearch für die Katalogsuche für Adobe Commerce 2.3.7-p3, 2.4.3-p2 und 2.4.4 und höher
  • Ausgangs-Filter (ausgehende Firewall)

Dienste

Adobe Commerce in Cloud-Infrastrukturen unterstützt derzeit die folgenden Services: PHP, MySQL (MariaDB), Elasticsearch (Adobe Commerce 2.2 bis 2.4.3-p2), OpenSearch (2.3.7-p3, 2.4.3-p2, 2.4.4 und höher), Redis und RabbitMQ.

Jeder Service wird in einem separaten, sicheren Container ausgeführt. Container werden im Projekt gemeinsam verwaltet. Einige Services sind standardmäßig, z. B. die folgenden:

  • HTTP-Router (Verarbeitung eingehender Anfragen, aber auch Caching und Weiterleitungen)

  • PHP-Anwendungsserver

  • Git

  • Secure Shell (SSH)

Software-Versionen

Adobe Commerce in der Cloud-Infrastruktur verwendet das Debian GNU/Linux-Betriebssystem und den NGINX-Webserver. Sie können diese Software nicht aktualisieren, aber Sie können Versionen für Folgendes konfigurieren:

In den Staging- und Produktionsumgebungen verwenden Sie Fastly für CDN und Caching. Die neueste Version der Fastly CDN-Erweiterung wird während der ersten Bereitstellung Ihres Projekts installiert. Sie können die Erweiterung aktualisieren, um die neuesten Fehlerbehebungen und Verbesserungen zu erhalten. Siehe Fastly CDN-Modul für Magento 2. Außerdem haben Sie Zugriff auf New Relic zur Leistungsüberwachung.

Verwenden Sie die folgenden Dateien, um die Softwareversionen zu konfigurieren, die Sie in Ihrer Implementierung verwenden möchten.

Sicherung und Notfallwiederherstellung

Sie können eine Sicherung Ihrer Datenbank und Ihres Dateisystems mithilfe der Cloud Console oder der CLI erstellen. Siehe Backup-Verwaltung.

Vorbereiten der Entwicklung

Im folgenden Workflow wird der Prozess zum Verzweigen des Codes sowie zum Entwickeln und Bereitstellen des Stores zusammengefasst:

  1. Einrichten der lokalen Umgebung

  2. Klonen Sie die master in Ihrer lokalen Umgebung

  3. Erstellen einer staging Verzweigung aus master

  4. Erstellen von Verzweigungen für die Entwicklung aus staging

  5. Pushen von Code an Git, das eine Umgebung erstellt und zum Testen bereitstellt

In den folgenden Abschnitten finden Sie detaillierte Anweisungen und Anleitungen zum Entwickeln, Testen und Bereitstellen Ihres Stores:

recommendation-more-help