Cloud-Infrastruktur
Dieses Diagramm beschreibt die Architekturdetails von a einfach oder dynamisch Website, die Amazon Web Services (AWS) als Cloud-Infrastrukturanbieter nutzt. Es erklärt die verschiedenen Komponenten Ihrer Infrastruktur und zeigt, wie der Client mit Ihrer App interagiert und wie Ihre App mit den Diensten von Drittanbietern kommuniziert.
( Diagramm Herunterladen: PDF, SVG, JPG und VSDX)
Lassen Sie uns etwas tiefer in die verschiedenen Komponenten des Diagramms eintauchen und verstehen, wie die Einrichtung insgesamt funktioniert, um dem Benutzer ein nahtloses Erlebnis zu bieten.
Cloud-Infrastruktur
Hier laufen Microservices, Firewalls, Front-End-Server und andere Dienste. Um es besser zu verstehen, unterteilen wir diese Infrastruktur weiter in die folgenden Komponenten:
- Bereitstellungspipeline: Entwickler, die ihren Code bereitstellen möchten, verwenden die dedizierte Entwicklungspipeline für eine effiziente Codeverwaltung. Alle Code-Änderungen werden an diese Pipeline weitergeleitet, wo sie warten, bis sie von respektierten Knotenanwendungen im privaten Subnetz abgeholt werden.
- Isolierte Wolke: Dieser Teil der Cloud-Infrastruktur ist nicht dem Internet ausgesetzt. Es handelt sich um die interne Infrastruktur von Contentstack, in der alle Dienste ausgeführt werden und miteinander kommunizieren. Schauen wir uns seine internen Komponenten an:
- Verfügbarkeitszonen: Innerhalb der isolierten Cloud gibt es mehrere Verfügbarkeitszonen, die die ständige Verfügbarkeit der Dienste gewährleisten. Jede Verfügbarkeitszone (AZ) kann mehrere private Subnetze haben. Es handelt sich auch um eine automatisch skalierende Gruppe, um die Infrastruktur bei Bedarf zu skalieren.
- Microservices: Jedes private Subnetz innerhalb der AZ verfügt über Contentstack-interne Microservices. Sie führen auf Wunsch die erforderlichen Eingriffe durch.
- Load Balancer: Das öffentliche Subnetz oder die "demilitarisierte Zone (DMZ)" verfügt über Load Balancer, die dazu beitragen, den Netzwerkverkehr in das private Subnetz zu leiten. Sie ermöglicht einen begrenzten Zugriff auf die privaten Subnetze von Contentstack aus dem Internet, um die Sicherheit der Dienste vor Ort zu gewährleisten.
- Web Application Firewall: Dies ist die erste Verteidigungslinie (Application Firewall), die bei der Überwachung, Filterung und Blockierung von Datenpaketen hilft, während sie zwischen dem Internet und der privaten Cloud von Contentstack übertragen werden.
- Internet-Gateway: Um Zugriff auf den gesamten Netzwerkverkehr zu erhalten, der in die private Cloud gelangt, können Sie ein Internet-Gateway einrichten. Der Netzwerkverkehr wird von der Firewall gefiltert und nur erlaubte Anfragen dürfen in das Netzwerk gelangen.
- Verwaltete Dienstleistungen: Um die Verwaltung Ihrer Infrastruktur zu vereinfachen, können Sie verschiedene Dienste und Tools einrichten, die als "verwaltete Dienste" bezeichnet werden. In Contentstack werden die Webhook-Verwaltung und die CDN-Bereinigung über verwaltete Dienste abgewickelt, da sie einen anderen Mechanismus für die Abwicklung der mit diesen Diensten verbundenen Vorgänge erfordern.
- Webhook: Webhooks werden verwendet, um eine Benachrichtigung auszulösen, wenn Inhalte in Contentstack aktualisiert werden. Durch die Programmierung nach unseren Anforderungen können Sie Webhooks verwenden, um Microservices innerhalb der Contentstack-App oder andere Dienste von Drittanbietern zu benachrichtigen, damit diese die erforderlichen Vorgänge durchführen.
- Anwendungsgateway: Sie können ein Anwendungsgateway einrichten, um den Datenverkehr zwischen Ihrer Contentstack-App und der Infrastruktur zu verwalten.
- CDN-Löschung: Hier wird der Caching-Mechanismus ausgeführt, um den CDN-Cache zu leeren, wenn die Caching-Anfrage eingeht.
Lassen Sie uns etwas tiefer in die verschiedenen Komponenten des Diagramms eintauchen und verstehen, wie die Einrichtung insgesamt funktioniert, um dem Benutzer ein nahtloses Erlebnis zu bieten.
CDN-Schicht (Inhalt Bereitstellung Netzwerk).
- Ein CDN ist für die Bearbeitung von Benutzeranfragen über Caches verantwortlich. Sie können einen CDN-Dienst wie Fastly nutzen, um Ihren Kunden Inhalte schnell bereitzustellen.
- Alle Benutzeranfragen gehen zuerst an das CDN. Wenn der Cache des angeforderten Inhalts vorhanden ist, übermittelt er ihn an den Client. Andernfalls wird die App aufgefordert, aktualisierte Inhalte bereitzustellen.
- Es reduziert auch die Belastung des Servers, da der Inhalt über den Cache bereitgestellt wird, anstatt jedes Mal Inhalte aus Ihrer App abrufen zu müssen.
- Sie können Load Balancer einrichten, um unerwünschte Anfragen herauszufiltern und den Netzwerkverkehr und Reverse-Proxy (zur Maskierung) zwischen dem CDN und der Headless-Infrastruktur zu verwalten.
Funktionsweise der Einrichtung der Cloud-Infrastruktur
Um zu verstehen, wie das System oder die Architektur funktioniert, unterteilen wir die Funktionsweise in drei Abschnitte:
- Entwickler, der den Code bereitstellt
- Regelmäßiger Benutzer, der den Inhalt konsumiert
- Contentstack-App greift auf die Infrastruktur zu
Entwickler stellt den Code bereit
Wann immer es eine Änderung im Code gibt, wird diese wie folgt verwaltet:
- Der Entwickler schreibt den Code und schiebt ihn in die Entwicklungspipeline.
- Gemäß dem Diagramm ist die Entwicklungspipeline mit dem Node-Worker (bei dem es sich um eine Express.js-App oder eine mit Contentstack Datasync erstellte App handeln kann) im privaten Subnetz verbunden. Der Node-Worker holt dann den Code ab und lässt ihn bereitstellen.
- Die Entwickler möchten zeitweise den Cache im CDN leeren. Die Entwicklungspipeline ist mit CDN Purge in Managed Services verbunden. Daher wird ein Purge-Webhook ausgelöst, um das Löschen des Caches einzuleiten.
- Sobald die Änderungen gepusht wurden, führt der CDN-Bereinigungsmechanismus die Anfrage aus und aktualisiert das CDN (Fastly oder CloudFront).
Regelmäßiger Benutzer, der den Inhalt konsumiert
Wenn ein Benutzer eine Seite über das Frontend anfordert, ist die Ereigniskette unten aufgeführt:
- Der Benutzer stellt eine Anfrage für eine Seite. Wenn es im CDN-Cache verfügbar ist, wird es dem Benutzer sofort zugestellt.
- Befindet sich die angeforderte Seite nicht im Cache, leitet das CDN die Anfrage an den Ursprungsserver weiter.
- Diese Anfrage trifft dann auf die Firewall und erst wenn die WAF bestätigt, dass es sich um eine legitime Anfrage vom CDN handelt, leitet sie sie an den Load Balancer weiter.
- Der Load Balancer identifiziert einen fehlerfreien (funktionsfähigen) und verfügbaren Knoten, der diese Anfrage verarbeiten kann. Nachdem der Knoten identifiziert wurde, leitet er diese Anfrage an ihn weiter.
- Dieser bestimmte Knoten ergreift dann die erforderlichen Maßnahmen und sendet die angeforderte Seite zurück.
- Die Seite wird dann über den Ursprungsserver zum Benutzer abgerufen, das CDN wird gelöscht und die übermittelte Seite wird im CDN zwischengespeichert.
Contentstack-App greift auf die Infrastruktur zu
Während der Arbeit mit der Contentstack App und wenn Änderungen am Inhalt vorgenommen werden, treten folgende Ereignisse auf:
- Wenn Aktualisierungen vorgenommen oder Inhalte in Contentstack veröffentlicht werden, löst ein Mechanismus einen Webhook aus.
- Der Webhook ruft dann einen bestimmten Endpunkt in der Infrastruktur auf, nämlich das Application Gateway, und informiert ihn darüber, dass in Contentstack ein Ereignis aufgetreten ist.
- Das Application Gateway leitet diesen Aufruf dann weiter und informiert die Anwendung, die im privaten Subnetz ausgeführt wird, darüber, dass etwas in Contentstack veröffentlicht wird.
- Die Microservices im privaten Subnetz holen oder ziehen die Daten über einen festgelegten Mechanismus aus dem Contentstack.
Verwalten von Diensten Dritter
Durch die Integration anderer Drittanbieteranwendungen mit Contentstack können Sie die Funktionalität Ihres CMS erweitern. Sie können verschiedene Apps von Drittanbietern mit Contentstack verbinden, wie in der obigen Architektur gezeigt.
Im Folgenden haben wir einige der beliebten Drittanbieter-Apps und ihre Interaktionen mit Contentstack besprochen, um den Ablauf zu verstehen.
- Marketo-Formulare: Marketo Forms hilft Ihnen bei der Erstellung von Marketingformularen, beispielsweise für eine Produktkampagne.
- Sie können es als benutzerdefiniertes Feld in Ihrem Inhaltstyp mit Contentstack verbinden. Dies ermöglicht Einträge, die Liste der verfügbaren Formulare anzuzeigen, aus denen der Benutzer jedes beliebige Formular auswählen kann.
- Dieses Formular wird für den Benutzer im Frontend sichtbar. Wenn die Seite im Frontend geladen wird, wird auch das Formular über einen eingebetteten Code geladen.
- Wenn der Benutzer die Daten im Formular über einen Browser ausfüllt, werden die Daten dem Marketo-Formular hinzugefügt.
- Durch die Integration von Marketo Forms mit Contentstack als benutzerdefiniertes Feld wird es einfacher, Formulare zu identifizieren, die an einen Eintrag der Seite angehängt sind.
-
Okta: Okta bietet Single Sign-On (SSO)-Dienste, die Ihnen und Ihren Teammitgliedern den Zugriff auf Unternehmensanwendungen wie Contentstack ermöglichen.
- Sie können Okta problemlos in Contentstack integrieren, um über Okta eine einmalige Anmeldung bei Ihrem CMS bereitzustellen.
- Wenn ein Benutzer auf Contentstack zugreifen möchte (über Anmeldeinformationen), wird die Anfrage über Okta an Contentstack weitergeleitet.
- Okta fordert Contentstack auf, diesem bestimmten Benutzer Zugriff zu gewähren.
- Contentstack sendet nach der Validierung des Benutzers ein Token an Okta, mit dem der Benutzer Zugriff auf Contentstack erhält.
- commercetools: commercetools kann als benutzerdefiniertes Feld in Contentstack integriert werden.
- Die Interaktion erfolgt so, dass Contentstack die Beschreibung und Bilder für jedes Produkt verwaltet.
- Sie können in commercetools weitere Produktdetails wie Preis und Produkt-IDs hinzufügen.
- Der Benutzer kann dann dieses benutzerdefinierte Commercetools-Feld verwenden, um Produktdetails von Contentstack abzurufen, und Preisdetails und Transaktionen können über CommerceTools abgewickelt werden.
-
Brightcove: Brightcove kann als benutzerdefiniertes Feld in Contentstack integriert werden, um Videos für Ihre Seiten in Contentstack zu verwalten.
- Mithilfe des benutzerdefinierten Brightcove-Felds können Sie Videos aus der Brightcove-Videobibliothek in den Eintrag Ihres Inhaltstyps einfügen.
- Anschließend kann der Nutzer die Videos aus der Bibliothek holen und in das Feld seines Eintrags einfügen.
-
Speicherquelle: Memsource kann in Contentstack integriert werden, um Benutzern die Übersetzung von Inhalten in eine Sprache ihrer Wahl zu ermöglichen.
- Sie können in Contentstack lokale Einträge erstellen und die lokalisierten Einträge speichern.
- Wenn Memsource in Contentstack integriert ist, wird es über einen Webhook darüber benachrichtigt. Anschließend ruft es den Inhalt von Contentstack ab und führt die Inhaltsübersetzung in die erforderliche Sprache durch.
- Sobald die Übersetzung abgeschlossen ist, sendet es den übersetzten Inhalt zurück an Contentstack, der im Eintrag in Contentstack angezeigt werden kann.
-
Dynamic Yield: Sie können die Personalisierung implementieren, indem Sie einen Dienst wie Dynamic Yield mit Contentstack als Dashboard-Erweiterung integrieren.
- Dynamic Yield ruft den Inhalt von Contentstack ab und führt verschiedene Experimente mit Ihrem Inhalt durch.
- Die Ergebnisse dieser Experimente werden an Contentstack zurückgesendet, wo sie in Ihrem Contentstack Dashboard angezeigt werden können.
- Diese Experimentdaten werden dann über das Internet-Gateway an andere Dienste Dritter weitergeleitet.
-
Bynder: Für Digital Asset Management können Sie einen Dienst wie Bynder mit Contentstack als benutzerdefiniertes Feld integrieren.
- Mithilfe des benutzerdefinierten Bynder-Felds können Sie Assets aus der Bynder-Bild- oder Asset-Bibliothek in den Eintrag Ihres Inhaltstyps einfügen.
- Anschließend kann der Benutzer die Assets aus der Bibliothek holen und in das Feld seines Eintrags einfügen.
-
Algolia: Sie können einen Suchdienst wie Algolia in Contentstack integrieren, um Suchvorgänge auf Ihrer Contentstack-basierten Website durchzuführen.
- Es hilft beim Crawlen der Daten (Datenindizierung), um den aktualisierten Inhalt in seinen Datenbanken hinzuzufügen.
- Der Benutzer initiiert über einen Browser oder ein mobiles Gerät eine suchen . Diese Anfrage wird von Algolia angenommen und ruft dann die erforderlichen Ergebnisse ab und zeigt sie dem Benutzer an.
-
Google Analytics: Sie können Google Analytics als Dashboard-Erweiterung oder als benutzerdefinierte Sidebar-Erweiterung in Contentstack integrieren.
- Google Analytics verfolgt das Nutzerverhalten oder die Aktionen auf Ihrer Website. Es sammelt nützliche Daten für Ihre Seiten und stellt die Experimentdaten auf Ihrem Dashboard oder auf der Einstiegsseite in Contentstack bereit.
- Wenn Sie es als Custom Sidebar Extension integriert haben, zeigt es die Analyse der Seite auf der jeweiligen Einstiegsseite in Contentstack an.
- Wenn es als Dashboard-Erweiterung integriert ist, können Sie die Analysen ebenfalls in Ihrem Stack-Dashboard sehen.
Weiter Schritte
Mehr Architekturdiagramme
- Einfache Website Architektur
- Statische Website Architektur
- Dynamische Website Architektur
- Teilweise Headless-Setup-Architektur
- Mehrschichtige Architektur für Contentstack-basierte Websites
- MACH-Systemarchitektur
- Einfache Website mit DataSync
- Systemarchitektur für Mobiltelefon und intelligente Geräte